]> granicus.if.org Git - graphviz/commitdiff
Fixes for bug 1816
authorerg <devnull@localhost>
Mon, 16 Nov 2009 20:38:05 +0000 (20:38 +0000)
committererg <devnull@localhost>
Mon, 16 Nov 2009 20:38:05 +0000 (20:38 +0000)
lib/common/mpgen.c
lib/common/psusershape.c
lib/common/utils.c

index 9e4474c9981b58c9b3e6f7cdd93f5564b7478a8c..93a7303de47712f6ccac7a146ef45cb539e5d14b 100644 (file)
@@ -87,6 +87,7 @@ static void mp_cat_libfile(FILE * ofp, const char **arglib, const char **stdlib)
                while ((bp = Fgets(fp)))
                    fputs(bp, ofp);
                fputc('\n', ofp); /* append a newline just in case */
+               fclose (fp);
            } else
                agerr(AGWARN, "can't open library file %s\n", p);
        }
index 3a57431bd85d20769b9ed69cc6ea3e84a1ff3011..4096f7ada999995ca5716546c731b0d3e6567318 100644 (file)
@@ -88,14 +88,14 @@ static usershape_t *user_init(const char *str)
        fseek(fp, 0, SEEK_SET);
        rc = fread(contents, statbuf.st_size, 1, fp);
        contents[statbuf.st_size] = '\0';
-       fclose(fp);
        dtinsert(EPSF_contents, us);
        us->must_inline = must_inline;
-       return us;
     } else {
        agerr(AGWARN, "BoundingBox not found in epsf file %s\n", str);
-       return NULL;
+       us = NULL;
     }
+    fclose(fp);
+    return us;
 }
 
 void epsf_init(node_t * n)
@@ -167,6 +167,7 @@ void cat_libfile(GVJ_t * job, const char **arglib, const char **stdlib)
                 while ((bp = Fgets(fp)))
                     gvputs(job, bp);
                 gvputs(job, "\n"); /* append a newline just in case */
+               fclose (fp);
             } else
                 agerr(AGWARN, "can't open library file %s\n", p);
         }
index 33ca9a192eb8d8fb0a270c4c357ee3c358a9a776..df6fa902cc3fd9c37d962ecd8af6202634ed3831 100644 (file)
@@ -1846,6 +1846,7 @@ void fix_fc(void)
 
     if((fp = fopen("fix-fc.exe", "r")) == NULL)
            return ;
+    fclose (fp);
     if (!system ("fix-fc.exe")) {
        system ("del fix_fc.exe");
        system ("dot -c");      //run dot -c once too since we already run things :)