X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=fish%2Ffish.c;h=6aadd5608601af0bfee367c25c8330637c841313;hb=e65f5213637e71f6f88763ce177fd23c65e1033d;hp=de11b2fef0ec2f9c6d3403566b1a48ea0ba4cb27;hpb=8ea62c8d7f3f7f7e4057b93105cf979271aa13f4;p=libguestfs.git diff --git a/fish/fish.c b/fish/fish.c index de11b2f..6aadd56 100644 --- a/fish/fish.c +++ b/fish/fish.c @@ -701,8 +701,8 @@ free_drives (struct drv *drv) free_drives (drv->next); switch (drv->type) { - case drv_a: free (drv->a.filename); break; - case drv_d: free (drv->d.guest); break; + case drv_a: /* a.filename is optarg, don't free it */ break; + case drv_d: /* d.filename is optarg, don't free it */ break; case drv_N: free (drv->N.filename); free (drv->N.device); @@ -1436,6 +1436,7 @@ cleanup_readline (void) #else (void) write_history (histfile); #endif + clear_history (); } #endif } @@ -1560,7 +1561,7 @@ file_in (const char *arg) static char * file_in_heredoc (const char *endmarker) { - static const char template[] = "/tmp/heredocXXXXXX"; + TMP_TEMPLATE_ON_STACK (template); file_in_tmpfile = strdup (template); if (file_in_tmpfile == NULL) { perror ("strdup");