X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FRtsFlags.c;h=497cd88aba87144015d0ad2818af6942e3c39df1;hb=66579ff945831c5fc9a17c58c722ff01f2268d76;hp=0618386ae5a396d35bb8fc6225bf1e4c59c3dbe4;hpb=74ee9df9f9e79e7110e9d8541b84010f35c464c5;p=ghc-hetmet.git diff --git a/rts/RtsFlags.c b/rts/RtsFlags.c index 0618386..497cd88 100644 --- a/rts/RtsFlags.c +++ b/rts/RtsFlags.c @@ -359,9 +359,9 @@ usage_text[] = { " -I Perform full GC after idle time (default: 0.3, 0 == off)", #endif "", -" -t One-line GC statistics (default file: .stat)", -" -s Summary GC statistics (with -Sstderr going to stderr)", -" -S Detailed GC statistics", +" -t[] One-line GC statistics (if omitted, uses stderr)", +" -s[] Summary GC statistics (if omitted, uses stderr)", +" -S[] Detailed GC statistics (if omitted, uses stderr)", #ifdef RTS_GTK_FRONTPANEL " -f Display front panel (requires X11 & GTK+)", #endif @@ -918,7 +918,7 @@ error = rtsTrue; { int r; r = open_stats_file(arg, *argc, argv, - *rts_argc, rts_argv, STAT_FILENAME_FMT, + *rts_argc, rts_argv, NULL, &RtsFlags.GcFlags.statsFile); if (r == -1) { error = rtsTrue; } } @@ -1147,7 +1147,7 @@ error = rtsTrue; if (rts_argv[arg][2] != '\0') { RtsFlags.ParFlags.gcThreads = strtol(rts_argv[arg]+2, (char **) NULL, 10); - if (RtsFlags.ParFlags.nNodes <= 0) { + if (RtsFlags.ParFlags.gcThreads <= 0) { errorBelch("bad value for -g"); error = rtsTrue; } @@ -2343,16 +2343,17 @@ open_stats_file ( { FILE *f = NULL; - if (strequal(rts_argv[arg]+2, "stderr") || strequal(rts_argv[arg]+2, "-")) { + if (strequal(rts_argv[arg]+2, "stderr") + || (FILENAME_FMT == NULL && rts_argv[arg][2] == '\0')) { f = NULL; /* NULL means use debugBelch */ } else { - if (rts_argv[arg][2] != '\0') { /* stats file specified */ - f = fopen(rts_argv[arg]+2,"w"); - } else { - char stats_filename[STATS_FILENAME_MAXLEN]; /* default . */ - sprintf(stats_filename, FILENAME_FMT, argv[0]); - f = fopen(stats_filename,"w"); - } + if (rts_argv[arg][2] != '\0') { /* stats file specified */ + f = fopen(rts_argv[arg]+2,"w"); + } else { + char stats_filename[STATS_FILENAME_MAXLEN]; /* default . */ + sprintf(stats_filename, FILENAME_FMT, argv[0]); + f = fopen(stats_filename,"w"); + } if (f == NULL) { errorBelch("Can't open stats file %s\n", rts_argv[arg]+2); return -1;