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__
32 # define FREE(x) if(x) {g_free(x); x=NULL;}
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
42 # define strdup g_strdup
45 # define strncasecmp g_strncasecmp
46 # define strcasecmp g_strcasecmp
49 # define snprintf g_snprintf
50 # define vsnprintf g_vsnprintf
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);
82 #define MIN(x,y) ((x)<(y)?(x):(y))
86 #define MAX(x,y) ((x)>(y)?(x):(y))
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
);