diff options
author | Iru Cai <mytbk920423@gmail.com> | 2018-06-27 23:34:21 +0800 |
---|---|---|
committer | Iru Cai <mytbk920423@gmail.com> | 2018-06-28 00:16:51 +0800 |
commit | b0e376b6ba1891fcf749d22095c4f79a843a5d0f (patch) | |
tree | 5008f76cf09bbda7b979180997a8cb3e142f0899 /util.h | |
parent | e6d9edc048efb5b19d79bbe7871b2ff779d72311 (diff) | |
download | matrix-curl-b0e376b6ba1891fcf749d22095c4f79a843a5d0f.tar.xz |
util.c: string builder
and rename util.{c,h} to curl_util
Diffstat (limited to 'util.h')
-rw-r--r-- | util.h | 45 |
1 files changed, 12 insertions, 33 deletions
@@ -1,39 +1,18 @@ -#ifndef MATRIX_CURL_UTIL_H -#define MATRIX_CURL_UTIL_H +#ifndef LIBMC_UTIL_H +#define LIBMC_UTIL_H -#include <curl/curl.h> -#include <json-c/json.h> -#include <string.h> +#ifdef __cplusplus +extern "C" { +#endif /* } */ -CURLcode _curl_get(CURL *curl, const char *url, json_object **resp); -CURLcode _curl_post(CURL *curl, const char *url, const char *postdata, - json_object **resp); +/* build a new C string by concatenate strings in ss + * @ss: C strings, the last element is NULL + * @note callers should call free() to free the returned C string + */ +char * alloc_build_string(const char *ss[]); -static inline int -json_add_string(json_object *j, const char *k, const char *v) -{ - return json_object_object_add(j, k, json_object_new_string(v)); -} - -static inline -const char *json_gets(json_object *j, const char *key) -{ - json_object *val; - - if (json_object_object_get_ex(j, key, &val)) { - if (json_object_is_type(val, json_type_string)) - return json_object_get_string(val); - } - return NULL; -} - -static inline -char* copy_str(const char *s) -{ - size_t l = strlen(s)+1; - char *ss = (char*)malloc(l); - memcpy(ss, s, l); - return ss; +#ifdef __cplusplus } +#endif #endif |