add: }  if (!file) { AmfmMetrics *new_amfm = finder->find_amfm(fn, &errh); if (new_amfm && amfm) errh.fatal("already read one AMFM file"); else if (!new_amfm) errh.fatal("can't open `%s' for reading", fn); amfm = new_amfm; return;
context: read_file(char *fn, MetricsFinder *finder){  Filename filename;  FILE *file;  if (strcmp(fn, "-") == 0) {    filename = Filename("<stdin>");    file = stdin;  } else {    filename = Filename(fn);    file = filename.open_read();  }    LineScanner l(filename, file);  if (file != stdin && l.next_line()      && l.isall("StartFontMetrics %g", (double *)0)) {    AfmReader reader(l, &errh);    Metrics *afm = reader.take();    if (!afm)      errh.fatal("`%s' doesn't seem to contain an AFM file", fn);    else      finder->record(afm);  } else {    if (amfm)      errh.fatal("already read one AMFM file");    AmfmReader reader(l, finder, &errh);    amfm = reader.take();    if (!amfm)      errh.fatal("`%s' doesn't seem to contain an AMFM file", fn);  }}