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