[Pkg-e-commits] [SCM] Enlightenment DR17 support for freedesktop.org specs branch, upstream-vcs, updated. 064059eac795ae51a6f58c707e4c3fdcb75227ba

raster raster at alioth.debian.org
Tue Apr 8 21:44:35 UTC 2008


The following commit has been merged in the upstream-vcs branch:
commit 4f895aa4d3f6b629867f944014672fd5b7d8e810
Author: raster <raster>
Date:   Sun Apr 6 23:02:54 2008 +0000

    1. stop doing unaligned memory accesses - htons() on a pointer to some
    arbitrary point...
    2. use int not long - long will be 64bit on 64bit platforms, but 32bit almost
    everywhere (yes in theory it may not - but in practice, it won't - long
    though will vary).

diff --git a/src/lib/efreet_mime.c b/src/lib/efreet_mime.c
index eedd2da..fb58e40 100644
--- a/src/lib/efreet_mime.c
+++ b/src/lib/efreet_mime.c
@@ -921,6 +921,8 @@ efreet_mime_shared_mimeinfo_magic_parse(char *data, int size)
         }
         else
         {
+	    short tshort;
+	   
             if (!mime) continue;
             if (!entry)
             {
@@ -952,7 +954,9 @@ efreet_mime_shared_mimeinfo_magic_parse(char *data, int size)
 
                 case '=':
                     ptr++;
-                    entry->value_len = ntohs(*((short*)(ptr)));
+	       
+	            memcpy(&tshort, ptr, sizeof(short));
+                    entry->value_len = ntohs(tshort);
                     ptr += 2;
 
                     entry->value = NEW(1, entry->value_len);
@@ -1002,12 +1006,12 @@ efreet_mime_shared_mimeinfo_magic_parse(char *data, int size)
                             }
                             else if (entry->word_size == 4)
                             {
-                                ((long*)entry->value)[j] =
-                                              ntohl(((long*)entry->value)[j]);
+                                ((int*)entry->value)[j] =
+                                              ntohl(((int*)entry->value)[j]);
 
                                 if (entry->mask)
-                                    ((long*)entry->mask)[j] =
-                                              ntohl(((long*)entry->mask)[j]);
+                                    ((int*)entry->mask)[j] =
+                                              ntohl(((int*)entry->mask)[j]);
                             }
                         }
                     }

-- 
Enlightenment DR17 support for freedesktop.org specs



More information about the Pkg-e-commits mailing list