Add files
authorMiguel de Icaza <miguel@gnome.org>
Wed, 16 Aug 2006 19:50:08 +0000 (19:50 -0000)
committerMiguel de Icaza <miguel@gnome.org>
Wed, 16 Aug 2006 19:50:08 +0000 (19:50 -0000)
svn path=/trunk/mono/; revision=63840

eglib/src/goutput.c [new file with mode: 0644]
eglib/src/gstring.c [new file with mode: 0644]

diff --git a/eglib/src/goutput.c b/eglib/src/goutput.c
new file mode 100644 (file)
index 0000000..27f0f10
--- /dev/null
@@ -0,0 +1,87 @@
+/*
+ * Output and debugging functions
+ *
+ * Author:
+ *   Miguel de Icaza (miguel@novell.com)
+ *
+ * (C) 2006 Novell, Inc.
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+ * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <glib.h>
+
+/* The current fatal levels, error is always fatal */
+static GLogLevelFlags fatal = G_LOG_LEVEL_ERROR;
+
+void
+g_print (const gchar *format, ...)
+{
+       va_list args;
+
+       va_start (args, format);
+       vprintf (format, args);
+       va_end (args);
+}
+
+GLogLevelFlags
+g_log_set_always_fatal (GLogLevelFlags fatal_mask)
+{
+       GLogLevelFlags old_fatal = fatal;
+
+       fatal |= fatal_mask;
+       
+       return old_fatal;
+}
+
+GLogLevelFlags
+g_log_set_fatal_mask (const gchar *log_domain, GLogLevelFlags fatal_mask)
+{
+       /*
+        * Mono does not use a G_LOG_DOMAIN currently, so we just assume things are fatal
+        * if we decide to set G_LOG_DOMAIN (we probably should) we should implement
+        * this.
+        */
+}
+
+void
+g_logv (const gchar *log_domain, GLogLevelFlags log_level, const gchar *format, va_list args)
+{
+       printf ("%s%s%s",
+               log_domain != NULL ? log_domain : "",
+               log_domain != NULL ? ": " : "",
+               format);
+       g_free (format);
+       if (log_level & fatal)
+               abort ();
+}
+
+void
+g_log (const gchar *log_domain, GLogLevelFlags log_level, const gchar *format, ...)
+{
+       char *fmt;
+       va_list args;
+
+       va_start (args, format);
+       g_logv (log_domain, log_level, format, args);
+       fmt = g_strdup_printf (format, args);
+       va_end (args);
+}
+
diff --git a/eglib/src/gstring.c b/eglib/src/gstring.c
new file mode 100644 (file)
index 0000000..6cb0ce5
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * String functions
+ *
+ * Author:
+ *   Miguel de Icaza (miguel@novell.com)
+ *
+ * (C) 2006 Novell, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+ * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+#define _GNU_SOURCE
+#include <stdio.h>
+#include <glib.h>
+
+gchar *
+g_strdup_printf (const gchar *format, ...)
+{
+       gchar *ret;
+       va_list args;
+       int n;
+
+       va_start (args, format);
+       n = vasprintf (&ret, format, args);
+       va_end (args);
+       if (n == -1)
+               return NULL;
+
+       return ret;
+}