48 lines
974 B
C
48 lines
974 B
C
/*
|
|
* Copyright (c) 2009 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.
|
|
*/
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <jansson.h>
|
|
|
|
#define BUFFER_SIZE (256 * 1024)
|
|
|
|
int main(int argc, char *argv[])
|
|
{
|
|
json_t *json;
|
|
json_error_t error;
|
|
int count;
|
|
char buffer[BUFFER_SIZE];
|
|
char *result;
|
|
|
|
if(argc != 1) {
|
|
fprintf(stderr, "usage: %s\n", argv[0]);
|
|
return 2;
|
|
}
|
|
|
|
count = fread(buffer, 1, BUFFER_SIZE, stdin);
|
|
if(count < 0 || count >= BUFFER_SIZE) {
|
|
fprintf(stderr, "unable to read input\n");
|
|
return 1;
|
|
}
|
|
buffer[count] = '\0';
|
|
|
|
json = json_loads(buffer, &error);
|
|
if(!json) {
|
|
fprintf(stderr, "%d\n%s\n", error.line, error.text);
|
|
return 1;
|
|
}
|
|
|
|
result = json_dumps(json, 0);
|
|
json_decref(json);
|
|
|
|
puts(result);
|
|
free(result);
|
|
|
|
return 0;
|
|
}
|