- fprintf(stderr, "Usage: %s %s %s", prog, bt_timeline_version,
- usage_str);
+ fprintf(stderr, "Usage: %s %s", prog, usage_str);
+}
+
+static FILE *setup_ofile(char *fname)
+{
+ if (fname) {
+ char *buf;
+ FILE *ofp = my_fopen(fname, "w");
+
+ if (!ofp) {
+ perror(fname);
+ exit(1);
+ }
+
+ buf = malloc(SETBUFFER_SIZE);
+ setbuffer(ofp, buf, SETBUFFER_SIZE);
+
+ add_file(ofp, fname);
+ add_buf(buf);
+
+ return ofp;
+ }
+
+ return NULL;
+}
+
+static FILE *std_open(char *output_name, char *sfx, char *msg)
+{
+ FILE *fp;
+ char fname[strlen(output_name) + 32];
+
+ sprintf(fname, "%s.%s", output_name, sfx);
+ fp = my_fopen(fname, "w");
+ if (fp == NULL) {
+ perror(fname);
+ exit(1);
+ }
+ if (verbose)
+ printf("Sending %s to %s\n", msg, fname);
+
+ return fp;