gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r6282 - Extractor/src/plugins


From: gnunet
Subject: [GNUnet-SVN] r6282 - Extractor/src/plugins
Date: Wed, 13 Feb 2008 10:22:46 -0700 (MST)

Author: holindho
Date: 2008-02-13 10:22:46 -0700 (Wed, 13 Feb 2008)
New Revision: 6282

Modified:
   Extractor/src/plugins/applefileextractor.c
Log:
extract Finder info


Modified: Extractor/src/plugins/applefileextractor.c
===================================================================
--- Extractor/src/plugins/applefileextractor.c  2008-02-13 16:39:43 UTC (rev 
6281)
+++ Extractor/src/plugins/applefileextractor.c  2008-02-13 17:22:46 UTC (rev 
6282)
@@ -156,9 +156,12 @@
     if (readEntryDescriptor(data, &offset, size, &dsc) == -1)
       break;
 
+#if DEBUG
+    printf("applefile entry: %u %u %u\n", dsc.id, dsc.offset, dsc.length);
+#endif
     switch (dsc.id) {
       case AED_ID_REAL_NAME:
-        if (dsc.length < 2048 && dsc.offset + dsc.length < size) {
+        if (dsc.length < 2048 && (dsc.offset + dsc.length) < size) {
          char *s = malloc(dsc.length + 1);
          if (s != NULL) {
             memcpy(s, data + dsc.offset, dsc.length);
@@ -168,7 +171,7 @@
        }
        break;
       case AED_ID_COMMENT:
-        if (dsc.length < 65536 && dsc.offset + dsc.length < size) {
+        if (dsc.length < 65536 && (dsc.offset + dsc.length) < size) {
          char *s = malloc(dsc.length + 1);
          if (s != NULL) {
             memcpy(s, data + dsc.offset, dsc.length);
@@ -177,6 +180,23 @@
          }
        }
        break;
+      case AED_ID_FINDER_INFO:
+        if (dsc.length >= 16 && (dsc.offset + dsc.length) < size) {
+          char *s;
+          s = malloc(5);
+          if (s != NULL) {
+            memcpy(s, data + dsc.offset, 4);
+            s[4] = '\0';
+            result = addKeyword(EXTRACTOR_RESOURCE_TYPE, s, result);
+          }
+          s = malloc(5);
+          if (s != NULL) {
+            memcpy(s, data + dsc.offset + 4, 4);
+            s[4] = '\0';
+            result = addKeyword(EXTRACTOR_CREATOR, s, result);
+          }
+        }
+        break;
       default:
         break;
     }





reply via email to

[Prev in Thread] Current Thread [Next in Thread]