summaryrefslogtreecommitdiff
path: root/glib/gutils.c
diff options
context:
space:
mode:
authorCarsten Haitzler <raster@src.gnome.org>1998-07-03 20:33:16 +0000
committerCarsten Haitzler <raster@src.gnome.org>1998-07-03 20:33:16 +0000
commit4389781ea1ec28ddcfc7a2c7f543ce7405d34f31 (patch)
tree924b41dff9752c6dd7f91fdea0e5b4f51135c302 /glib/gutils.c
parent0da6bdc3304d7fcd0d37e04a117804b229990d1f (diff)
downloadgtk+-themes.tar.gz
Wheee now others can get to play :)themes
Wheee now others can get to play :)
Diffstat (limited to 'glib/gutils.c')
-rw-r--r--glib/gutils.c266
1 files changed, 88 insertions, 178 deletions
diff --git a/glib/gutils.c b/glib/gutils.c
index e23280ff62..ef51134828 100644
--- a/glib/gutils.c
+++ b/glib/gutils.c
@@ -25,13 +25,6 @@
#include "glib.h"
-static GErrorFunc glib_error_func = NULL;
-static GWarningFunc glib_warning_func = NULL;
-static GPrintFunc glib_message_func = NULL;
-static GPrintFunc glib_print_func = NULL;
-
-extern char* g_vsprintf (const gchar *fmt, va_list *args, va_list *args2);
-
gchar*
g_strdup (const gchar *str)
{
@@ -577,85 +570,85 @@ g_strsignal (gint signum)
case SIGQUIT: return "Quit";
#endif
#ifdef SIGILL
- case SIGILL: "Illegal instruction";
+ case SIGILL: return "Illegal instruction";
#endif
#ifdef SIGTRAP
- case SIGTRAP: "Trace/breakpoint trap";
+ case SIGTRAP: return "Trace/breakpoint trap";
#endif
#ifdef SIGABRT
- case SIGABRT: "IOT trap/Abort";
+ case SIGABRT: return "IOT trap/Abort";
#endif
#ifdef SIGBUS
- case SIGBUS: "Bus error";
+ case SIGBUS: return "Bus error";
#endif
#ifdef SIGFPE
- case SIGFPE: "Floating point exception";
+ case SIGFPE: return "Floating point exception";
#endif
#ifdef SIGKILL
- case SIGKILL: "Killed";
+ case SIGKILL: return "Killed";
#endif
#ifdef SIGUSR1
- case SIGUSR1: "User defined signal 1";
+ case SIGUSR1: return "User defined signal 1";
#endif
#ifdef SIGSEGV
- case SIGSEGV: "Segmentation fault";
+ case SIGSEGV: return "Segmentation fault";
#endif
#ifdef SIGUSR2
- case SIGUSR2: "User defined signal 2";
+ case SIGUSR2: return "User defined signal 2";
#endif
#ifdef SIGPIPE
- case SIGPIPE: "Broken pipe";
+ case SIGPIPE: return "Broken pipe";
#endif
#ifdef SIGALRM
- case SIGALRM: "Alarm clock";
+ case SIGALRM: return "Alarm clock";
#endif
#ifdef SIGTERM
- case SIGTERM: "Terminated";
+ case SIGTERM: return "Terminated";
#endif
#ifdef SIGSTKFLT
- case SIGSTKFLT: "Stack fault";
+ case SIGSTKFLT: return "Stack fault";
#endif
#ifdef SIGCHLD
- case SIGCHLD: "Child exited";
+ case SIGCHLD: return "Child exited";
#endif
#ifdef SIGCONT
- case SIGCONT: "Continued";
+ case SIGCONT: return "Continued";
#endif
#ifdef SIGSTOP
- case SIGSTOP: "Stopped (signal)";
+ case SIGSTOP: return "Stopped (signal)";
#endif
#ifdef SIGTSTP
- case SIGTSTP: "Stopped";
+ case SIGTSTP: return "Stopped";
#endif
#ifdef SIGTTIN
- case SIGTTIN: "Stopped (tty input)";
+ case SIGTTIN: return "Stopped (tty input)";
#endif
#ifdef SIGTTOU
- case SIGTTOU: "Stopped (tty output)";
+ case SIGTTOU: return "Stopped (tty output)";
#endif
#ifdef SIGURG
- case SIGURG: "Urgent condition";
+ case SIGURG: return "Urgent condition";
#endif
#ifdef SIGXCPU
- case SIGXCPU: "CPU time limit exceeded";
+ case SIGXCPU: return "CPU time limit exceeded";
#endif
#ifdef SIGXFSZ
- case SIGXFSZ: "File size limit exceeded";
+ case SIGXFSZ: return "File size limit exceeded";
#endif
#ifdef SIGVTALRM
- case SIGVTALRM: "Virtual time alarm";
+ case SIGVTALRM: return "Virtual time alarm";
#endif
#ifdef SIGPROF
- case SIGPROF: "Profile signal";
+ case SIGPROF: return "Profile signal";
#endif
#ifdef SIGWINCH
- case SIGWINCH: "Window size changed";
+ case SIGWINCH: return "Window size changed";
#endif
#ifdef SIGIO
- case SIGIO: "Possible I/O";
+ case SIGIO: return "Possible I/O";
#endif
#ifdef SIGPWR
- case SIGPWR: "Power failure";
+ case SIGPWR: return "Power failure";
#endif
#ifdef SIGUNUSED
case SIGUNUSED: return "Unused signal";
@@ -670,146 +663,6 @@ g_strsignal (gint signum)
return msg;
}
-void
-g_error (gchar *format, ...)
-{
- va_list args, args2;
- char *buf;
-
- va_start (args, format);
- va_start (args2, format);
- buf = g_vsprintf (format, &args, &args2);
- va_end (args);
- va_end (args2);
-
- if (glib_error_func)
- {
- (* glib_error_func) (buf);
- }
- else
- {
- fputs ("\n** ERROR **: ", stderr);
- fputs (buf, stderr);
- fputc ('\n', stderr);
- }
-
- abort ();
-}
-
-void
-g_warning (gchar *format, ...)
-{
- va_list args, args2;
- char *buf;
-
- va_start (args, format);
- va_start (args2, format);
- buf = g_vsprintf (format, &args, &args2);
- va_end (args);
- va_end (args2);
-
- if (glib_warning_func)
- {
- (* glib_warning_func) (buf);
- }
- else
- {
- fputs ("\n** WARNING **: ", stderr);
- fputs (buf, stderr);
- fputc ('\n', stderr);
- }
-}
-
-void
-g_message (gchar *format, ...)
-{
- va_list args, args2;
- char *buf;
-
- va_start (args, format);
- va_start (args2, format);
- buf = g_vsprintf (format, &args, &args2);
- va_end (args);
- va_end (args2);
-
- if (glib_message_func)
- {
- (* glib_message_func) (buf);
- }
- else
- {
- fputs ("message: ", stdout);
- fputs (buf, stdout);
- fputc ('\n', stdout);
- }
-}
-
-void
-g_print (gchar *format, ...)
-{
- va_list args, args2;
- char *buf;
-
- va_start (args, format);
- va_start (args2, format);
- buf = g_vsprintf (format, &args, &args2);
- va_end (args);
- va_end (args2);
-
- if (glib_print_func)
- {
- (* glib_print_func) (buf);
- }
- else
- {
- fputs (buf, stdout);
- }
-}
-
-GErrorFunc
-g_set_error_handler (GErrorFunc func)
-{
- GErrorFunc old_error_func;
-
- old_error_func = glib_error_func;
- glib_error_func = func;
-
- return old_error_func;
-}
-
-GWarningFunc
-g_set_warning_handler (GWarningFunc func)
-{
- GWarningFunc old_warning_func;
-
- old_warning_func = glib_warning_func;
- glib_warning_func = func;
-
- return old_warning_func;
-}
-
-GPrintFunc
-g_set_message_handler (GPrintFunc func)
-{
- GPrintFunc old_message_func;
-
- old_message_func = glib_message_func;
- glib_message_func = func;
-
- return old_message_func;
-}
-
-GPrintFunc
-g_set_print_handler (GPrintFunc func)
-{
- GPrintFunc old_print_func;
-
- old_print_func = glib_print_func;
- glib_print_func = func;
-
- return old_print_func;
-}
-
gint
g_snprintf (gchar *str,
gulong n,
@@ -845,25 +698,82 @@ g_snprintf (gchar *str,
#endif
}
+void
+g_strdown (gchar *string)
+{
+ register gchar *s;
+
+ g_return_if_fail (string != NULL);
+
+ s = string;
+
+ while (*s)
+ {
+ *s = tolower (*s);
+ s++;
+ }
+}
+
+void
+g_strup (gchar *string)
+{
+ register gchar *s;
+
+ g_return_if_fail (string != NULL);
+
+ s = string;
+
+ while (*s)
+ {
+ *s = toupper (*s);
+ s++;
+ }
+}
+
gint
-g_strcasecmp (const gchar *s1, const gchar *s2)
+g_strcasecmp (const gchar *s1,
+ const gchar *s2)
{
#ifdef HAVE_STRCASECMP
- return strcasecmp(s1, s2);
+ return strcasecmp (s1, s2);
#else
gint c1, c2;
while (*s1 && *s2)
{
- c1 = tolower((guchar)(*s1++)); c2 = tolower((guchar)(*s2++));
+ /* According to A. Cox, some platforms have islower's that
+ * don't work right on non-uppercase
+ */
+ c1 = isupper ((guchar)*s1) ? tolower ((guchar)*s1) : *s1;
+ c2 = isupper ((guchar)*s2) ? tolower ((guchar)*s2) : *s2;
if (c1 != c2)
return (c1 - c2);
+ s1++; s2++;
}
return (((gint)(guchar) *s1) - ((gint)(guchar) *s2));
#endif
}
+void
+g_strdelimit (gchar *string,
+ const gchar *delimiters,
+ gchar new_delim)
+{
+ register gchar *c;
+
+ g_return_if_fail (string != NULL);
+
+ if (!delimiters)
+ delimiters = G_STR_DELIMITERS;
+
+ for (c = string; *c; c++)
+ {
+ if (strchr (delimiters, *c))
+ *c = new_delim;
+ }
+}
+
guint
g_parse_debug_string (const gchar *string,
GDebugKey *keys,
@@ -913,6 +823,6 @@ g_parse_debug_string (const gchar *string,
guint
g_direct_hash(gpointer key)
{
- return (guint) key;
+ return GPOINTER_TO_UINT (key);
}