On 09/15/10 17:45, Paolo Bonzini wrote: > On 09/15/2010 02:23 PM, jes.soren...@redhat.com wrote: >> switch (*endptr++) { >> case 'K': >> case 'k': >> value<<= 10; >> break; >> case 0: >> + if (divider) { >> + value = 0; >> + break; >> + } >> case 'M': >> case 'm': >> value<<= 20; >> @@ -284,9 +306,12 @@ uint64_t strtobytes(const char *nptr, char **end) >> default: >> value = 0; >> } >> + if (divider) >> + value /= divider; >> > > This risks overflow if you do 1.00000000000000G or something similarly > braindead. Do we loathe floating point so much that you cannot use > strtod, like
Floating point is just plain wrong. If someone wants to do something like in your example they really ask for an error. Jes