Make json_error_t opaque
[jansson.git] / test / bin / json_process.c
index 794e307..671127a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009 Petri Lehtinen <petri@digip.org>
+ * Copyright (c) 2009, 2010 Petri Lehtinen <petri@digip.org>
  *
  * Jansson is free software; you can redistribute it and/or modify
  * it under the terms of the MIT license. See LICENSE for details.
@@ -28,10 +28,10 @@ static int getenv_int(const char *name)
 int main(int argc, char *argv[])
 {
     int indent = 0;
-    unsigned int flags = 0;
+    size_t flags = 0;
 
     json_t *json;
-    json_error_t error;
+    json_error_t *error;
 
     if(argc != 1) {
         fprintf(stderr, "usage: %s\n", argv[0]);
@@ -53,12 +53,18 @@ int main(int argc, char *argv[])
     if(getenv_int("JSON_ENSURE_ASCII"))
         flags |= JSON_ENSURE_ASCII;
 
+    if(getenv_int("JSON_PRESERVE_ORDER"))
+        flags |= JSON_PRESERVE_ORDER;
+
     if(getenv_int("JSON_SORT_KEYS"))
         flags |= JSON_SORT_KEYS;
 
-    json = json_loadf(stdin, &error);
+    json = json_loadf(stdin, 0, &error);
     if(!json) {
-        fprintf(stderr, "%d\n%s\n", error.line, error.text);
+        fprintf(stderr, "%d\n%s\n",
+                json_error_line(error),
+                json_error_msg(error));
+        free(error);
         return 1;
     }