]> sjero.net Git - wget/commitdiff
warc: Fix a problem under OS X.
authorSteven Schweda <sms@antinode.info>
Sat, 5 Nov 2011 10:52:51 +0000 (11:52 +0100)
committerGiuseppe Scrivano <gscrivano@gnu.org>
Sat, 5 Nov 2011 10:52:51 +0000 (11:52 +0100)
src/ChangeLog
src/warc.c

index d1358bfa747752fc67dbede197925acafb91a9c2..001d39096d986b985c38cafd1a7f7c2564f6e252 100644 (file)
@@ -1,3 +1,9 @@
+2011-11-04  Steven Schweda  <address@hidden>
+
+       * warc.c [! WINDOWS]: Include <libgen.h>.
+       (warc_write_warcinfo_record): Assign a new allocated buffer and
+       free it on errors.
+
 2011-11-01  Steven Schweda  <address@hidden>
 
        * gnutls.c (ssl_init): Ensure GNU TLS is loaded only once.
index 77ef3692cd358757b0bf9d50600d3324a57eeb67..33488c4effc4c9e0c73d209a4557a15a1728d06b 100644 (file)
 #include <uuid/uuid.h>
 #endif
 
+#ifndef WINDOWS
+#include <libgen.h>
+#endif
+
 #include "warc.h"
 
 extern char *version_string;
@@ -605,7 +609,7 @@ warc_write_warcinfo_record (char *filename)
 
   char *filename_copy, *filename_basename;
   filename_copy = strdup (filename);
-  filename_basename = basename (filename_copy);
+  filename_basename = strdup (basename (filename_copy));
 
   warc_write_start_record ();
   warc_write_header ("WARC-Type", "warcinfo");
@@ -619,6 +623,7 @@ warc_write_warcinfo_record (char *filename)
   if (warc_tmp == NULL)
     {
       free (filename_copy);
+      free (filename_basename);
       return false;
     }
 
@@ -646,6 +651,7 @@ warc_write_warcinfo_record (char *filename)
     }
 
   free (filename_copy);
+  free (filename_basename);
   fclose (warc_tmp);
   return warc_write_ok;
 }