[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[pdf-devel] Patch for FS#56 (second try)
From: |
gerel |
Subject: |
[pdf-devel] Patch for FS#56 (second try) |
Date: |
Mon, 21 Jul 2008 10:30:04 -0700 (PDT) |
Sorry I forgot to modify the ref manual.
Here it's again.
##
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: address@hidden
# target_branch: file:///home/gerel/PROJECTS/libgnupdf/trunk/
# testament_sha1: cc0037ad5f628df76001ae5e1ef36d307547424b
# timestamp: 2008-07-21 14:15:38 -0300
# base_revision_id: address@hidden
#
# Begin patch
=== modified file 'ChangeLog'
--- ChangeLog 2008-07-20 22:06:45 +0000
+++ ChangeLog 2008-07-21 17:15:33 +0000
@@ -1,3 +1,27 @@
+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.
+
+ * doc/gnupdf.texi: same.
+
+
2008-07-21 Jose E. Marchesi <address@hidden>
* doc/gnupdf-manual-wiki.init (mediawiki_preformatted): Fix a bug
=== modified file 'doc/gnupdf.texi'
--- doc/gnupdf.texi 2008-07-10 16:17:18 +0000
+++ doc/gnupdf.texi 2008-07-21 17:15:33 +0000
@@ -1424,7 +1424,7 @@
@node Adding and removing elements
@subsection Adding and removing elements
address@hidden pdf_status_t pdf_hash_add (pdf_hash_t @var{table}, const char
@var{*key}, const void @var{*element})
address@hidden pdf_status_t pdf_hash_add (pdf_hash_t @var{table}, const char
@var{*key}, const void @var{*element}, pdf_hash_element_dispose_fn_t
@var{disp_fn} )
Adds the element @var{element} with the associated key @var{key} to
@var{table}. If @var{key} already exists nothing is done.
@@ -1437,6 +1437,8 @@
A valid key string.
@item element
A pointer to the element being added.
address@hidden disp_fn
+The function called when @var{element} is removed, can be NULL.
@end table
@item Returns
A pdf status value:
=== 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:15:33 +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:15:33 +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:15:33 +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:15:33 +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:15:33
+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:15:33 +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:15:33 +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:15:33 +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:15:33 +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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
nwA=
###
-gerel
- [pdf-devel] Patch for FS#56 (second try),
gerel <=
- Re: [pdf-devel] Patch for FS#56 (second try), jemarch, 2008/07/21
- Re: [pdf-devel] Patch for FS#56 (second try), gerel, 2008/07/21
- Re: [pdf-devel] Patch for FS#56 (second try), jemarch, 2008/07/22
- Re: [pdf-devel] Patch for FS#56 (second try), gerel, 2008/07/22
- Re: [pdf-devel] Patch for FS#56 (second try), jemarch, 2008/07/23
- Re: [pdf-devel] Patch for FS#56 (second try), gerel, 2008/07/23
- Re: [pdf-devel] Patch for FS#56 (second try), jemarch, 2008/07/24