Done, it is filed as bug #37264: https://savannah.gnu.org/bugs/index.php?37264
/Simon Lorenzo Bettini <[email protected]> writes: > Simon > > could you please file a bug report here? > > http://savannah.gnu.org/bugs/?group=gengetopt > > thanks in advance > Lorenzo > > On 09/03/2012 03:06 PM, Simon Josefsson wrote: >> Hi. In OATH Toolkit I started to use the 'longlong' feature recently, >> to be able to specify 64-bit integers. However I noticed that it >> doesn't really work well. There are two reasons for this: >> >> 1) The generated code use the HAVE_LONG_LONG pre-processor symbol to >> check whether 'long long' is available. I didn't have that symbol >> defined, I did have HAVE_LONG_LONG_INT defined via gnulib. This issue >> could be resolved with improved documentation, stating that you need to >> make sure HAVE_LONG_LONG is defined when building. >> >> 2) The generated code uses 'strtol' to convert values. This function >> does not handle larger values. The code looks like this: >> >> #ifdef HAVE_LONG_LONG >> if (val) *((long long int*)field) = (long long int) strtol (val, >> &stop_char, 0); >> #else >> if (val) *((long *)field) = (long)strtol (val, &stop_char, 0); >> #endif >> >> Changing 'strtol' to 'strtoll' works. I'm guessing platforms with 'long >> long' have 'strtoll' as well, but I can't guarantee it. >> >> /Simon >> >> _______________________________________________ >> Help-gengetopt mailing list >> [email protected] >> https://lists.gnu.org/mailman/listinfo/help-gengetopt >> _______________________________________________ Help-gengetopt mailing list [email protected] https://lists.gnu.org/mailman/listinfo/help-gengetopt
