on master help sign in
Minor fix: print rts opts help to stdout instead of stderr.
13a7afaSam T
rts/idris_opts.c+7−7
@@ -16,8 +16,8 @@ char usage[] =
16 " -K Sets the maximum stack size. Egs: -K8M\n" \
16 " -K Sets the maximum stack size. Egs: -K8M\n" \
17 "\n";
17 "\n";
18
18
19−void print_usage() {
19+void print_usage(FILE * s) {
20− fprintf(stderr, usage);
20+ fprintf(s, usage);
21}
21}
22
22
23int read_size(char * str) {
23int read_size(char * str) {
@@ -39,14 +39,14 @@ int read_size(char * str) {
39 "RTS Opts: Unable to recognize size suffix `%c'.\n" \
39 "RTS Opts: Unable to recognize size suffix `%c'.\n" \
40 " Possible suffixes are K or M or G.\n",
40 " Possible suffixes are K or M or G.\n",
41 mult);
41 mult);
42− print_usage();
42+ print_usage(stderr);
43 exit(EXIT_FAILURE);
43 exit(EXIT_FAILURE);
44 }
44 }
45 return size;
45 return size;
46 }
46 }
47
47
48 fprintf(stderr, "RTS Opts: Unable to parse size. Egs: 1K, 10M, 2G.\n");
48 fprintf(stderr, "RTS Opts: Unable to parse size. Egs: 1K, 10M, 2G.\n");
49− print_usage();
49+ print_usage(stderr);
50 exit(EXIT_FAILURE);
50 exit(EXIT_FAILURE);
51}
51}
52
52
@@ -67,14 +67,14 @@ int parse_args(RTSOpts * opts, int argc, char *argv[])
67
67
68 if (argv[i][0] != '-') {
68 if (argv[i][0] != '-') {
69 fprintf(stderr, "RTS options should start with '-'.\n");
69 fprintf(stderr, "RTS options should start with '-'.\n");
70− print_usage();
70+ print_usage(stderr);
71 exit(EXIT_FAILURE);
71 exit(EXIT_FAILURE);
72 }
72 }
73
73
74 switch (argv[i][1])
74 switch (argv[i][1])
75 {
75 {
76 case '?':
76 case '?':
77− print_usage();
77+ print_usage(stdout);
78 exit(EXIT_SUCCESS);
78 exit(EXIT_SUCCESS);
79 break;
79 break;
80
80
@@ -92,7 +92,7 @@ int parse_args(RTSOpts * opts, int argc, char *argv[])
92
92
93 default:
93 default:
94 printf("RTS opts: Wrong argument: %s\n", argv[i]);
94 printf("RTS opts: Wrong argument: %s\n", argv[i]);
95− print_usage();
95+ print_usage(stderr);
96 exit(EXIT_FAILURE);
96 exit(EXIT_FAILURE);
97 }
97 }
98 }
98 }
rts/idris_opts.h+2−1
@@ -2,6 +2,7 @@
2#define _IDRIS_OPTS_H
2#define _IDRIS_OPTS_H
3
3
4#include <stddef.h>
4#include <stddef.h>
5+#include <stdio.h>
5
6
6typedef struct {
7typedef struct {
7 size_t init_heap_size;
8 size_t init_heap_size;
@@ -9,7 +10,7 @@ typedef struct {
9 int show_summary;
10 int show_summary;
10} RTSOpts;
11} RTSOpts;
11
12
12−void print_usage();
13+void print_usage(FILE * s);
13
14
14// Parse rts options and shift arguments such that rts options becomes invisible
15// Parse rts options and shift arguments such that rts options becomes invisible
15// for main program.
16// for main program.