Mercurial > gftp.yaz
diff lib/misc.c @ 289:5f66f09e5194
2003-10-17 Brian Masney <masneyb@gftp.org>
* lib/misc.c (insert_commas) - if _GNU_SOURCE is defined, instead of
using my builtin function for formatting numbers, use glibc's %'ld
(or %'lld) format to print the numbers out. This is more portable for
other locales.
author | masneyb |
---|---|
date | Sat, 18 Oct 2003 14:54:53 +0000 |
parents | 71d0098c3735 |
children | 6e255984c0b0 |
line wrap: on
line diff
--- a/lib/misc.c Sat Oct 18 14:42:17 2003 +0000 +++ b/lib/misc.c Sat Oct 18 14:54:53 2003 +0000 @@ -22,7 +22,33 @@ #include "gftp.h" #include "options.h" -/* FIXME - this isn't right for all locales. Use glib's printf instead */ +#ifdef _GNU_SOURCE + +char * +insert_commas (off_t number, char *dest_str, size_t dest_len) +{ + if (dest_str != NULL) + { +#if defined (_LARGEFILE_SOURCE) + g_snprintf (dest_str, dest_len, "%'lld", number); +#else + g_snprintf (dest_str, dest_len, "%'ld", number); +#endif + } + else + { +#if defined (_LARGEFILE_SOURCE) + dest_str = g_strdup_printf ("%'lld", number); +#else + dest_str = g_strdup_printf ("%'ld", number); +#endif + } + + return (dest_str); +} + +#else + char * insert_commas (off_t number, char *dest_str, size_t dest_len) { @@ -92,6 +118,7 @@ return (dest); } +#endif char * alltrim (char *str) @@ -356,6 +383,10 @@ printf ("%s\n", gftp_version); +#ifdef _GNU_SOURCE + printf ("#define _GNU_SOURCE\n"); +#endif + #ifdef _LARGEFILE_SOURCE printf ("#define _LARGEFILE_SOURCE\n"); #endif