]> code.citadel.org Git - citadel.git/blobdiff - libcitadel/lib/mime_parser.c
* free the icon structure too, not just its members
[citadel.git] / libcitadel / lib / mime_parser.c
index 45a6fc700ea123c3f19a81e45fd8630e083815ab..bbc255463f44bfc038812dbd66c105f27e88a88a 100644 (file)
@@ -678,7 +678,7 @@ MimeGuess MyMimes [] = {
 };
 
 
-const char *GuessMimeType(char *data, size_t dlen)
+const char *GuessMimeType(const char *data, size_t dlen)
 {
        int MimeIndex = 0;
 
@@ -752,8 +752,10 @@ static void DeleteIcon(void *IconNamePtr)
        IconName *Icon = (IconName*) IconNamePtr;
        free(Icon->FlatName);
        free(Icon->FileName);
+       free(Icon);
 }
 
+/*
 static const char *PrintFlat(void *IconNamePtr)
 {
        IconName *Icon = (IconName*) IconNamePtr;
@@ -764,6 +766,8 @@ static const char *PrintFile(void *IconNamePtr)
        IconName *Icon = (IconName*) IconNamePtr;
        return Icon->FileName;
 }
+*/
+
 #define GENSTR "x-generic"
 #define IGNORE_PREFIX_1 "gnome-mime"
 int LoadIconDir(const char *DirName)
@@ -834,6 +838,7 @@ int LoadIconDir(const char *DirName)
                Put(IconHash, Icon->FlatName, d_without_ext, Icon, DeleteIcon);
 //             PrintHash(IconHash, PrintFlat, PrintFile);
        }
+       closedir(filedir);
        return 1;
 }