Avoid using non-portable debian.h
[yaz-moved-to-github.git] / src / json.c
index d3cee68..a214eac 100644 (file)
@@ -1,5 +1,5 @@
 /* This file is part of the YAZ toolkit.
- * Copyright (C) 1995-2012 Index Data
+ * Copyright (C) Index Data
  * See the file LICENSE for details.
  */
 /**
@@ -36,7 +36,7 @@ struct json_parser_s {
 json_parser_t json_parser_create(void)
 {
     json_parser_t p = (json_parser_t) xmalloc(sizeof(*p));
-    
+
     p->buf = 0;
     p->cp = 0;
     p->err_msg = 0;
@@ -198,7 +198,7 @@ static struct json_node *json_parse_string(json_parser_t p)
     }
     n = json_new_node(p, json_node_string);
     dst = n->u.string = (char *) xmalloc(l + 1);
-    
+
     cp = p->cp;
     while (*cp && *cp != '"')
     {
@@ -302,7 +302,7 @@ static struct json_node *json_parse_elements(json_parser_t p)
         }
         m2 = json_new_node(p, json_node_list);
         m2->u.link[0] = n2;
-        
+
         m1->u.link[1] = m2;
         m1 = m2;
     }
@@ -377,7 +377,7 @@ static struct json_node *json_parse_members(json_parser_t p)
         }
         m2 = json_new_node(p, json_node_list);
         m2->u.link[0] = n2;
-        
+
         m1->u.link[1] = m2;
         m1 = m2;
     }
@@ -462,46 +462,6 @@ struct json_node *json_parse(const char *json_str, const char **errmsg)
     return json_parse2(json_str, errmsg, 0);
 }
 
-static void wrbuf_json_write(WRBUF b, const char *cp, size_t sz)
-{
-    size_t i;
-    for (i = 0; i < sz; i++)
-    {
-        if (cp[i] > 0 && cp[i] < 32)
-        {
-            wrbuf_putc(b, '\\');
-            switch (cp[i])
-            {
-            case '\b': wrbuf_putc(b, 'b'); break;
-            case '\f': wrbuf_putc(b, 'f'); break;
-            case '\n': wrbuf_putc(b, 'n'); break;
-            case '\r': wrbuf_putc(b, 'r'); break;
-            case '\t': wrbuf_putc(b, 't'); break;
-            default:
-                wrbuf_printf(b, "u%04x", cp[i]);
-            }
-        }
-        else if (cp[i] == '"')
-        {
-            wrbuf_putc(b, '\\'); wrbuf_putc(b, '"');
-        }
-        else if (cp[i] == '\\')
-        {
-            wrbuf_putc(b, '\\'); wrbuf_putc(b, '\\');
-        }
-        else
-        {   /* leave encoding as raw UTF-8 */
-            wrbuf_putc(b, cp[i]);
-        }
-    }       
-        
-}
-
-void wrbuf_json_puts(WRBUF b, const char *str)
-{
-    wrbuf_json_write(b, str, strlen(str));
-}
-
 static void json_indent(WRBUF result, int indent)
 {
     size_t l = wrbuf_len(result);
@@ -525,7 +485,7 @@ static void json_write_wrbuf_r(struct json_node *node, WRBUF result, int indent)
         wrbuf_puts(result, "{");
         if (indent >= 0)
         {
-            wrbuf_puts(result, "\n"); 
+            wrbuf_puts(result, "\n");
             json_indent(result, sub_indent);
         }
         if (node->u.link[0])
@@ -623,7 +583,7 @@ static struct json_node **json_get_objectp(struct json_node *n,
 struct json_node *json_get_object(struct json_node *n, const char *name)
 {
     struct json_node **np = json_get_objectp(n, name);
-    
+
     if (np)
         return *np;
     return 0;
@@ -632,7 +592,7 @@ struct json_node *json_get_object(struct json_node *n, const char *name)
 struct json_node *json_detach_object(struct json_node *n, const char *name)
 {
     struct json_node **np = json_get_objectp(n, name);
-    
+
     if (np)
     {
         struct json_node *n = *np;