pdf-devel
[Top][All Lists]
Advanced

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

[pdf-devel] Patch for FS#56


From: gerel
Subject: [pdf-devel] Patch for FS#56
Date: Mon, 21 Jul 2008 10:19:59 -0700 (PDT)

Hey, just finished a patch for the task.

Here's the patch, (NOTE: I'm new to distributed VCS and bazaar)

##

# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: address@hidden
# target_branch: file:///home/gerel/PROJECTS/libgnupdf/trunk/
# testament_sha1: fa761c42b8145329191944c373b3e4be21fbc863
# timestamp: 2008-07-21 14:02:32 -0300
# base_revision_id: address@hidden
# 
# Begin patch
=== modified file 'ChangeLog'
--- ChangeLog   2008-07-20 22:06:45 +0000
+++ ChangeLog   2008-07-21 17:01:46 +0000
@@ -1,3 +1,25 @@
+2008-07-21  gerel  <address@hidden>
+
+       * src/base/pdf-hash.c: changed API to allow the specification of
+       memory disposal functions in entry insertion time.
+       
+       * src/base/pdf-hash.h: same.
+
+       * src/base/pdf-fsys.c: fixed to conform API modifications.
+       
+       * torture/unit/base/hash/pdf-hash-add.c: same.
+       
+       * torture/unit/base/hash/pdf-hash-iterator-next.c: same.
+       
+       * torture/unit/base/hash/pdf-hash-key-p.c: same.
+       
+       * torture/unit/base/hash/pdf-hash-remove.c: same.
+       
+       * torture/unit/base/hash/pdf-hash-rename.c: same.
+       
+       * torture/unit/base/hash/pdf-hash-search.c: same.
+
+
 2008-07-21  Jose E. Marchesi  <address@hidden>
 
        * doc/gnupdf-manual-wiki.init (mediawiki_preformatted): Fix a bug

=== modified file 'src/base/pdf-fsys.c'
--- src/base/pdf-fsys.c 2008-06-17 18:24:43 +0000
+++ src/base/pdf-fsys.c 2008-07-21 17:01:46 +0000
@@ -1,4 +1,4 @@
-/* -*- mode: C -*- Time-stamp: "2008-06-17 13:12:16 gerel"
+/* -*- mode: C -*- Time-stamp: "2008-07-21 13:49:18 gerel"
  *
  *       File:         pdf-fsys.c
  *       Date:         Thu May 22 15:51:13 2008
@@ -209,57 +209,57 @@
   *version_minor = item_props.version_minor;
 
   /* Associate values with hash keys */
