From: Lutz M. <lu...@us...> - 2004-10-04 06:27:12
|
Update of /cvsroot/libexif/libexif/libexif/pentax In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10678/libexif/pentax Modified Files: exif-mnote-data-pentax.c exif-mnote-data-pentax.h Log Message: 2004-10-04 Lutz Mueller <lu...@us...> * libexif/*: Finish replaceable memory-management. Index: exif-mnote-data-pentax.h =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/pentax/exif-mnote-data-pentax.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- exif-mnote-data-pentax.h 26 Oct 2003 22:30:27 -0000 1.2 +++ exif-mnote-data-pentax.h 4 Oct 2004 06:26:59 -0000 1.3 @@ -25,6 +25,7 @@ #include <libexif/exif-mnote-data.h> #include <libexif/exif-mnote-data-priv.h> #include <libexif/pentax/mnote-pentax-entry.h> +#include <libexif/exif-mem.h> typedef struct _ExifMnoteDataPentax ExifMnoteDataPentax; @@ -38,6 +39,6 @@ unsigned int offset; }; -ExifMnoteData *exif_mnote_data_pentax_new (void); +ExifMnoteData *exif_mnote_data_pentax_new (ExifMem *); #endif /* __EXIF_MNOTE_DATA_PENTAX_H__ */ Index: exif-mnote-data-pentax.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/pentax/exif-mnote-data-pentax.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- exif-mnote-data-pentax.c 26 Aug 2004 20:08:09 -0000 1.8 +++ exif-mnote-data-pentax.c 4 Oct 2004 06:26:59 -0000 1.9 @@ -33,6 +33,7 @@ static void exif_mnote_data_pentax_clear (ExifMnoteDataPentax *n) { + ExifMnoteData *d = (ExifMnoteData *) n; unsigned int i; if (!n) return; @@ -40,10 +41,10 @@ if (n->entries) { for (i = 0; i < n->count; i++) if (n->entries[i].data) { - free (n->entries[i].data); + exif_mem_free (d->mem, n->entries[i].data); n->entries[i].data = NULL; } - free (n->entries); + exif_mem_free (d->mem, n->entries); n->entries = NULL; n->count = 0; } @@ -78,9 +79,8 @@ /* Number of entries */ if (buf_size < 2) return; c = exif_get_short (buf + 6 + n->offset, n->order); - n->entries = malloc (sizeof (MnotePentaxEntry) * c); + n->entries = exif_mem_alloc (en->mem, sizeof (MnotePentaxEntry) * c); if (!n->entries) return; - memset (n->entries, 0, sizeof (MnotePentaxEntry) * c); for (i = 0; i < c; i++) { o = 6 + 2 + n->offset + 12 * i; @@ -104,9 +104,8 @@ if (o + s > buf_size) return; /* Sanity check */ - n->entries[i].data = malloc (sizeof (char) * s); + n->entries[i].data = exif_mem_alloc (en->mem, sizeof (char) * s); if (!n->entries[i].data) return; - memset (n->entries[i].data, 0, sizeof (char) * s); n->entries[i].size = s; memcpy (n->entries[i].data, buf + o, s); } @@ -234,14 +233,16 @@ } ExifMnoteData * -exif_mnote_data_pentax_new (void) +exif_mnote_data_pentax_new (ExifMem *mem) { ExifMnoteData *d; - d = calloc (1, sizeof (ExifMnoteDataPentax)); + if (!mem) return NULL; + + d = exif_mem_alloc (mem, sizeof (ExifMnoteDataPentax)); if (!d) return NULL; - exif_mnote_data_construct (d); + exif_mnote_data_construct (d, mem); /* Set up function pointers */ d->methods.free = exif_mnote_data_pentax_free; |