+ else if (iso2709_fname)
+ {
+ FILE *inf;
+ char *buf;
+ const char *nargv[5];
+ Iso2709Rec rec;
+ int no = 0;
+
+ inf = fopen (iso2709_fname, "r");
+ if (!inf)
+ {
+ fprintf (stderr, "cannot open %s\n", iso2709_fname);
+ exit (1);
+ }
+ while (no < number_of_records && (buf = iso2709_read (inf)))
+ {
+ rec = iso2709_cvt (buf);
+ free (buf);
+ nargv[0] = "\\";
+ nargv[1] = format_func;
+ nargv[2] = " \\list";
+ nargv[4] = NULL;
+ nargv[3]= marc_to_str (fml, rec);
+ if (marc_show)
+ printf ("\n[%s]\n", nargv[3]);
+ iso2709_rm (rec);
+ fml_exec_call_argv (fml, nargv);
+ no++;
+ }
+ fclose (inf);
+ }