@@ -31,7 +31,7 @@ static const char *fname = NULL;
31
31
#define json_tokener_get_parse_end (tok ) ((tok)->char_offset)
32
32
#endif
33
33
34
- static void usage (int exitval , const char * errmsg );
34
+ static void usage (const char * argv0 , int exitval , const char * errmsg );
35
35
static void showmem (void );
36
36
static int parseit (int fd , int (* callback )(struct json_object * ));
37
37
static int showobj (struct json_object * new_obj );
@@ -42,7 +42,7 @@ static void showmem(void)
42
42
struct rusage rusage ;
43
43
memset (& rusage , 0 , sizeof (rusage ));
44
44
getrusage (RUSAGE_SELF , & rusage );
45
- printf ("maxrss: %d KB\n" , rusage .ru_maxrss );
45
+ printf ("maxrss: %ld KB\n" , rusage .ru_maxrss );
46
46
#endif
47
47
}
48
48
@@ -137,14 +137,14 @@ static int showobj(struct json_object *new_obj)
137
137
return 0 ;
138
138
}
139
139
140
- static void usage (int exitval , const char * errmsg )
140
+ static void usage (const char * argv0 , int exitval , const char * errmsg )
141
141
{
142
142
FILE * fp = stdout ;
143
143
if (exitval != 0 )
144
144
fp = stderr ;
145
145
if (errmsg != NULL )
146
146
fprintf (fp , "ERROR: %s\n\n" , errmsg );
147
- fprintf (fp , "Usage: %s [-f] [-n] [-s]\n" );
147
+ fprintf (fp , "Usage: %s [-f] [-n] [-s]\n" , argv0 );
148
148
fprintf (fp , " -f - Format the output with JSON_C_TO_STRING_PRETTY\n" );
149
149
fprintf (fp , " -n - No output\n" );
150
150
fprintf (fp , " -s - Parse in strict mode, flags:\n" );
@@ -160,14 +160,15 @@ int main(int argc, char **argv)
160
160
json_object * new_obj ;
161
161
int opt ;
162
162
163
- while ((opt = getopt (argc , argv , "fns " )) != -1 )
163
+ while ((opt = getopt (argc , argv , "fhns " )) != -1 )
164
164
{
165
165
switch (opt )
166
166
{
167
167
case 'f' : formatted_output = 1 ; break ;
168
168
case 'n' : show_output = 0 ; break ;
169
169
case 's' : strict_mode = 1 ; break ;
170
- default : /* '?' */ fprintf (stderr , "Usage: %s [-f]\n" , argv [0 ]); exit (EXIT_FAILURE );
170
+ case 'h' : usage (argv [0 ], 0 , NULL );
171
+ default : /* '?' */ usage (argv [0 ], 1 , "Unknown arguments" );
171
172
}
172
173
}
173
174
0 commit comments