Merge branch 'main-master'
[centerim/funkyfish.git] / libyahoo2 / yahoo_util.h
blob9e4a724dd70cb4fc1cd4d6847530515dca3c13cb
1 /*
2 * libyahoo2: yahoo_util.h
4 * Copyright (C) 2002-2004, Philip S Tellis <philip.tellis AT gmx.net>
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22 #ifndef __YAHOO_UTIL_H__
23 #define __YAHOO_UTIL_H__
25 #if HAVE_CONFIG_H
26 # include <config.h>
27 #endif
29 #if HAVE_GLIB
30 # include <glib.h>
32 # define FREE(x) if(x) {g_free(x); x=NULL;}
34 # define y_new g_new
35 # define y_new0 g_new0
36 # define y_renew g_renew
38 # define y_memdup g_memdup
39 # define y_strsplit g_strsplit
40 # define y_strfreev g_strfreev
41 # ifndef strdup
42 # define strdup g_strdup
43 # endif
44 # ifndef strncasecmp
45 # define strncasecmp g_strncasecmp
46 # define strcasecmp g_strcasecmp
47 # endif
49 # define snprintf g_snprintf
50 # define vsnprintf g_vsnprintf
52 #else
54 # include <stdlib.h>
55 # include <stdarg.h>
57 # define FREE(x) if(x) {free(x); x=NULL;}
59 # define y_new(type, n) (type *)malloc(sizeof(type) * (n))
60 # define y_new0(type, n) (type *)calloc((n), sizeof(type))
61 # define y_renew(type, mem, n) (type *)realloc(mem, n)
63 void * y_memdup(const void * addr, int n);
64 char ** y_strsplit(char * str, char * sep, int nelem);
65 void y_strfreev(char ** vector);
67 int strncasecmp(const char * s1, const char * s2, size_t n);
68 int strcasecmp(const char * s1, const char * s2);
70 //char * strdup(const char *s);
71 #endif
73 #ifndef TRUE
74 #define TRUE 1
75 #endif
77 #ifndef FALSE
78 #define FALSE 0
79 #endif
81 #ifndef MIN
82 #define MIN(x,y) ((x)<(y)?(x):(y))
83 #endif
85 #ifndef MAX
86 #define MAX(x,y) ((x)>(y)?(x):(y))
87 #endif
89 /*
90 * The following three functions return newly allocated memory.
91 * You must free it yourself
93 char * y_string_append(char * str, char * append);
94 char * y_str_to_utf8(const char * in);
95 char * y_utf8_to_str(const char * in);
97 #endif