1 /* miniglib.c -- minimalistic glib-style misc accessory functions
2  * by pts@fazekas.hu at Sun Sep 29 22:13:46 CEST 2002
3  */
4 
5 #if defined(__GNUC__) && defined(__cplusplus)
6 #pragma implementation
7 #endif
8 
9 #include "miniglib.h"
10 #include <stdio.h> /* vprintf() */
11 #include <string.h> /* strlen() */
12 #include <stdlib.h> /* malloc() */
13 
g_message(const char * fmt,...)14 int g_message(const char *fmt, ...) {
15   va_list ap;
16   int ret;
17   va_start(ap, fmt);
18   ret=vfprintf(stderr, fmt, ap);
19   va_end(ap);
20   fflush(stderr);
21   return ret;
22 }
23 
g_print(const char * fmt,...)24 int g_print(const char *fmt, ...) {
25   /* Dat: currently same as g_message() */
26   va_list ap;
27   int ret;
28   va_start(ap, fmt);
29   ret=vfprintf(stdout, fmt, ap);
30   va_end(ap);
31   return ret;
32 }
33 
g_logv(unsigned gg_log_domain,unsigned gg_log_level,const char * fmt,va_list ap)34 void g_logv(unsigned gg_log_domain, unsigned gg_log_level, const char *fmt, va_list ap) {
35   fprintf(stderr, "g_logv domain=%u level=%u: \n", gg_log_domain, gg_log_level);
36   vfprintf(stderr, fmt, ap);
37   fprintf(stderr, ".\n");
38 }
g_strdup(char const * str)39 char *g_strdup(char const*str) {
40   char *t=(char*)NULLP;
41   if (str!=NULLP) strcpy(t=(char*)g_malloc(strlen(str)+1),str);
42   return t;
43 }
g_malloc(gsize_t len)44 void *g_malloc(gsize_t len) {
45   void *p=malloc(len);
46   if (!p) { fputs("Out of memory!\n", stderr); fflush(stderr); abort(); }
47   return p;
48 }
g_malloc0(gsize_t len)49 void *g_malloc0(gsize_t len) {
50   return malloc(len);
51 }
g_free(void const * p)52 void g_free(void const*p) {
53   if (p!=NULLP) {
54     #ifdef __cplusplus
55       free(const_cast<void*>(p));
56     #else
57       free((void*)(long)p); /* pacify gcc 2.95 warning */
58     #endif
59   }
60 }
61 
62 /* __END__ */
63