String constructor bug

You are right. This is code from Arduino 0022

String::String( const unsigned long value, const int base )
{
  char buf[33];   
  ultoa(value, buf, 10);
  getBuffer( _length = strlen(buf) );
  if ( _buffer != NULL )
    strcpy( _buffer, buf );
}

Notice

ultoa(value, buf, 10);

Should be

ultoa(value, buf, base);