{
char *olddir, *source = argv[optind];
+ scf = (struct scf_t *)calloc(sizeof(struct scf_t), 1);
+ scf->next = scflist;
+ scflist = scf;
+
if (is_scf_file(source))
{
if (dir)
olddir = getcwd(NULL, 0); /* may fail off Linux */
chdir(dir);
}
- scf = (struct scf_t *)malloc(sizeof(struct scf_t));
init_scf(source, scf);
- scf->next = scflist;
- scflist = scf;
if (dir)
chdir(olddir);
}
/* consistency checks on the SCFs */
for (scf = scflist; scf->next->next; scf = scf->next)
{
+ if (!scf->fp)
+ continue;
+
if (strcmp(scf->normalization, scf->next->normalization))
{
fprintf(stderr,
/* finish reading in all SCFs */
for (scf = scflist; scf->next; scf = scf->next)
- {
- read_scf(scf);
- fclose(scf->fp);
- }
+ if (scf->fp)
+ {
+ read_scf(scf);
+ fclose(scf->fp);
+ }
}