-  if (pdf_hash_add (props_hash, "isHidden", (void *) is_hidden) !=
-      PDF_OK)
-    {
-      return PDF_ERROR;
-    }
-  if (pdf_hash_add (props_hash, "isReadOnly", (void *) is_read_only) !=
-      PDF_OK)
-    {
-      return PDF_ERROR;
-    }
-  if (pdf_hash_add (props_hash, "isCheckedOut", (void *) is_checked_out) !=
-      PDF_OK)
-    {
-      return PDF_ERROR;
-    }
-  if (pdf_hash_add (props_hash, "isPublished", (void *) is_published) !=
-      PDF_OK)
-    {
-      return PDF_ERROR;
-    }
-  if (pdf_hash_add (props_hash, "fileSizeHigh", (void *) file_size_high) !=
-      PDF_OK)
-    {
-      return PDF_ERROR;
-    }
-  if (pdf_hash_add (props_hash, "fileSizeLow", (void *) file_size_low) !=
-      PDF_OK)
-    {
-      return PDF_ERROR;
-    }
-  if (pdf_hash_add (props_hash, "folderSize", (void *) folder_size) !=
-      PDF_OK)
-    {
-      return PDF_ERROR;
-    }
-  if (pdf_hash_add (props_hash, "creatorCode", (void *) creator_code) !=
-      PDF_OK)
-    {
-      return PDF_ERROR;
-    }
-  if (pdf_hash_add (props_hash, "typeCode", (void *) type_code) !=
-      PDF_OK)
-    {
-      return PDF_ERROR;
-    }
-  if (pdf_hash_add (props_hash, "versionMajor", (void *) version_major) !=
-      PDF_OK)
-    {
-      return PDF_ERROR;
-    }
-  if (pdf_hash_add (props_hash, "versionMinor", (void *) version_minor) !=
+  if (pdf_hash_add (props_hash, "isHidden", (void *) is_hidden,NULL) !=
+      PDF_OK)
+    {
+      return PDF_ERROR;
+    }
+  if (pdf_hash_add (props_hash, "isReadOnly", (void *) is_read_only,NULL) !=
+      PDF_OK)
+    {
+      return PDF_ERROR;
+    }
+  if (pdf_hash_add (props_hash, "isCheckedOut", (void *) is_checked_out,NULL) 
!=
+      PDF_OK)
+    {
+      return PDF_ERROR;
+    }
+  if (pdf_hash_add (props_hash, "isPublished", (void *) is_published,NULL) !=
+      PDF_OK)
+    {
+      return PDF_ERROR;
+    }
+  if (pdf_hash_add (props_hash, "fileSizeHigh", (void *) file_size_high,NULL) 
!=
+      PDF_OK)
+    {
+      return PDF_ERROR;
+    }
+  if (pdf_hash_add (props_hash, "fileSizeLow", (void *) file_size_low,NULL) !=
+      PDF_OK)
+    {
+      return PDF_ERROR;
+    }
+  if (pdf_hash_add (props_hash, "folderSize", (void *) folder_size,NULL) !=
+      PDF_OK)
+    {
+      return PDF_ERROR;
+    }
+  if (pdf_hash_add (props_hash, "creatorCode", (void *) creator_code,NULL) !=
+      PDF_OK)
+    {
+      return PDF_ERROR;
+    }
+  if (pdf_hash_add (props_hash, "typeCode", (void *) type_code,NULL) !=
+      PDF_OK)
+    {
+      return PDF_ERROR;
+    }
+  if (pdf_hash_add (props_hash, "versionMajor", (void *) version_major,NULL) !=
+      PDF_OK)
+    {
+      return PDF_ERROR;
+    }
+  if (pdf_hash_add (props_hash, "versionMinor", (void *) version_minor,NULL) !=
       PDF_OK)
     {
       return PDF_ERROR;

=== modified file 'src/base/pdf-hash.c'
--- src/base/pdf-hash.c 2008-05-06 20:53:43 +0000
+++ src/base/pdf-hash.c 2008-07-21 17:01:46 +0000
@@ -1,4 +1,4 @@
-/* -*- mode: C -*- Time-stamp: "2008-05-06 14:44:35 gerel"
+/* -*- mode: C -*- Time-stamp: "2008-07-21 13:47:06 gerel"
  *
  *       File:         pdf-hash.c
  *       Date:         Sat Apr  12 12:22:05 2008
@@ -182,7 +182,8 @@
 
 
 pdf_status_t
-pdf_hash_add (pdf_hash_t table, const char *key, const void *element)
+pdf_hash_add (pdf_hash_t table, const char *key, const void *element,
+              pdf_hash_element_dispose_fn_t disp_fn)
 {
   pdf_status_t st;
   pdf_hash_element_t *newelt;
@@ -195,6 +196,7 @@
         {
           newelt->key = key;
           newelt->value = element;
+          newelt->disp_fn = disp_fn;
           gl_list_add_first ((gl_list_t)table.elements, newelt);
           gl_sortedlist_add ((gl_list_t)table.keys, key_compare, key);
         }
@@ -232,10 +234,16 @@
           pdf_hash_element_t *removed;
           removed = (pdf_hash_element_t*)
                     gl_list_node_value((gl_list_t)table.elements, node);
-          if (table.dispose_fn != NULL)
+
+          if (removed->disp_fn != NULL)
+            {
+              removed->disp_fn (removed->value);
+            }
+          else if (table.dispose_fn != NULL)
             {
               table.dispose_fn (removed->value);
             }
+
           pdf_dealloc(removed);
           gl_list_remove_node ((gl_list_t)table.elements, node);
           gl_sortedlist_remove ((gl_list_t)table.keys, key_compare, key);

=== modified file 'src/base/pdf-hash.h'
--- src/base/pdf-hash.h 2008-05-06 20:53:43 +0000
+++ src/base/pdf-hash.h 2008-07-21 17:01:46 +0000
@@ -1,4 +1,4 @@
-/* -*- mode: C -*- Time-stamp: "2008-05-06 14:44:21 gerel"
+/* -*- mode: C -*- Time-stamp: "2008-07-21 13:44:55 gerel"
  *
  *       File:         pdf-hash.h
  *       Date:         Sat Apr  12 12:22:05 2008
@@ -29,17 +29,22 @@
 #include <stdio.h>
 #include <pdf-list.h>
 
+
+/* BEGIN PUBLIC */
+typedef void (*pdf_hash_element_dispose_fn_t) (const void *elt);
+/* END PUBLIC */
+
 struct pdf_hash_element_s
 {
   const char * key;
   const void * value;
+  pdf_hash_element_dispose_fn_t disp_fn;
 };
 
 typedef struct pdf_hash_element_s pdf_hash_element_t;
 
 /* BEGIN PUBLIC */
 
-typedef void (*pdf_hash_element_dispose_fn_t) (const void *elt);
 typedef void (*pdf_hash_key_dispose_fn_t) (const void *key);
 
 struct pdf_hash_s
@@ -86,7 +91,8 @@
  /* Adding and removing elements */
 
 pdf_status_t
-pdf_hash_add (pdf_hash_t table, const char *key, const void *element);
+pdf_hash_add (pdf_hash_t table, const char *key, const void *element,
+              pdf_hash_element_dispose_fn_t disp_fn);
 
 pdf_status_t
 pdf_hash_remove (pdf_hash_t table, const char *key);

=== modified file 'torture/unit/base/hash/pdf-hash-add.c'
--- torture/unit/base/hash/pdf-hash-add.c       2008-04-18 03:50:23 +0000
+++ torture/unit/base/hash/pdf-hash-add.c       2008-07-21 17:01:46 +0000
@@ -1,4 +1,4 @@
-/* -*- mode: C -*- Time-stamp: "2008-04-16 20:29:44 gerel"
+/* -*- mode: C -*- Time-stamp: "2008-07-21 13:51:01 gerel"
  *
  *       File:         pdf-hash-add.c
  *       Date:         Wed Mar  12 12:43:00 2008
@@ -43,7 +43,7 @@
 
   pdf_hash_create (NULL, NULL, &table);
 
-  fail_if (pdf_hash_add (table, "key", "val") != PDF_OK);
+  fail_if (pdf_hash_add (table, "key", "val", NULL) != PDF_OK);
 
   pdf_hash_destroy (&table);
 }
@@ -63,7 +63,7 @@
 
   pdf_hash_create (NULL, NULL, &table);
 
-  fail_if (pdf_hash_add (table, NULL, "val") != PDF_EBADDATA);
+  fail_if (pdf_hash_add (table, NULL, "val",NULL) != PDF_EBADDATA);
 
   pdf_hash_destroy (&table);
 }
@@ -83,7 +83,7 @@
 
   pdf_hash_create (NULL, NULL, &table);
 
-  fail_if (pdf_hash_add (table, "key", NULL) != PDF_EBADDATA);
+  fail_if (pdf_hash_add (table, "key", NULL,NULL) != PDF_EBADDATA);
 
   pdf_hash_destroy (&table);
 }

=== modified file 'torture/unit/base/hash/pdf-hash-iterator-next.c'
--- torture/unit/base/hash/pdf-hash-iterator-next.c     2008-04-23 22:35:35 
+0000
+++ torture/unit/base/hash/pdf-hash-iterator-next.c     2008-07-21 17:01:46 
+0000
@@ -1,4 +1,4 @@
-/* -*- mode: C -*- Time-stamp: "08/04/18 21:22:47 jemarch"
+/* -*- mode: C -*- Time-stamp: "2008-07-21 13:52:27 gerel"
  *
  *       File:         pdf-hash-iterator-next.c
  *       Date:         Wed Mar  12 12:43:00 2008
@@ -45,7 +45,7 @@
   char *key;
   
   pdf_hash_create (NULL, NULL, &table);
-  pdf_hash_add (table, "key", "val");
+  pdf_hash_add (table, "key", "val",NULL);
   pdf_hash_iterator (table, &itr);
 
   fail_if (pdf_hash_iterator_next (&itr, (void *) &key) != PDF_OK);
@@ -69,7 +69,7 @@
   char *key;
   
   pdf_hash_create (NULL, NULL, &table);
-  pdf_hash_add (table, "key", "val");
+  pdf_hash_add (table, "key", "val",NULL);
 
   fail_if (pdf_hash_iterator_next (NULL, (void *) &key) != PDF_EBADDATA);
 
@@ -92,7 +92,7 @@
   pdf_hash_iterator_t itr;
  
   pdf_hash_create (NULL, NULL, &table);
-  pdf_hash_add (table, "key", "val");
+  pdf_hash_add (table, "key", "val",NULL);
   pdf_hash_iterator (table, &itr);
 
   fail_if (pdf_hash_iterator_next (&itr, NULL) != PDF_EBADDATA);

=== modified file 'torture/unit/base/hash/pdf-hash-key-p.c'
--- torture/unit/base/hash/pdf-hash-key-p.c     2008-04-18 03:50:23 +0000
+++ torture/unit/base/hash/pdf-hash-key-p.c     2008-07-21 17:01:46 +0000
@@ -1,4 +1,4 @@
-/* -*- mode: C -*- Time-stamp: "2008-04-16 20:30:36 gerel"
+/* -*- mode: C -*- Time-stamp: "2008-07-21 13:52:41 gerel"
  *
  *       File:         pdf-hash-key-p.c
  *       Date:         Wed Mar  12 12:43:00 2008
@@ -42,7 +42,7 @@
   pdf_hash_t table;
 
   pdf_hash_create (NULL, NULL, &table);
-  pdf_hash_add (table, "key", "val");
+  pdf_hash_add (table, "key", "val", NULL);
  
   fail_if (pdf_hash_key_p (table, "key") != PDF_TRUE);
 
@@ -63,7 +63,7 @@
   pdf_hash_t table;
 
   pdf_hash_create (NULL, NULL, &table);
-  pdf_hash_add (table, "key", "val");
+  pdf_hash_add (table, "key", "val", NULL);
  
   fail_if (pdf_hash_key_p (table, "ke") != PDF_FALSE);
 

=== modified file 'torture/unit/base/hash/pdf-hash-remove.c'
--- torture/unit/base/hash/pdf-hash-remove.c    2008-04-18 03:50:23 +0000
+++ torture/unit/base/hash/pdf-hash-remove.c    2008-07-21 17:01:46 +0000
@@ -1,4 +1,4 @@
-/* -*- mode: C -*- Time-stamp: "2008-04-16 20:30:42 gerel"
+/* -*- mode: C -*- Time-stamp: "2008-07-21 13:51:40 gerel"
  *
  *       File:         pdf-hash-remove.c
  *       Date:         Wed Mar  12 12:43:00 2008
@@ -42,7 +42,7 @@
   pdf_hash_t table;
 
   pdf_hash_create (NULL, NULL, &table);
-  pdf_hash_add (table, "key", "val");
+  pdf_hash_add (table, "key", "val",NULL);
 
   fail_if (pdf_hash_remove (table, "key") != PDF_OK);
 
@@ -64,7 +64,7 @@
   pdf_hash_t table;
 
   pdf_hash_create (NULL, NULL, &table);
-  pdf_hash_add (table, "key", "val");
+  pdf_hash_add (table, "key", "val",NULL);
 
   fail_if (pdf_hash_remove (table, "ke") != PDF_ERROR);
 
@@ -85,7 +85,7 @@
   pdf_hash_t table;
 
   pdf_hash_create (NULL, NULL, &table);
-  pdf_hash_add (table, "key", "val");
+  pdf_hash_add (table, "key", "val",NULL);
 
   fail_if (pdf_hash_remove (table, NULL) != PDF_EBADDATA);
 

=== modified file 'torture/unit/base/hash/pdf-hash-rename.c'
--- torture/unit/base/hash/pdf-hash-rename.c    2008-04-18 03:50:23 +0000
+++ torture/unit/base/hash/pdf-hash-rename.c    2008-07-21 17:01:46 +0000
@@ -1,4 +1,4 @@
-/* -*- mode: C -*- Time-stamp: "2008-04-16 20:30:47 gerel"
+/* -*- mode: C -*- Time-stamp: "2008-07-21 13:53:03 gerel"
  *
  *       File:         pdf-hash-rename.c
  *       Date:         Wed Mar  12 12:43:00 2008
@@ -42,7 +42,7 @@
   pdf_hash_t table;
 
   pdf_hash_create (NULL, NULL, &table);
-  pdf_hash_add (table, "key", "val");
+  pdf_hash_add (table, "key", "val",NULL);
 
   fail_if (pdf_hash_rename (table, "key", "ke") != PDF_OK);
   fail_if (pdf_hash_key_p (table, "ke") != PDF_TRUE);
@@ -63,7 +63,7 @@
   pdf_hash_t table;
 
   pdf_hash_create (NULL, NULL, &table);
-  pdf_hash_add (table, "key", "val");
+  pdf_hash_add (table, "key", "val",NULL);
 
   fail_if (pdf_hash_rename (table, "ke", "key") != PDF_ERROR);
 

=== modified file 'torture/unit/base/hash/pdf-hash-search.c'
--- torture/unit/base/hash/pdf-hash-search.c    2008-04-22 22:16:14 +0000
+++ torture/unit/base/hash/pdf-hash-search.c    2008-07-21 17:01:46 +0000
@@ -1,4 +1,4 @@
-/* -*- mode: C -*- Time-stamp: "08/04/22 22:13:38 jemarch"
+/* -*- mode: C -*- Time-stamp: "2008-07-21 13:55:49 gerel"
  *
  *       File:         pdf-hash-search.c
  *       Date:         Wed Mar  12 12:43:00 2008
@@ -43,7 +43,19 @@
   char *s;
 
   pdf_hash_create (NULL, NULL, &table);
-  pdf_hash_add (table, "key", "val");
+  pdf_hash_add (table, "key", "val",NULL);
+  pdf_hash_add (table, "ky", "val",NULL);
+  pdf_hash_add (table, "ky23", "val",NULL);
+  pdf_hash_add (table, "2ky23", "val",NULL);
+  pdf_hash_add (table, "032ky23", "val",NULL);
+  pdf_hash_add (table, "230", "val",NULL);
+  pdf_hash_add (table, "0389", "val",NULL);
+  pdf_hash_add (table, "123", "val",NULL);
+  pdf_hash_add (table, "1", "val",NULL);
+  pdf_hash_add (table, "aky23", "val",NULL);
+  pdf_hash_add (table, "AB23", "val",NULL);
+  pdf_hash_add (table, "0", "val",NULL);
+  pdf_hash_add (table, "AB", "val",NULL);
   
   fail_if (pdf_hash_search (table, "key", (void *) &s) != PDF_OK);
 
@@ -65,7 +77,7 @@
   char *s;
 
   pdf_hash_create (NULL, NULL, &table);
-  pdf_hash_add (table, "key", "val");
+  pdf_hash_add (table, "key", "val",NULL);
   
   fail_if (pdf_hash_search (table, "ke", (void *) &s) != PDF_ERROR);
 
@@ -86,7 +98,7 @@
   pdf_hash_t table;
 
   pdf_hash_create (NULL, NULL, &table);
-  pdf_hash_add (table, "key", "val");
+  pdf_hash_add (table, "key", "val",NULL);
   
   fail_if (pdf_hash_search (table, "key", NULL) != PDF_EBADDATA);
 
@@ -109,7 +121,7 @@
   char *s;
 
   pdf_hash_create (NULL, NULL, &table);
-  pdf_hash_add (table, "key", "val");
+  pdf_hash_add (table, "key", "val",NULL);
   
   fail_if (pdf_hash_search (table, NULL, (void *) &s) != PDF_EBADDATA);
 

# Begin bundle
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
FrN3EgSWw0bPgJ6ECf+LuSKcKEhgTovVgA==

###

cheers

-gerel




reply via email to

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