diff options
Diffstat (limited to 'lib/libshout-idjc/src/util.h')
-rw-r--r-- | lib/libshout-idjc/src/util.h | 36 |
1 files changed, 20 insertions, 16 deletions
diff --git a/lib/libshout-idjc/src/util.h b/lib/libshout-idjc/src/util.h index d58b5d3351..80e5901e2a 100644 --- a/lib/libshout-idjc/src/util.h +++ b/lib/libshout-idjc/src/util.h @@ -1,7 +1,7 @@ /* util.h: libshout utility/portability functions * - * Copyright (C) 2002-2004 the Icecast team <team@icecast.org>, - * Copyright (C) 2012 Philipp "ph3-der-loewe" Schafft <lion@lion.leolix.org> + * Copyright 2002-2004 the Icecast team <team@icecast.org>, + * Copyright 2012-2015 Philipp "ph3-der-loewe" Schafft <lion@lion.leolix.org> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public @@ -24,27 +24,31 @@ #define __LIBSHOUT_UTIL_H__ /* String dictionary type, without support for NULL keys, or multiple - * instances of the same key */ + * instances of the same key + */ typedef struct _util_dict { - char *key; - char *val; - struct _util_dict *next; + char *key; + char *val; + struct _util_dict *next; } util_dict; -char *_shout_util_strdup(const char *s); +char *_shout_util_strdup(const char *s); + +util_dict *_shout_util_dict_new(void); +void _shout_util_dict_free(util_dict *dict); -util_dict *_shout_util_dict_new(void); -void _shout_util_dict_free(util_dict *dict); /* dict, key must not be NULL. */ -int _shout_util_dict_set(util_dict *dict, const char *key, const char *val); -const char *_shout_util_dict_get(util_dict *dict, const char *key); -char *_shout_util_dict_urlencode(util_dict *dict, char delim); +int _shout_util_dict_set(util_dict *dict, const char *key, const char *val); +const char *_shout_util_dict_get(util_dict *dict, const char *key); +char *_shout_util_dict_urlencode(util_dict *dict, char delim); const char *_shout_util_dict_next(util_dict **dict, const char **key, const char **val); -#define _SHOUT_DICT_FOREACH(init,var,keyvar,valvar) for ((var) = (init), (keyvar) = (var)->key ? (var)->key : _shout_util_dict_next(&(var), &(keyvar), &(valvar)), (valvar) = (var)->val; (var); _shout_util_dict_next(&(var), &(keyvar), &(valvar))) -char *_shout_util_base64_encode(char *data); -char *_shout_util_url_encode(const char *data); -int _shout_util_read_header(int sock, char *buff, unsigned long len); +#define _SHOUT_DICT_FOREACH(init, var, keyvar, valvar) for ((var) = (init), (keyvar) = (var)->key ? (var)->key : _shout_util_dict_next(& (var), & (keyvar), & (valvar)), (valvar) = (var)->val; (var); _shout_util_dict_next(& (var), & (keyvar), & (valvar))) + +char *_shout_util_base64_encode(char *data); +char *_shout_util_url_encode(const char *data); +char *_shout_util_url_encode_resource(const char *data); +int _shout_util_read_header(int sock, char *buff, unsigned long len); #endif /* __LIBSHOUT_UTIL_H__ */ |