From 04077ff5c5f57dd8c55c47bfb80d551e594a525c Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 3 Sep 2010 23:03:14 -0400 Subject: [PATCH] More include cleanups --- glib/gconvert.c | 16 +- glib/gdataset.c | 11 +- glib/gdate.c | 10 +- glib/gdir.c | 4 +- glib/gfileutils.c | 4 +- glib/ghash.c | 5 +- glib/ghook.c | 8 +- glib/ghostutils.c | 11 +- glib/giochannel.c | 3 +- glib/gmain.c | 17 +- glib/gpoll.c | 2 +- glib/gqsort.c | 4 +- glib/gscanner.c | 27 +- glib/gshell.c | 9 +- glib/gstdio.c | 2 - glib/gstrfuncs.c | 1128 ++++++++++++++++++++++++++-------------------------- glib/gthreadpool.c | 7 +- glib/gtimer.c | 10 +- glib/gunicollate.c | 7 +- glib/guniprop.c | 6 +- 20 files changed, 672 insertions(+), 619 deletions(-) diff --git a/glib/gconvert.c b/glib/gconvert.c index 12c010d..e44a772 100644 --- a/glib/gconvert.c +++ b/glib/gconvert.c @@ -22,8 +22,6 @@ #include "config.h" -#include "glib.h" - #ifndef G_OS_WIN32 #include #endif @@ -32,10 +30,6 @@ #include #include -#include "gprintfint.h" -#include "gthreadprivate.h" -#include "gunicode.h" - #ifdef G_OS_WIN32 #include "win_iconv.c" #endif @@ -46,6 +40,16 @@ #undef STRICT #endif +#include "gconvert.h" + +#include "gprintfint.h" +#include "gslist.h" +#include "gstrfuncs.h" +#include "gtestutils.h" +#include "gthread.h" +#include "gthreadprivate.h" +#include "gunicode.h" + #include "glibintl.h" #if defined(USE_LIBICONV_GNU) && !defined (_LIBICONV_H) diff --git a/glib/gdataset.c b/glib/gdataset.c index 86970c9..b25f6f5 100644 --- a/glib/gdataset.c +++ b/glib/gdataset.c @@ -23,10 +23,10 @@ * Modified by the GLib Team and others 1997-2000. See the AUTHORS * file for a list of people on the GLib Team. See the ChangeLog * files for a list of changes. These files are distributed with - * GLib at ftp://ftp.gtk.org/pub/gtk/. + * GLib at ftp://ftp.gtk.org/pub/gtk/. */ -/* +/* * MT safe ; except for g_data*_foreach() */ @@ -34,8 +34,13 @@ #include -#include "glib.h" +#include "gdataset.h" + #include "gdatasetprivate.h" +#include "ghash.h" +#include "gquark.h" +#include "gtestutils.h" +#include "gthread.h" #include "glib_trace.h" /** diff --git a/glib/gdate.c b/glib/gdate.c index 01acbc4..60066ee 100644 --- a/glib/gdate.c +++ b/glib/gdate.c @@ -35,8 +35,6 @@ /* #define DEBUG_MSG(args) g_message args ; */ #endif -#include "glib.h" - #include #include #include @@ -46,6 +44,14 @@ #include #endif +#include "gdate.h" + +#include "gconvert.h" +#include "gmem.h" +#include "gstrfuncs.h" +#include "gtestutils.h" +#include "gthread.h" +#include "gunicode.h" GDate* g_date_new (void) diff --git a/glib/gdir.c b/glib/gdir.c index 7a1ad38..78b8661 100644 --- a/glib/gdir.c +++ b/glib/gdir.c @@ -34,9 +34,11 @@ #include #endif -#include "glib.h" #include "gdir.h" +#include "gconvert.h" +#include "gfileutils.h" +#include "gtestutils.h" #include "glibintl.h" diff --git a/glib/gfileutils.c b/glib/gfileutils.c index 820ed95..0bc4980 100644 --- a/glib/gfileutils.c +++ b/glib/gfileutils.c @@ -20,8 +20,6 @@ #include "config.h" -#include "glib.h" - #include #ifdef HAVE_UNISTD_H #include @@ -49,6 +47,8 @@ #define O_BINARY 0 #endif +#include "gfileutils.h" + #include "gstdio.h" #include "glibintl.h" diff --git a/glib/ghash.c b/glib/ghash.c index e5f9aff..e344676 100644 --- a/glib/ghash.c +++ b/glib/ghash.c @@ -32,7 +32,10 @@ #include /* memset */ -#include "glib.h" +#include "ghash.h" + +#include "gtestutils.h" + /** * SECTION: hash_tables diff --git a/glib/ghook.c b/glib/ghook.c index 39f36bb..1406b58 100644 --- a/glib/ghook.c +++ b/glib/ghook.c @@ -24,16 +24,18 @@ * Modified by the GLib Team and others 1997-2000. See the AUTHORS * file for a list of people on the GLib Team. See the ChangeLog * files for a list of changes. These files are distributed with - * GLib at ftp://ftp.gtk.org/pub/gtk/. + * GLib at ftp://ftp.gtk.org/pub/gtk/. */ -/* +/* * MT safe */ #include "config.h" -#include "glib.h" +#include "ghook.h" + +#include "gtestutils.h" /* --- functions --- */ diff --git a/glib/ghostutils.c b/glib/ghostutils.c index f6237b0..796d51c 100644 --- a/glib/ghostutils.c +++ b/glib/ghostutils.c @@ -21,16 +21,19 @@ #include "config.h" -#include "glib.h" -#include "glibintl.h" - #include +#include "ghostutils.h" + +#include "garray.h" +#include "gstring.h" +#include "gstrfuncs.h" +#include "glibintl.h" + /** * SECTION:ghostutils * @short_description: Internet hostname utilities - * @include: glib.h * * Functions for manipulating internet hostnames; in particular, for * converting between Unicode and ASCII-encoded forms of diff --git a/glib/giochannel.c b/glib/giochannel.c index 3d7df47..ea38813 100644 --- a/glib/giochannel.c +++ b/glib/giochannel.c @@ -42,10 +42,9 @@ #undef G_DISABLE_DEPRECATED -#include "glib.h" - #include "giochannel.h" +#include "gtestutils.h" #include "glibintl.h" diff --git a/glib/gmain.c b/glib/gmain.c index d87f820..933c04f 100644 --- a/glib/gmain.c +++ b/glib/gmain.c @@ -24,14 +24,15 @@ * Modified by the GLib Team and others 1997-2000. See the AUTHORS * file for a list of people on the GLib Team. See the ChangeLog * files for a list of changes. These files are distributed with - * GLib at ftp://ftp.gtk.org/pub/gtk/. + * GLib at ftp://ftp.gtk.org/pub/gtk/. */ -/* +/* * MT safe */ #include "config.h" +#include "glibconfig.h" /* Uncomment the next line (and the corresponding line in gpoll.c) to * enable debugging printouts if the environment variable @@ -48,8 +49,6 @@ #define _GNU_SOURCE /* for pipe2 */ -#include "glib.h" -#include "gthreadprivate.h" #include #include #include @@ -77,6 +76,16 @@ #include #endif +#include "gmain.h" + +#include "garray.h" +#include "giochannel.h" +#include "ghash.h" +#include "ghook.h" +#include "gqueue.h" +#include "gstrfuncs.h" +#include "gtestutils.h" +#include "gthreadprivate.h" /** * SECTION:main diff --git a/glib/gpoll.c b/glib/gpoll.c index 651392c..554e354 100644 --- a/glib/gpoll.c +++ b/glib/gpoll.c @@ -47,7 +47,6 @@ #define G_MAIN_POLL_DEBUG #endif -#include "glib.h" #include #include #include @@ -77,6 +76,7 @@ #include #endif /* G_OS_WIN32 */ +#include "gpoll.h" #ifdef G_MAIN_POLL_DEBUG extern gboolean _g_main_poll_debug; diff --git a/glib/gqsort.c b/glib/gqsort.c index 941a044..f0acecf 100644 --- a/glib/gqsort.c +++ b/glib/gqsort.c @@ -38,7 +38,9 @@ #include #include -#include "glib.h" +#include "gqsort.h" + +#include "gtestutils.h" /* Byte-wise swap two items of size SIZE. */ #define SWAP(a, b, size) \ diff --git a/glib/gscanner.c b/glib/gscanner.c index c4788e7..9191e8e 100644 --- a/glib/gscanner.c +++ b/glib/gscanner.c @@ -24,31 +24,34 @@ * Modified by the GLib Team and others 1997-2000. See the AUTHORS * file for a list of people on the GLib Team. See the ChangeLog * files for a list of changes. These files are distributed with - * GLib at ftp://ftp.gtk.org/pub/gtk/. + * GLib at ftp://ftp.gtk.org/pub/gtk/. */ -/* +/* * MT safe */ #include "config.h" -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include #ifdef HAVE_UNISTD_H -#include +#include #endif -#include "glib.h" -#include "gprintfint.h" - #ifdef G_OS_WIN32 -#include /* For _read() */ +#include /* For _read() */ #endif +#include "gscanner.h" + +#include "gprintfint.h" +#include "gstring.h" +#include "gtestutils.h" + /* --- defines --- */ #define to_lower(c) ( \ (guchar) ( \ diff --git a/glib/gshell.c b/glib/gshell.c index 39ebdb6..e6ecd6d 100644 --- a/glib/gshell.c +++ b/glib/gshell.c @@ -24,12 +24,11 @@ #include -#include "glib.h" - -#ifdef _ -#warning "FIXME remove gettext hack" -#endif +#include "gshell.h" +#include "gslist.h" +#include "gstring.h" +#include "gtestutils.h" #include "glibintl.h" /** diff --git a/glib/gstdio.c b/glib/gstdio.c index a2cd277..786275a 100644 --- a/glib/gstdio.c +++ b/glib/gstdio.c @@ -22,8 +22,6 @@ #define G_STDIO_NO_WRAP_ON_UNIX -#include "glib.h" - #include #include #include diff --git a/glib/gstrfuncs.c b/glib/gstrfuncs.c index 6c1166a..04f686b 100644 --- a/glib/gstrfuncs.c +++ b/glib/gstrfuncs.c @@ -8,7 +8,7 @@ * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public @@ -21,7 +21,7 @@ * Modified by the GLib Team and others 1997-2000. See the AUTHORS * file for a list of people on the GLib Team. See the ChangeLog * files for a list of changes. These files are distributed with - * GLib at ftp://ftp.gtk.org/pub/gtk/. + * GLib at ftp://ftp.gtk.org/pub/gtk/. */ /* @@ -30,7 +30,7 @@ #include "config.h" -#define _GNU_SOURCE /* For stpcpy */ +#define _GNU_SOURCE /* For stpcpy */ #include #include @@ -38,12 +38,13 @@ #include #include #include -#include /* For tolower() */ +#include /* For tolower() */ #if !defined (HAVE_STRSIGNAL) || !defined(NO_SYS_SIGLIST_DECL) #include #endif -#include "glib.h" +#include "gstrfuncs.h" + #include "gprintf.h" #include "gprintfint.h" #include "glibintl.h" @@ -84,9 +85,9 @@ const guint16 * const g_ascii_table = ascii_table_data; * @str: the string to duplicate * * Duplicates a string. If @str is %NULL it returns %NULL. - * The returned string should be freed with g_free() + * The returned string should be freed with g_free() * when no longer needed. - * + * * Returns: a newly-allocated copy of @str */ gchar* @@ -111,16 +112,16 @@ g_strdup (const gchar *str) * g_memdup: * @mem: the memory to copy. * @byte_size: the number of bytes to copy. - * + * * Allocates @byte_size bytes of memory, and copies @byte_size bytes into it * from @mem. If @mem is %NULL it returns %NULL. - * + * * Returns: a pointer to the newly-allocated copy of the memory, or %NULL if @mem * is %NULL. */ gpointer g_memdup (gconstpointer mem, - guint byte_size) + guint byte_size) { gpointer new_mem; @@ -145,18 +146,18 @@ g_memdup (gconstpointer mem, * If @str is less than @n bytes long the buffer is padded with nuls. * If @str is %NULL it returns %NULL. * The returned value should be freed when no longer needed. - * + * * * To copy a number of characters from a UTF-8 encoded string, use * g_utf8_strncpy() instead. * - * - * Returns: a newly-allocated buffer containing the first @n bytes - * of @str, nul-terminated + * + * Returns: a newly-allocated buffer containing the first @n bytes + * of @str, nul-terminated */ gchar* g_strndup (const gchar *str, - gsize n) + gsize n) { gchar *new_str; @@ -179,12 +180,12 @@ g_strndup (const gchar *str, * * Creates a new string @length bytes long filled with @fill_char. * The returned string should be freed when no longer needed. - * + * * Returns: a newly-allocated string filled the @fill_char */ gchar* -g_strnfill (gsize length, - gchar fill_char) +g_strnfill (gsize length, + gchar fill_char) { gchar *str; @@ -199,12 +200,12 @@ g_strnfill (gsize length, * g_stpcpy: * @dest: destination buffer. * @src: source string. - * + * * Copies a nul-terminated string into the dest buffer, include the * trailing nul, and return a pointer to the trailing nul byte. * This is useful for concatenating multiple strings together * without having to repeatedly scan for the end. - * + * * Return value: a pointer to trailing nul byte. **/ gchar * @@ -234,20 +235,20 @@ g_stpcpy (gchar *dest, * @format: a standard printf() format string, but notice * string precision pitfalls * @args: the list of parameters to insert into the format string - * - * Similar to the standard C vsprintf() function but safer, since it - * calculates the maximum space required and allocates memory to hold - * the result. The returned string should be freed with g_free() when + * + * Similar to the standard C vsprintf() function but safer, since it + * calculates the maximum space required and allocates memory to hold + * the result. The returned string should be freed with g_free() when * no longer needed. * - * See also g_vasprintf(), which offers the same functionality, but + * See also g_vasprintf(), which offers the same functionality, but * additionally returns the length of the allocated string. * * Returns: a newly-allocated string holding the result */ gchar* g_strdup_vprintf (const gchar *format, - va_list args) + va_list args) { gchar *string = NULL; @@ -262,16 +263,16 @@ g_strdup_vprintf (const gchar *format, * string precision pitfalls * @Varargs: the parameters to insert into the format string * - * Similar to the standard C sprintf() function but safer, since it - * calculates the maximum space required and allocates memory to hold - * the result. The returned string should be freed with g_free() when no + * Similar to the standard C sprintf() function but safer, since it + * calculates the maximum space required and allocates memory to hold + * the result. The returned string should be freed with g_free() when no * longer needed. - * + * * Returns: a newly-allocated string holding the result */ gchar* g_strdup_printf (const gchar *format, - ...) + ...) { gchar *buffer; va_list args; @@ -304,10 +305,10 @@ g_strdup_printf (const gchar *format, gchar* g_strconcat (const gchar *string1, ...) { - gsize l; + gsize l; va_list args; - gchar *s; - gchar *concat; + gchar *s; + gchar *concat; gchar *ptr; if (!string1) @@ -344,7 +345,7 @@ g_strconcat (const gchar *string1, ...) * @nptr: the string to convert to a numeric value. * @endptr: if non-%NULL, it returns the character after * the last character used in the conversion. - * + * * Converts a string to a #gdouble value. * It calls the standard strtod() function to handle the conversion, but * if the string is not completely converted it attempts the conversion @@ -356,12 +357,12 @@ g_strconcat (const gchar *string1, ...) * should you use this. Make sure that you don't pass strings such as comma * separated lists of values, since the commas may be interpreted as a decimal * point in some locales, causing unexpected results. - * + * * Return value: the #gdouble value. **/ gdouble g_strtod (const gchar *nptr, - gchar **endptr) + gchar **endptr) { gchar *fail_pos_1; gchar *fail_pos_2; @@ -381,13 +382,13 @@ g_strtod (const gchar *nptr, if (!fail_pos_1 || fail_pos_1[0] == 0 || fail_pos_1 >= fail_pos_2) { if (endptr) - *endptr = fail_pos_1; + *endptr = fail_pos_1; return val_1; } else { if (endptr) - *endptr = fail_pos_2; + *endptr = fail_pos_2; return val_2; } } @@ -397,14 +398,14 @@ g_strtod (const gchar *nptr, * @nptr: the string to convert to a numeric value. * @endptr: if non-%NULL, it returns the character after * the last character used in the conversion. - * + * * Converts a string to a #gdouble value. * * This function behaves like the standard strtod() function - * does in the C locale. It does this without actually changing - * the current locale, since that would not be thread-safe. + * does in the C locale. It does this without actually changing + * the current locale, since that would not be thread-safe. * A limitation of the implementation is that this function - * will still accept localized versions of infinities and NANs. + * will still accept localized versions of infinities and NANs. * * This function is typically used when reading configuration * files or other non-user input that should be locale independent. @@ -418,7 +419,7 @@ g_strtod (const gchar *nptr, * is returned (according to the sign of the value), and %ERANGE is * stored in %errno. If the correct value would cause underflow, * zero is returned and %ERANGE is stored in %errno. - * + * * This function resets %errno before calling strtod() so that * you can reliably detect overflow and underflow. * @@ -426,7 +427,7 @@ g_strtod (const gchar *nptr, **/ gdouble g_ascii_strtod (const gchar *nptr, - gchar **endptr) + gchar **endptr) { gchar *fail_pos; gdouble val; @@ -446,66 +447,66 @@ g_ascii_strtod (const gchar *nptr, decimal_point_len = strlen (decimal_point); g_assert (decimal_point_len != 0); - + decimal_point_pos = NULL; end = NULL; - if (decimal_point[0] != '.' || + if (decimal_point[0] != '.' || decimal_point[1] != 0) { p = nptr; /* Skip leading space */ while (g_ascii_isspace (*p)) - p++; - + p++; + /* Skip leading optional sign */ if (*p == '+' || *p == '-') - p++; - - if (p[0] == '0' && - (p[1] == 'x' || p[1] == 'X')) - { - p += 2; - /* HEX - find the (optional) decimal point */ - - while (g_ascii_isxdigit (*p)) - p++; - - if (*p == '.') - decimal_point_pos = p++; - - while (g_ascii_isxdigit (*p)) - p++; - - if (*p == 'p' || *p == 'P') - p++; - if (*p == '+' || *p == '-') - p++; - while (g_ascii_isdigit (*p)) - p++; - - end = p; - } + p++; + + if (p[0] == '0' && + (p[1] == 'x' || p[1] == 'X')) + { + p += 2; + /* HEX - find the (optional) decimal point */ + + while (g_ascii_isxdigit (*p)) + p++; + + if (*p == '.') + decimal_point_pos = p++; + + while (g_ascii_isxdigit (*p)) + p++; + + if (*p == 'p' || *p == 'P') + p++; + if (*p == '+' || *p == '-') + p++; + while (g_ascii_isdigit (*p)) + p++; + + end = p; + } else if (g_ascii_isdigit (*p) || *p == '.') - { - while (g_ascii_isdigit (*p)) - p++; - - if (*p == '.') - decimal_point_pos = p++; - - while (g_ascii_isdigit (*p)) - p++; - - if (*p == 'e' || *p == 'E') - p++; - if (*p == '+' || *p == '-') - p++; - while (g_ascii_isdigit (*p)) - p++; - - end = p; - } + { + while (g_ascii_isdigit (*p)) + p++; + + if (*p == '.') + decimal_point_pos = p++; + + while (g_ascii_isdigit (*p)) + p++; + + if (*p == 'e' || *p == 'E') + p++; + if (*p == '+' || *p == '-') + p++; + while (g_ascii_isdigit (*p)) + p++; + + end = p; + } /* For the other cases, we need not convert the decimal point */ } @@ -515,7 +516,7 @@ g_ascii_strtod (const gchar *nptr, /* We need to convert the '.' to the locale specific decimal point */ copy = g_malloc (end - nptr + 1 + decimal_point_len); - + c = copy; memcpy (c, nptr, decimal_point_pos - nptr); c += decimal_point_pos - nptr; @@ -530,33 +531,33 @@ g_ascii_strtod (const gchar *nptr, strtod_errno = errno; if (fail_pos) - { - if (fail_pos - copy > decimal_point_pos - nptr) - fail_pos = (char *)nptr + (fail_pos - copy) - (decimal_point_len - 1); - else - fail_pos = (char *)nptr + (fail_pos - copy); - } - + { + if (fail_pos - copy > decimal_point_pos - nptr) + fail_pos = (char *)nptr + (fail_pos - copy) - (decimal_point_len - 1); + else + fail_pos = (char *)nptr + (fail_pos - copy); + } + g_free (copy); - + } else if (end) { char *copy; - + copy = g_malloc (end - (char *)nptr + 1); memcpy (copy, nptr, end - nptr); *(copy + (end - (char *)nptr)) = 0; - + errno = 0; val = strtod (copy, &fail_pos); strtod_errno = errno; if (fail_pos) - { - fail_pos = (char *)nptr + (fail_pos - copy); - } - + { + fail_pos = (char *)nptr + (fail_pos - copy); + } + g_free (copy); } else @@ -582,8 +583,8 @@ g_ascii_strtod (const gchar *nptr, * @d: The #gdouble to convert * * Converts a #gdouble to a string, using the '.' as - * decimal point. - * + * decimal point. + * * This functions generates enough precision that converting * the string back using g_ascii_strtod() gives the same machine-number * (on machines with IEEE compatible 64bit doubles). It is @@ -594,8 +595,8 @@ g_ascii_strtod (const gchar *nptr, **/ gchar * g_ascii_dtostr (gchar *buffer, - gint buf_len, - gdouble d) + gint buf_len, + gdouble d) { return g_ascii_formatd (buffer, buf_len, "%.17g", d); } @@ -605,14 +606,14 @@ g_ascii_dtostr (gchar *buffer, * @buffer: A buffer to place the resulting string in * @buf_len: The length of the buffer. * @format: The printf()-style format to use for the - * code to use for converting. + * code to use for converting. * @d: The #gdouble to convert * * Converts a #gdouble to a string, using the '.' as * decimal point. To format the number you pass in * a printf()-style format string. Allowed conversion - * specifiers are 'e', 'E', 'f', 'F', 'g' and 'G'. - * + * specifiers are 'e', 'E', 'f', 'F', 'g' and 'G'. + * * If you just want to want to serialize the value into a * string, use g_ascii_dtostr(). * @@ -620,9 +621,9 @@ g_ascii_dtostr (gchar *buffer, */ gchar * g_ascii_formatd (gchar *buffer, - gint buf_len, - const gchar *format, - gdouble d) + gint buf_len, + const gchar *format, + gdouble d) { struct lconv *locale_data; const char *decimal_point; @@ -634,13 +635,13 @@ g_ascii_formatd (gchar *buffer, g_return_val_if_fail (buffer != NULL, NULL); g_return_val_if_fail (format[0] == '%', NULL); g_return_val_if_fail (strpbrk (format + 1, "'l%") == NULL, NULL); - + format_char = format[strlen (format) - 1]; - + g_return_val_if_fail (format_char == 'e' || format_char == 'E' || - format_char == 'f' || format_char == 'F' || - format_char == 'g' || format_char == 'G', - NULL); + format_char == 'f' || format_char == 'F' || + format_char == 'g' || format_char == 'G', + NULL); if (format[0] != '%') return NULL; @@ -649,11 +650,10 @@ g_ascii_formatd (gchar *buffer, return NULL; if (!(format_char == 'e' || format_char == 'E' || - format_char == 'f' || format_char == 'F' || - format_char == 'g' || format_char == 'G')) + format_char == 'f' || format_char == 'F' || + format_char == 'g' || format_char == 'G')) return NULL; - _g_snprintf (buffer, buf_len, format, d); locale_data = localeconv (); @@ -668,35 +668,35 @@ g_ascii_formatd (gchar *buffer, p = buffer; while (g_ascii_isspace (*p)) - p++; + p++; if (*p == '+' || *p == '-') - p++; + p++; while (isdigit ((guchar)*p)) - p++; + p++; if (strncmp (p, decimal_point, decimal_point_len) == 0) - { - *p = '.'; - p++; - if (decimal_point_len > 1) + { + *p = '.'; + p++; + if (decimal_point_len > 1) { - rest_len = strlen (p + (decimal_point_len-1)); - memmove (p, p + (decimal_point_len-1), rest_len); - p[rest_len] = 0; - } - } + rest_len = strlen (p + (decimal_point_len-1)); + memmove (p, p + (decimal_point_len-1), rest_len); + p[rest_len] = 0; + } + } } - + return buffer; } static guint64 g_parse_long_long (const gchar *nptr, - const gchar **endptr, - guint base, - gboolean *negative) + const gchar **endptr, + guint base, + gboolean *negative) { /* this code is based on on the strtol(3) code from GNU libc released under * the GNU Lesser General Public License. @@ -704,40 +704,40 @@ g_parse_long_long (const gchar *nptr, * Copyright (C) 1991,92,94,95,96,97,98,99,2000,01,02 * Free Software Foundation, Inc. */ -#define ISSPACE(c) ((c) == ' ' || (c) == '\f' || (c) == '\n' || \ - (c) == '\r' || (c) == '\t' || (c) == '\v') -#define ISUPPER(c) ((c) >= 'A' && (c) <= 'Z') -#define ISLOWER(c) ((c) >= 'a' && (c) <= 'z') -#define ISALPHA(c) (ISUPPER (c) || ISLOWER (c)) -#define TOUPPER(c) (ISLOWER (c) ? (c) - 'a' + 'A' : (c)) -#define TOLOWER(c) (ISUPPER (c) ? (c) - 'A' + 'a' : (c)) +#define ISSPACE(c) ((c) == ' ' || (c) == '\f' || (c) == '\n' || \ + (c) == '\r' || (c) == '\t' || (c) == '\v') +#define ISUPPER(c) ((c) >= 'A' && (c) <= 'Z') +#define ISLOWER(c) ((c) >= 'a' && (c) <= 'z') +#define ISALPHA(c) (ISUPPER (c) || ISLOWER (c)) +#define TOUPPER(c) (ISLOWER (c) ? (c) - 'a' + 'A' : (c)) +#define TOLOWER(c) (ISUPPER (c) ? (c) - 'A' + 'a' : (c)) gboolean overflow; guint64 cutoff; guint64 cutlim; guint64 ui64; const gchar *s, *save; guchar c; - + g_return_val_if_fail (nptr != NULL, 0); - + *negative = FALSE; if (base == 1 || base > 36) { errno = EINVAL; if (endptr) - *endptr = nptr; + *endptr = nptr; return 0; } - + save = s = nptr; - + /* Skip white space. */ while (ISSPACE (*s)) ++s; if (G_UNLIKELY (!*s)) goto noconv; - + /* Check for a sign. */ if (*s == '-') { @@ -746,58 +746,58 @@ g_parse_long_long (const gchar *nptr, } else if (*s == '+') ++s; - + /* Recognize number prefix and if BASE is zero, figure it out ourselves. */ if (*s == '0') { if ((base == 0 || base == 16) && TOUPPER (s[1]) == 'X') - { - s += 2; - base = 16; - } + { + s += 2; + base = 16; + } else if (base == 0) - base = 8; + base = 8; } else if (base == 0) base = 10; - + /* Save the pointer so we can check later if anything happened. */ save = s; cutoff = G_MAXUINT64 / base; cutlim = G_MAXUINT64 % base; - + overflow = FALSE; ui64 = 0; c = *s; for (; c; c = *++s) { if (c >= '0' && c <= '9') - c -= '0'; + c -= '0'; else if (ISALPHA (c)) - c = TOUPPER (c) - 'A' + 10; + c = TOUPPER (c) - 'A' + 10; else - break; + break; if (c >= base) - break; + break; /* Check for overflow. */ if (ui64 > cutoff || (ui64 == cutoff && c > cutlim)) - overflow = TRUE; + overflow = TRUE; else - { - ui64 *= base; - ui64 += c; - } + { + ui64 *= base; + ui64 += c; + } } - + /* Check if anything actually happened. */ if (s == save) goto noconv; - + /* Store in ENDPTR the address of one character past the last character we converted. */ if (endptr) *endptr = s; - + if (G_UNLIKELY (overflow)) { errno = ERANGE; @@ -805,7 +805,7 @@ g_parse_long_long (const gchar *nptr, } return ui64; - + noconv: /* We must handle a special case here: the base is 0 or 16 and the first two characters are '0' and 'x', but the rest are no @@ -814,11 +814,11 @@ g_parse_long_long (const gchar *nptr, if (endptr) { if (save - nptr >= 2 && TOUPPER (save[-1]) == 'X' - && save[-2] == '0') - *endptr = &save[-1]; + && save[-2] == '0') + *endptr = &save[-1]; else - /* There was no number to convert. */ - *endptr = nptr; + /* There was no number to convert. */ + *endptr = nptr; } return 0; } @@ -853,8 +853,8 @@ g_parse_long_long (const gchar *nptr, */ guint64 g_ascii_strtoull (const gchar *nptr, - gchar **endptr, - guint base) + gchar **endptr, + guint base) { gboolean negative; guint64 result; @@ -893,10 +893,10 @@ g_ascii_strtoull (const gchar *nptr, * * Since: 2.12 */ -gint64 +gint64 g_ascii_strtoll (const gchar *nptr, - gchar **endptr, - guint base) + gchar **endptr, + guint base) { gboolean negative; guint64 result; @@ -923,14 +923,14 @@ g_ascii_strtoll (const gchar *nptr, * g_strerror: * @errnum: the system error number. See the standard C %errno * documentation - * - * Returns a string corresponding to the given error code, e.g. - * "no such process". You should use this function in preference to - * strerror(), because it returns a string in UTF-8 encoding, and since + * + * Returns a string corresponding to the given error code, e.g. + * "no such process". You should use this function in preference to + * strerror(), because it returns a string in UTF-8 encoding, and since * not all platforms support the strerror() function. * - * Returns: a UTF-8 string describing the error code. If the error code - * is unknown, it returns "unknown error (<code>)". The string + * Returns: a UTF-8 string describing the error code. If the error code + * is unknown, it returns "unknown error (<code>)". The string * can only be used until the next call to g_strerror() */ G_CONST_RETURN gchar* @@ -953,16 +953,16 @@ g_strerror (gint errnum) { gchar *msg_utf8 = g_locale_to_utf8 (msg_locale, -1, NULL, NULL, NULL); if (msg_utf8) - { - /* Stick in the quark table so that we can return a static result - */ - GQuark msg_quark = g_quark_from_string (msg_utf8); - g_free (msg_utf8); - - msg_utf8 = (gchar *) g_quark_to_string (msg_quark); - errno = saved_errno; - return msg_utf8; - } + { + /* Stick in the quark table so that we can return a static result + */ + GQuark msg_quark = g_quark_from_string (msg_utf8); + g_free (msg_utf8); + + msg_utf8 = (gchar *) g_quark_to_string (msg_quark); + errno = saved_errno; + return msg_utf8; + } } #elif NO_SYS_ERRLIST switch (errnum) @@ -1406,14 +1406,14 @@ g_strerror (gint errnum) * documentation * * Returns a string describing the given signal, e.g. "Segmentation fault". - * You should use this function in preference to strsignal(), because it + * You should use this function in preference to strsignal(), because it * returns a string in UTF-8 encoding, and since not all platforms support * the strsignal() function. * * Returns: a UTF-8 string describing the signal. If the signal is unknown, - * it returns "unknown signal (<signum>)". The string can only be + * it returns "unknown signal (<signum>)". The string can only be * used until the next call to g_strsignal() - */ + */ G_CONST_RETURN gchar* g_strsignal (gint signum) { @@ -1422,7 +1422,7 @@ g_strsignal (gint signum) #ifdef HAVE_STRSIGNAL const char *msg_locale; - + #if defined(G_OS_BEOS) || defined(G_WITH_CYGWIN) extern const char *strsignal(int); #else @@ -1436,14 +1436,14 @@ extern const char *strsignal(int); { gchar *msg_utf8 = g_locale_to_utf8 (msg_locale, -1, NULL, NULL, NULL); if (msg_utf8) - { - /* Stick in the quark table so that we can return a static result - */ - GQuark msg_quark = g_quark_from_string (msg_utf8); - g_free (msg_utf8); - - return g_quark_to_string (msg_quark); - } + { + /* Stick in the quark table so that we can return a static result + */ + GQuark msg_quark = g_quark_from_string (msg_utf8); + g_free (msg_utf8); + + return g_quark_to_string (msg_quark); + } } #elif NO_SYS_SIGLIST switch (signum) @@ -1545,7 +1545,7 @@ extern const char *strsignal(int); #else /* NO_SYS_SIGLIST */ #ifdef NO_SYS_SIGLIST_DECL - extern char *sys_siglist[]; /*(see Tue Jan 19 00:44:24 1999 in changelog)*/ + extern char *sys_siglist[]; /*(see Tue Jan 19 00:44:24 1999 in changelog)*/ #endif return (char*) /* this function should return const --josh */ sys_siglist [signum]; @@ -1559,7 +1559,7 @@ extern const char *strsignal(int); } _g_sprintf (msg, "unknown signal (%d)", signum); - + return msg; } @@ -1573,23 +1573,23 @@ extern const char *strsignal(int); /* Use the native ones, if available; they might be implemented in assembly */ gsize g_strlcpy (gchar *dest, - const gchar *src, - gsize dest_size) + const gchar *src, + gsize dest_size) { g_return_val_if_fail (dest != NULL, 0); g_return_val_if_fail (src != NULL, 0); - + return strlcpy (dest, src, dest_size); } gsize g_strlcat (gchar *dest, - const gchar *src, - gsize dest_size) + const gchar *src, + gsize dest_size) { g_return_val_if_fail (dest != NULL, 0); g_return_val_if_fail (src != NULL, 0); - + return strlcat (dest, src, dest_size); } @@ -1599,20 +1599,20 @@ g_strlcat (gchar *dest, * @dest: destination buffer * @src: source buffer * @dest_size: length of @dest in bytes - * - * Portability wrapper that calls strlcpy() on systems which have it, - * and emulates strlcpy() otherwise. Copies @src to @dest; @dest is - * guaranteed to be nul-terminated; @src must be nul-terminated; - * @dest_size is the buffer size, not the number of chars to copy. + * + * Portability wrapper that calls strlcpy() on systems which have it, + * and emulates strlcpy() otherwise. Copies @src to @dest; @dest is + * guaranteed to be nul-terminated; @src must be nul-terminated; + * @dest_size is the buffer size, not the number of chars to copy. * * At most dest_size - 1 characters will be copied. Always nul-terminates - * (unless dest_size == 0). This function does not - * allocate memory. Unlike strncpy(), this function doesn't pad dest (so - * it's often faster). It returns the size of the attempted result, + * (unless dest_size == 0). This function does not + * allocate memory. Unlike strncpy(), this function doesn't pad dest (so + * it's often faster). It returns the size of the attempted result, * strlen (src), so if @retval >= @dest_size, truncation occurred. - * + * * Caveat: strlcpy() is supposedly more secure than - * strcpy() or strncpy(), but if you really want to avoid screwups, + * strcpy() or strncpy(), but if you really want to avoid screwups, * g_strdup() is an even better idea. * * Returns: length of @src @@ -1625,31 +1625,31 @@ g_strlcpy (gchar *dest, register gchar *d = dest; register const gchar *s = src; register gsize n = dest_size; - + g_return_val_if_fail (dest != NULL, 0); g_return_val_if_fail (src != NULL, 0); - + /* Copy as many bytes as will fit */ if (n != 0 && --n != 0) do { - register gchar c = *s++; - - *d++ = c; - if (c == 0) - break; + register gchar c = *s++; + + *d++ = c; + if (c == 0) + break; } while (--n != 0); - + /* If not enough room in dest, add NUL and traverse rest of src */ if (n == 0) { if (dest_size != 0) - *d = 0; + *d = 0; while (*s++) - ; + ; } - + return s - src - 1; /* count does not include NUL */ } @@ -1657,13 +1657,13 @@ g_strlcpy (gchar *dest, * g_strlcat: * @dest: destination buffer, already containing one nul-terminated string * @src: source buffer - * @dest_size: length of @dest buffer in bytes (not length of existing string + * @dest_size: length of @dest buffer in bytes (not length of existing string * inside @dest) * - * Portability wrapper that calls strlcat() on systems which have it, - * and emulates it otherwise. Appends nul-terminated @src string to @dest, - * guaranteeing nul-termination for @dest. The total size of @dest won't - * exceed @dest_size. + * Portability wrapper that calls strlcat() on systems which have it, + * and emulates it otherwise. Appends nul-terminated @src string to @dest, + * guaranteeing nul-termination for @dest. The total size of @dest won't + * exceed @dest_size. * * At most dest_size - 1 characters will be copied. * Unlike strncat, dest_size is the full size of dest, not the space left over. @@ -1671,8 +1671,8 @@ g_strlcpy (gchar *dest, * This always NUL terminates (unless siz == 0 or there were no NUL characters * in the dest_size characters of dest to start with). * - * Caveat: this is supposedly a more secure alternative to - * strcat() or strncat(), but for real security g_strconcat() is harder + * Caveat: this is supposedly a more secure alternative to + * strcat() or strncat(), but for real security g_strconcat() is harder * to mess up. * * Returns: size of attempted result, which is MIN (dest_size, strlen @@ -1688,30 +1688,30 @@ g_strlcat (gchar *dest, register const gchar *s = src; register gsize bytes_left = dest_size; gsize dlength; /* Logically, MIN (strlen (d), dest_size) */ - + g_return_val_if_fail (dest != NULL, 0); g_return_val_if_fail (src != NULL, 0); - + /* Find the end of dst and adjust bytes left but don't go past end */ while (*d != 0 && bytes_left-- != 0) d++; dlength = d - dest; bytes_left = dest_size - dlength; - + if (bytes_left == 0) return dlength + strlen (s); - + while (*s != 0) { if (bytes_left != 1) - { - *d++ = *s; - bytes_left--; - } + { + *d++ = *s; + bytes_left--; + } s++; } *d = 0; - + return dlength + (s - src); /* count does not include NUL */ } #endif /* ! HAVE_STRLCPY */ @@ -1720,9 +1720,9 @@ g_strlcat (gchar *dest, * g_ascii_strdown: * @str: a string. * @len: length of @str in bytes, or -1 if @str is nul-terminated. - * + * * Converts all upper case ASCII letters to lower case ASCII letters. - * + * * Return value: a newly-allocated string, with all the upper case * characters in @str converted to lower case, with * semantics that exactly match g_ascii_tolower(). (Note @@ -1731,10 +1731,10 @@ g_strlcat (gchar *dest, **/ gchar* g_ascii_strdown (const gchar *str, - gssize len) + gssize len) { gchar *result, *s; - + g_return_val_if_fail (str != NULL, NULL); if (len < 0) @@ -1743,7 +1743,7 @@ g_ascii_strdown (const gchar *str, result = g_strndup (str, len); for (s = result; *s; s++) *s = g_ascii_tolower (*s); - + return result; } @@ -1751,9 +1751,9 @@ g_ascii_strdown (const gchar *str, * g_ascii_strup: * @str: a string. * @len: length of @str in bytes, or -1 if @str is nul-terminated. - * + * * Converts all lower case ASCII letters to upper case ASCII letters. - * + * * Return value: a newly allocated string, with all the lower case * characters in @str converted to upper case, with * semantics that exactly match g_ascii_toupper(). (Note @@ -1762,7 +1762,7 @@ g_ascii_strdown (const gchar *str, **/ gchar* g_ascii_strup (const gchar *str, - gssize len) + gssize len) { gchar *result, *s; @@ -1781,43 +1781,43 @@ g_ascii_strup (const gchar *str, /** * g_strdown: * @string: the string to convert. - * - * Converts a string to lower case. - * - * Return value: the string * - * Deprecated:2.2: This function is totally broken for the reasons discussed - * in the g_strncasecmp() docs - use g_ascii_strdown() or g_utf8_strdown() + * Converts a string to lower case. + * + * Return value: the string + * + * Deprecated:2.2: This function is totally broken for the reasons discussed + * in the g_strncasecmp() docs - use g_ascii_strdown() or g_utf8_strdown() * instead. **/ gchar* g_strdown (gchar *string) { register guchar *s; - + g_return_val_if_fail (string != NULL, NULL); - + s = (guchar *) string; - + while (*s) { if (isupper (*s)) - *s = tolower (*s); + *s = tolower (*s); s++; } - + return (gchar *) string; } /** * g_strup: * @string: the string to convert. - * - * Converts a string to upper case. - * + * + * Converts a string to upper case. + * * Return value: the string * - * Deprecated:2.2: This function is totally broken for the reasons discussed + * Deprecated:2.2: This function is totally broken for the reasons discussed * in the g_strncasecmp() docs - use g_ascii_strup() or g_utf8_strup() instead. **/ gchar* @@ -1832,7 +1832,7 @@ g_strup (gchar *string) while (*s) { if (islower (*s)) - *s = toupper (*s); + *s = toupper (*s); s++; } @@ -1841,16 +1841,16 @@ g_strup (gchar *string) /** * g_strreverse: - * @string: the string to reverse + * @string: the string to reverse * - * Reverses all of the bytes in a string. For example, - * g_strreverse ("abcdef") will result + * Reverses all of the bytes in a string. For example, + * g_strreverse ("abcdef") will result * in "fedcba". - * - * Note that g_strreverse() doesn't work on UTF-8 strings - * containing multibyte characters. For that purpose, use + * + * Note that g_strreverse() doesn't work on UTF-8 strings + * containing multibyte characters. For that purpose, use * g_utf8_strreverse(). - * + * * Returns: the same pointer passed in as @string */ gchar* @@ -1866,15 +1866,15 @@ g_strreverse (gchar *string) t = string + strlen (string) - 1; while (h < t) - { - register gchar c; - - c = *h; - *h = *t; - h++; - *t = c; - t--; - } + { + register gchar c; + + c = *h; + *h = *t; + h++; + *t = c; + t--; + } } return string; @@ -1883,7 +1883,7 @@ g_strreverse (gchar *string) /** * g_ascii_tolower: * @c: any character. - * + * * Convert a character to ASCII lower case. * * Unlike the standard C library tolower() function, this only @@ -1893,7 +1893,7 @@ g_strreverse (gchar *string) * library function, this takes and returns a char, not an int, so * don't call it on %EOF but no need to worry about casting to #guchar * before passing a possibly non-ASCII character in. - * + * * Return value: the result of converting @c to lower case. * If @c is not an ASCII upper case letter, * @c is returned unchanged. @@ -1907,7 +1907,7 @@ g_ascii_tolower (gchar c) /** * g_ascii_toupper: * @c: any character. - * + * * Convert a character to ASCII upper case. * * Unlike the standard C library toupper() function, this only @@ -1917,7 +1917,7 @@ g_ascii_tolower (gchar c) * library function, this takes and returns a char, not an int, so * don't call it on %EOF but no need to worry about casting to #guchar * before passing a possibly non-ASCII character in. - * + * * Return value: the result of converting @c to upper case. * If @c is not an ASCII lower case letter, * @c is returned unchanged. @@ -1974,7 +1974,7 @@ g_ascii_xdigit_value (gchar c) * g_ascii_strcasecmp: * @s1: string to compare with @s2. * @s2: string to compare with @s1. - * + * * Compare two strings, ignoring the case of ASCII characters. * * Unlike the BSD strcasecmp() function, this only recognizes standard @@ -1989,12 +1989,12 @@ g_ascii_xdigit_value (gchar c) * characters include all ASCII letters. If you compare two CP932 * strings using this function, you will get false matches. * - * Return value: 0 if the strings match, a negative value if @s1 < @s2, + * Return value: 0 if the strings match, a negative value if @s1 < @s2, * or a positive value if @s1 > @s2. **/ gint g_ascii_strcasecmp (const gchar *s1, - const gchar *s2) + const gchar *s2) { gint c1, c2; @@ -2006,7 +2006,7 @@ g_ascii_strcasecmp (const gchar *s1, c1 = (gint)(guchar) TOLOWER (*s1); c2 = (gint)(guchar) TOLOWER (*s2); if (c1 != c2) - return (c1 - c2); + return (c1 - c2); s1++; s2++; } @@ -2018,25 +2018,25 @@ g_ascii_strcasecmp (const gchar *s1, * @s1: string to compare with @s2. * @s2: string to compare with @s1. * @n: number of characters to compare. - * + * * Compare @s1 and @s2, ignoring the case of ASCII characters and any * characters after the first @n in each string. * * Unlike the BSD strcasecmp() function, this only recognizes standard * ASCII letters and ignores the locale, treating all non-ASCII * characters as if they are not letters. - * + * * The same warning as in g_ascii_strcasecmp() applies: Use this * function only on strings known to be in encodings where bytes * corresponding to ASCII letters always represent themselves. * - * Return value: 0 if the strings match, a negative value if @s1 < @s2, + * Return value: 0 if the strings match, a negative value if @s1 < @s2, * or a positive value if @s1 > @s2. **/ gint g_ascii_strncasecmp (const gchar *s1, - const gchar *s2, - gsize n) + const gchar *s2, + gsize n) { gint c1, c2; @@ -2049,7 +2049,7 @@ g_ascii_strncasecmp (const gchar *s1, c1 = (gint)(guchar) TOLOWER (*s1); c2 = (gint)(guchar) TOLOWER (*s2); if (c1 != c2) - return (c1 - c2); + return (c1 - c2); s1++; s2++; } @@ -2063,19 +2063,19 @@ g_ascii_strncasecmp (const gchar *s1, * g_strcasecmp: * @s1: a string. * @s2: a string to compare with @s1. - * + * * A case-insensitive string comparison, corresponding to the standard * strcasecmp() function on platforms which support it. * - * Return value: 0 if the strings match, a negative value if @s1 < @s2, + * Return value: 0 if the strings match, a negative value if @s1 < @s2, * or a positive value if @s1 > @s2. * - * Deprecated:2.2: See g_strncasecmp() for a discussion of why this function + * Deprecated:2.2: See g_strncasecmp() for a discussion of why this function * is deprecated and how to replace it. **/ gint g_strcasecmp (const gchar *s1, - const gchar *s2) + const gchar *s2) { #ifdef HAVE_STRCASECMP g_return_val_if_fail (s1 != NULL, 0); @@ -2096,7 +2096,7 @@ g_strcasecmp (const gchar *s1, c1 = isupper ((guchar)*s1) ? tolower ((guchar)*s1) : *s1; c2 = isupper ((guchar)*s2) ? tolower ((guchar)*s2) : *s2; if (c1 != c2) - return (c1 - c2); + return (c1 - c2); s1++; s2++; } @@ -2109,16 +2109,16 @@ g_strcasecmp (const gchar *s1, * @s1: a string. * @s2: a string to compare with @s1. * @n: the maximum number of characters to compare. - * + * * A case-insensitive string comparison, corresponding to the standard * strncasecmp() function on platforms which support it. - * It is similar to g_strcasecmp() except it only compares the first @n + * It is similar to g_strcasecmp() except it only compares the first @n * characters of the strings. - * - * Return value: 0 if the strings match, a negative value if @s1 < @s2, + * + * Return value: 0 if the strings match, a negative value if @s1 < @s2, * or a positive value if @s1 > @s2. * - * Deprecated:2.2: The problem with g_strncasecmp() is that it does the + * Deprecated:2.2: The problem with g_strncasecmp() is that it does the * comparison by calling toupper()/tolower(). These functions are * locale-specific and operate on single bytes. However, it is impossible * to handle things correctly from an I18N standpoint by operating on @@ -2134,8 +2134,8 @@ g_strcasecmp (const gchar *s1, **/ gint g_strncasecmp (const gchar *s1, - const gchar *s2, - guint n) + const gchar *s2, + guint n) { #ifdef HAVE_STRNCASECMP return strncasecmp (s1, s2, n); @@ -2154,7 +2154,7 @@ g_strncasecmp (const gchar *s1, c1 = isupper ((guchar)*s1) ? tolower ((guchar)*s1) : *s1; c2 = isupper ((guchar)*s2) ? tolower ((guchar)*s2) : *s2; if (c1 != c2) - return (c1 - c2); + return (c1 - c2); s1++; s2++; } @@ -2166,9 +2166,9 @@ g_strncasecmp (const gchar *s1, } gchar* -g_strdelimit (gchar *string, - const gchar *delimiters, - gchar new_delim) +g_strdelimit (gchar *string, + const gchar *delimiters, + gchar new_delim) { register gchar *c; @@ -2180,7 +2180,7 @@ g_strdelimit (gchar *string, for (c = string; *c; c++) { if (strchr (delimiters, *c)) - *c = new_delim; + *c = new_delim; } return string; @@ -2188,8 +2188,8 @@ g_strdelimit (gchar *string, gchar* g_strcanon (gchar *string, - const gchar *valid_chars, - gchar substitutor) + const gchar *valid_chars, + gchar substitutor) { register gchar *c; @@ -2199,7 +2199,7 @@ g_strcanon (gchar *string, for (c = string; *c; c++) { if (!strchr (valid_chars, *c)) - *c = substitutor; + *c = substitutor; } return string; @@ -2211,68 +2211,68 @@ g_strcompress (const gchar *source) const gchar *p = source, *octal; gchar *dest = g_malloc (strlen (source) + 1); gchar *q = dest; - + while (*p) { if (*p == '\\') - { - p++; - switch (*p) - { - case '\0': - g_warning ("g_strcompress: trailing \\"); - goto out; - case '0': case '1': case '2': case '3': case '4': - case '5': case '6': case '7': - *q = 0; - octal = p; - while ((p < octal + 3) && (*p >= '0') && (*p <= '7')) - { - *q = (*q * 8) + (*p - '0'); - p++; - } - q++; - p--; - break; - case 'b': - *q++ = '\b'; - break; - case 'f': - *q++ = '\f'; - break; - case 'n': - *q++ = '\n'; - break; - case 'r': - *q++ = '\r'; - break; - case 't': - *q++ = '\t'; - break; - default: /* Also handles \" and \\ */ - *q++ = *p; - break; - } - } + { + p++; + switch (*p) + { + case '\0': + g_warning ("g_strcompress: trailing \\"); + goto out; + case '0': case '1': case '2': case '3': case '4': + case '5': case '6': case '7': + *q = 0; + octal = p; + while ((p < octal + 3) && (*p >= '0') && (*p <= '7')) + { + *q = (*q * 8) + (*p - '0'); + p++; + } + q++; + p--; + break; + case 'b': + *q++ = '\b'; + break; + case 'f': + *q++ = '\f'; + break; + case 'n': + *q++ = '\n'; + break; + case 'r': + *q++ = '\r'; + break; + case 't': + *q++ = '\t'; + break; + default: /* Also handles \" and \\ */ + *q++ = *p; + break; + } + } else - *q++ = *p; + *q++ = *p; p++; } out: *q = 0; - + return dest; } gchar * g_strescape (const gchar *source, - const gchar *exceptions) + const gchar *exceptions) { const guchar *p; gchar *dest; gchar *q; guchar excmap[256]; - + g_return_val_if_fail (source != NULL, NULL); p = (guchar *) source; @@ -2285,61 +2285,61 @@ g_strescape (const gchar *source, guchar *e = (guchar *) exceptions; while (*e) - { - excmap[*e] = 1; - e++; - } + { + excmap[*e] = 1; + e++; + } } while (*p) { if (excmap[*p]) - *q++ = *p; + *q++ = *p; else - { - switch (*p) - { - case '\b': - *q++ = '\\'; - *q++ = 'b'; - break; - case '\f': - *q++ = '\\'; - *q++ = 'f'; - break; - case '\n': - *q++ = '\\'; - *q++ = 'n'; - break; - case '\r': - *q++ = '\\'; - *q++ = 'r'; - break; - case '\t': - *q++ = '\\'; - *q++ = 't'; - break; - case '\\': - *q++ = '\\'; - *q++ = '\\'; - break; - case '"': - *q++ = '\\'; - *q++ = '"'; - break; - default: - if ((*p < ' ') || (*p >= 0177)) - { - *q++ = '\\'; - *q++ = '0' + (((*p) >> 6) & 07); - *q++ = '0' + (((*p) >> 3) & 07); - *q++ = '0' + ((*p) & 07); - } - else - *q++ = *p; - break; - } - } + { + switch (*p) + { + case '\b': + *q++ = '\\'; + *q++ = 'b'; + break; + case '\f': + *q++ = '\\'; + *q++ = 'f'; + break; + case '\n': + *q++ = '\\'; + *q++ = 'n'; + break; + case '\r': + *q++ = '\\'; + *q++ = 'r'; + break; + case '\t': + *q++ = '\\'; + *q++ = 't'; + break; + case '\\': + *q++ = '\\'; + *q++ = '\\'; + break; + case '"': + *q++ = '\\'; + *q++ = '"'; + break; + default: + if ((*p < ' ') || (*p >= 0177)) + { + *q++ = '\\'; + *q++ = '0' + (((*p) >> 6) & 07); + *q++ = '0' + (((*p) >> 3) & 07); + *q++ = '0' + ((*p) & 07); + } + else + *q++ = *p; + break; + } + } p++; } *q = 0; @@ -2372,9 +2372,9 @@ g_strchomp (gchar *string) while (len--) { if (g_ascii_isspace ((guchar) string[len])) - string[len] = '\0'; + string[len] = '\0'; else - break; + break; } return string; @@ -2388,10 +2388,10 @@ g_strchomp (gchar *string) * @max_tokens is reached. * @max_tokens: the maximum number of pieces to split @string into. If this is * less than 1, the string is split completely. - * + * * Splits a string into a maximum of @max_tokens pieces, using the given * @delimiter. If @max_tokens is reached, the remainder of @string is appended - * to the last token. + * to the last token. * * As a special case, the result of splitting the empty string "" is an empty * vector, not a vector containing a single string. The reason for this @@ -2399,14 +2399,14 @@ g_strchomp (gchar *string) * more useful than consistent handling of empty elements. If you do need * to represent empty elements, you'll need to check for the empty string * before calling g_strsplit(). - * - * Return value: a newly-allocated %NULL-terminated array of strings. Use + * + * Return value: a newly-allocated %NULL-terminated array of strings. Use * g_strfreev() to free it. **/ gchar** g_strsplit (const gchar *string, - const gchar *delimiter, - gint max_tokens) + const gchar *delimiter, + gint max_tokens) { GSList *string_list = NULL, *slist; gchar **str_array, *s; @@ -2424,19 +2424,19 @@ g_strsplit (const gchar *string, s = strstr (remainder, delimiter); if (s) { - gsize delimiter_len = strlen (delimiter); + gsize delimiter_len = strlen (delimiter); while (--max_tokens && s) - { - gsize len; - - len = s - remainder; - string_list = g_slist_prepend (string_list, - g_strndup (remainder, len)); - n++; - remainder = s + delimiter_len; - s = strstr (remainder, delimiter); - } + { + gsize len; + + len = s - remainder; + string_list = g_slist_prepend (string_list, + g_strndup (remainder, len)); + n++; + remainder = s + delimiter_len; + s = strstr (remainder, delimiter); + } } if (*string) { @@ -2460,21 +2460,21 @@ g_strsplit (const gchar *string, * @string: The string to be tokenized * @delimiters: A nul-terminated string containing bytes that are used * to split the string. - * @max_tokens: The maximum number of tokens to split @string into. + * @max_tokens: The maximum number of tokens to split @string into. * If this is less than 1, the string is split completely - * + * * Splits @string into a number of tokens not containing any of the characters * in @delimiter. A token is the (possibly empty) longest string that does not * contain any of the characters in @delimiters. If @max_tokens is reached, the * remainder is appended to the last token. * * For example the result of g_strsplit_set ("abc:def/ghi", ":/", -1) is a - * %NULL-terminated vector containing the three strings "abc", "def", + * %NULL-terminated vector containing the three strings "abc", "def", * and "ghi". * * The result if g_strsplit_set (":def/ghi:", ":/", -1) is a %NULL-terminated * vector containing the four strings "", "def", "ghi", and "". - * + * * As a special case, the result of splitting the empty string "" is an empty * vector, not a vector containing a single string. The reason for this * special case is that being able to represent a empty vector is typically @@ -2482,18 +2482,18 @@ g_strsplit (const gchar *string, * to represent empty elements, you'll need to check for the empty string * before calling g_strsplit_set(). * - * Note that this function works on bytes not characters, so it can't be used + * Note that this function works on bytes not characters, so it can't be used * to delimit UTF-8 strings for anything but ASCII characters. - * - * Return value: a newly-allocated %NULL-terminated array of strings. Use + * + * Return value: a newly-allocated %NULL-terminated array of strings. Use * g_strfreev() to free it. - * + * * Since: 2.4 **/ gchar ** g_strsplit_set (const gchar *string, - const gchar *delimiters, - gint max_tokens) + const gchar *delimiters, + gint max_tokens) { gboolean delim_table[256]; GSList *tokens, *list; @@ -2502,7 +2502,7 @@ g_strsplit_set (const gchar *string, const gchar *current; gchar *token; gchar **result; - + g_return_val_if_fail (string != NULL, NULL); g_return_val_if_fail (delimiters != NULL, NULL); @@ -2515,7 +2515,7 @@ g_strsplit_set (const gchar *string, result[0] = NULL; return result; } - + memset (delim_table, FALSE, sizeof (delim_table)); for (s = delimiters; *s != '\0'; ++s) delim_table[*(guchar *)s] = TRUE; @@ -2527,14 +2527,14 @@ g_strsplit_set (const gchar *string, while (*s != '\0') { if (delim_table[*(guchar *)s] && n_tokens + 1 < max_tokens) - { - token = g_strndup (current, s - current); - tokens = g_slist_prepend (tokens, token); - ++n_tokens; - - current = s + 1; - } - + { + token = g_strndup (current, s - current); + tokens = g_slist_prepend (tokens, token); + ++n_tokens; + + current = s + 1; + } + ++s; } @@ -2549,7 +2549,7 @@ g_strsplit_set (const gchar *string, result[--n_tokens] = list->data; g_slist_free (tokens); - + return result; } @@ -2558,7 +2558,7 @@ g_strsplit_set (const gchar *string, * @str_array: a %NULL-terminated array of strings to free. * Frees a %NULL-terminated array of strings, and the array itself. - * If called on a %NULL value, g_strfreev() simply returns. + * If called on a %NULL value, g_strfreev() simply returns. **/ void g_strfreev (gchar **str_array) @@ -2568,7 +2568,7 @@ g_strfreev (gchar **str_array) int i; for (i = 0; str_array[i] != NULL; i++) - g_free (str_array[i]); + g_free (str_array[i]); g_free (str_array); } @@ -2577,12 +2577,12 @@ g_strfreev (gchar **str_array) /** * g_strdupv: * @str_array: %NULL-terminated array of strings. - * + * * Copies %NULL-terminated array of strings. The copy is a deep copy; * the new array should be freed by first freeing each string, then * the array itself. g_strfreev() does this for you. If called * on a %NULL value, g_strdupv() simply returns %NULL. - * + * * Return value: a new %NULL-terminated array of strings. **/ gchar** @@ -2596,7 +2596,7 @@ g_strdupv (gchar **str_array) i = 0; while (str_array[i]) ++i; - + retval = g_new (gchar*, i + 1); i = 0; @@ -2617,8 +2617,8 @@ g_strdupv (gchar **str_array) * g_strjoinv: * @separator: a string to insert between each of the strings, or %NULL * @str_array: a %NULL-terminated array of strings to join - * - * Joins a number of strings together to form one long string, with the + * + * Joins a number of strings together to form one long string, with the * optional @separator inserted between each of them. The returned string * should be freed with g_free(). * @@ -2627,7 +2627,7 @@ g_strdupv (gchar **str_array) */ gchar* g_strjoinv (const gchar *separator, - gchar **str_array) + gchar **str_array) { gchar *string; gchar *ptr; @@ -2641,7 +2641,7 @@ g_strjoinv (const gchar *separator, { gint i; gsize len; - gsize separator_len; + gsize separator_len; separator_len = strlen (separator); /* First part, getting length */ @@ -2654,10 +2654,10 @@ g_strjoinv (const gchar *separator, string = g_new (gchar, len); ptr = g_stpcpy (string, *str_array); for (i = 1; str_array[i] != NULL; i++) - { + { ptr = g_stpcpy (ptr, separator); ptr = g_stpcpy (ptr, str_array[i]); - } + } } else string = g_strdup (""); @@ -2670,7 +2670,7 @@ g_strjoinv (const gchar *separator, * @separator: a string to insert between each of the strings, or %NULL * @Varargs: a %NULL-terminated list of strings to join * - * Joins a number of strings together to form one long string, with the + * Joins a number of strings together to form one long string, with the * optional @separator inserted between each of them. The returned string * should be freed with g_free(). * @@ -2679,12 +2679,12 @@ g_strjoinv (const gchar *separator, */ gchar* g_strjoin (const gchar *separator, - ...) + ...) { gchar *string, *s; va_list args; - gsize len; - gsize separator_len; + gsize len; + gsize separator_len; gchar *ptr; if (separator == NULL) @@ -2703,10 +2703,10 @@ g_strjoin (const gchar *separator, s = va_arg (args, gchar*); while (s) - { - len += separator_len + strlen (s); - s = va_arg (args, gchar*); - } + { + len += separator_len + strlen (s); + s = va_arg (args, gchar*); + } va_end (args); /* Second part, building string */ @@ -2719,11 +2719,11 @@ g_strjoin (const gchar *separator, s = va_arg (args, gchar*); while (s) - { - ptr = g_stpcpy (ptr, separator); + { + ptr = g_stpcpy (ptr, separator); ptr = g_stpcpy (ptr, s); - s = va_arg (args, gchar*); - } + s = va_arg (args, gchar*); + } } else string = g_strdup (""); @@ -2744,15 +2744,15 @@ g_strjoin (const gchar *separator, * * Searches the string @haystack for the first occurrence * of the string @needle, limiting the length of the search - * to @haystack_len. + * to @haystack_len. * * Return value: a pointer to the found occurrence, or * %NULL if not found. **/ gchar * g_strstr_len (const gchar *haystack, - gssize haystack_len, - const gchar *needle) + gssize haystack_len, + const gchar *needle) { g_return_val_if_fail (haystack != NULL, NULL); g_return_val_if_fail (needle != NULL, NULL); @@ -2767,25 +2767,25 @@ g_strstr_len (const gchar *haystack, gsize i; if (needle_len == 0) - return (gchar *)haystack; + return (gchar *)haystack; if (haystack_len < needle_len) - return NULL; - + return NULL; + end = haystack + haystack_len - needle_len; - + while (p <= end && *p) - { - for (i = 0; i < needle_len; i++) - if (p[i] != needle[i]) - goto next; - - return (gchar *)p; - - next: - p++; - } - + { + for (i = 0; i < needle_len; i++) + if (p[i] != needle[i]) + goto next; + + return (gchar *)p; + + next: + p++; + } + return NULL; } } @@ -2803,13 +2803,13 @@ g_strstr_len (const gchar *haystack, **/ gchar * g_strrstr (const gchar *haystack, - const gchar *needle) + const gchar *needle) { gsize i; gsize needle_len; gsize haystack_len; const gchar *p; - + g_return_val_if_fail (haystack != NULL, NULL); g_return_val_if_fail (needle != NULL, NULL); @@ -2821,21 +2821,21 @@ g_strrstr (const gchar *haystack, if (haystack_len < needle_len) return NULL; - + p = haystack + haystack_len - needle_len; while (p >= haystack) { for (i = 0; i < needle_len; i++) - if (p[i] != needle[i]) - goto next; - + if (p[i] != needle[i]) + goto next; + return (gchar *)p; - + next: p--; } - + return NULL; } @@ -2847,19 +2847,19 @@ g_strrstr (const gchar *haystack, * * Searches the string @haystack for the last occurrence * of the string @needle, limiting the length of the search - * to @haystack_len. + * to @haystack_len. * * Return value: a pointer to the found occurrence, or * %NULL if not found. **/ gchar * g_strrstr_len (const gchar *haystack, - gssize haystack_len, - const gchar *needle) + gssize haystack_len, + const gchar *needle) { g_return_val_if_fail (haystack != NULL, NULL); g_return_val_if_fail (needle != NULL, NULL); - + if (haystack_len < 0) return g_strrstr (haystack, needle); else @@ -2870,24 +2870,24 @@ g_strrstr_len (const gchar *haystack, gsize i; while (p < haystack_max && *p) - p++; + p++; if (p < haystack + needle_len) - return NULL; - + return NULL; + p -= needle_len; while (p >= haystack) - { - for (i = 0; i < needle_len; i++) - if (p[i] != needle[i]) - goto next; - - return (gchar *)p; - - next: - p--; - } + { + for (i = 0; i < needle_len; i++) + if (p[i] != needle[i]) + goto next; + + return (gchar *)p; + + next: + p--; + } return NULL; } @@ -2907,11 +2907,11 @@ g_strrstr_len (const gchar *haystack, **/ gboolean g_str_has_suffix (const gchar *str, - const gchar *suffix) + const gchar *suffix) { int str_len; int suffix_len; - + g_return_val_if_fail (str != NULL, FALSE); g_return_val_if_fail (suffix != NULL, FALSE); @@ -2937,11 +2937,11 @@ g_str_has_suffix (const gchar *str, **/ gboolean g_str_has_prefix (const gchar *str, - const gchar *prefix) + const gchar *prefix) { int str_len; int prefix_len; - + g_return_val_if_fail (str != NULL, FALSE); g_return_val_if_fail (prefix != NULL, FALSE); @@ -2950,7 +2950,7 @@ g_str_has_prefix (const gchar *str, if (str_len < prefix_len) return FALSE; - + return strncmp (str, prefix, prefix_len) == 0; } @@ -2959,26 +2959,26 @@ g_str_has_prefix (const gchar *str, * g_strip_context: * @msgid: a string * @msgval: another string - * + * * An auxiliary function for gettext() support (see Q_()). - * + * * Return value: @msgval, unless @msgval is identical to @msgid and contains * a '|' character, in which case a pointer to the substring of msgid after - * the first '|' character is returned. + * the first '|' character is returned. * * Since: 2.4 **/ G_CONST_RETURN gchar * -g_strip_context (const gchar *msgid, - const gchar *msgval) +g_strip_context (const gchar *msgid, + const gchar *msgval) { if (msgval == msgid) { const char *c = strchr (msgid, '|'); if (c != NULL) - return c + 1; + return c + 1; } - + return msgval; } @@ -2986,10 +2986,10 @@ g_strip_context (const gchar *msgid, /** * g_strv_length: * @str_array: a %NULL-terminated array of strings. - * - * Returns the length of the given %NULL-terminated + * + * Returns the length of the given %NULL-terminated * string array @str_array. - * + * * Return value: length of @str_array. * * Since: 2.6 @@ -3035,8 +3035,8 @@ g_strv_length (gchar **str_array) * Since: 2.16 */ G_CONST_RETURN gchar * -g_dpgettext (const gchar *domain, - const gchar *msgctxtid, +g_dpgettext (const gchar *domain, + const gchar *msgctxtid, gsize msgidoffset) { const gchar *translation; @@ -3050,7 +3050,7 @@ g_dpgettext (const gchar *domain, return msgctxtid + msgidoffset; sep = strchr (msgctxtid, '|'); - + if (sep) { /* try with '\004' instead of '|', in case @@ -3061,16 +3061,16 @@ g_dpgettext (const gchar *domain, tmp[sep - msgctxtid] = '\004'; translation = g_dgettext (domain, tmp); - + if (translation == tmp) - return sep + 1; + return sep + 1; } } return translation; } -/* This function is taken from gettext.h +/* This function is taken from gettext.h * GNU gettext uses '\004' to separate context and msgid in .mo files. */ /** @@ -3088,7 +3088,7 @@ g_dpgettext (const gchar *domain, * This uses g_dgettext() internally. See that functions for differences * with dgettext() proper. * - * This function differs from C_() in that it is not a macro and + * This function differs from C_() in that it is not a macro and * thus you may use non-string-literals as context and msgid arguments. * * Returns: The translated string @@ -3113,7 +3113,7 @@ g_dpgettext2 (const char *domain, translation = g_dgettext (domain, msg_ctxt_id); - if (translation == msg_ctxt_id) + if (translation == msg_ctxt_id) { /* try the old way of doing message contexts, too */ msg_ctxt_id[msgctxt_len - 1] = '|'; @@ -3161,15 +3161,15 @@ _g_dgettext_should_translate (void) * Continue with old behavior of translating. */ if (0 != strcmp (default_domain, "messages") && - '\0' == *translator_comment && - 0 != strncmp (translate_locale, "en_", 3) && - 0 != strcmp (translate_locale, "C")) + '\0' == *translator_comment && + 0 != strncmp (translate_locale, "en_", 3) && + 0 != strcmp (translate_locale, "C")) should_translate = FALSE; - + g_once_init_leave (&translate, - should_translate ? - SHOULD_TRANSLATE : - SHOULD_NOT_TRANSLATE); + should_translate ? + SHOULD_TRANSLATE : + SHOULD_NOT_TRANSLATE); } return translate == SHOULD_TRANSLATE; @@ -3239,7 +3239,7 @@ g_dgettext (const gchar *domain, * dcgettext() directly. * * Returns: the translated string for the given locale category - * + * * Since: 2.26 */ G_CONST_RETURN gchar * @@ -3276,7 +3276,7 @@ G_CONST_RETURN gchar * g_dngettext (const gchar *domain, const gchar *msgid, const gchar *msgid_plural, - gulong n) + gulong n) { if (domain && G_UNLIKELY (!_g_dgettext_should_translate ())) return n == 1 ? msgid : msgid_plural; diff --git a/glib/gthreadpool.c b/glib/gthreadpool.c index ea312da..3bab274 100644 --- a/glib/gthreadpool.c +++ b/glib/gthreadpool.c @@ -26,7 +26,12 @@ #include "config.h" -#include "glib.h" +#include "gthreadpool.h" + +#include "gasyncqueue.h" +#include "gmain.h" +#include "gtestutils.h" +#include "gtimer.h" /** * SECTION: thread_pools diff --git a/glib/gtimer.c b/glib/gtimer.c index 05fcbc5..35e7369 100644 --- a/glib/gtimer.c +++ b/glib/gtimer.c @@ -21,10 +21,10 @@ * Modified by the GLib Team and others 1997-2000. See the AUTHORS * file for a list of people on the GLib Team. See the ChangeLog * files for a list of changes. These files are distributed with - * GLib at ftp://ftp.gtk.org/pub/gtk/. + * GLib at ftp://ftp.gtk.org/pub/gtk/. */ -/* +/* * MT safe */ @@ -47,7 +47,11 @@ #include #endif /* G_OS_WIN32 */ -#include "glib.h" +#include "gtimer.h" + +#include "gmem.h" +#include "gstrfuncs.h" +#include "gtestutils.h" #include "gthread.h" /** diff --git a/glib/gunicollate.c b/glib/gunicollate.c index b64b0a4..ef399a7 100644 --- a/glib/gunicollate.c +++ b/glib/gunicollate.c @@ -30,8 +30,13 @@ #include #endif -#include "glib.h" +#include "gmem.h" +#include "gunicode.h" #include "gunicodeprivate.h" +#include "gstring.h" +#include "gstrfuncs.h" +#include "gtestutils.h" + #ifdef _MSC_VER /* Workaround for bug in MSVCR80.DLL */ diff --git a/glib/guniprop.c b/glib/guniprop.c index 39be7dd..e741099 100644 --- a/glib/guniprop.c +++ b/glib/guniprop.c @@ -26,7 +26,11 @@ #include #include -#include "glib.h" +#include "gmem.h" +#include "gstring.h" +#include "gtestutils.h" +#include "gtypes.h" +#include "gunicode.h" #include "gunichartables.h" #include "gmirroringtable.h" #include "gscripttable.h" -- 2.7.4