1 /* -*- Mode: C ; c-basic-offset: 2 -*- */
2 /*****************************************************************************
4 * $Id: memory.c,v 1.3 2004/05/16 19:10:54 nedko Exp $
7 * Memory helper implementations.
10 * Nedko Arnaudov <nedko@users.sourceforge.net>
13 * GNU GENERAL PUBLIC LICENSE version 2
15 *****************************************************************************/
20 #include "../result.h"
24 #define BUFFER_INITIAL_ADD 4096
25 #define BUFFER_ADD 4096
34 size_t nNewBufferSize
;
36 if (nSizeRequired
<= *pnBufferSize
)
39 if (*pnBufferSize
== 0 || *ppBuffer
== NULL
)
43 nNewBufferSize
= nSizeRequired
+ BUFFER_INITIAL_ADD
;
45 pNewBuffer
= (char *)malloc(nNewBufferSize
);
46 if (pNewBuffer
== NULL
)
48 //"Cannot allocate %u bytes of memory.",
49 //(unsigned int)nNewBufferSize
57 nNewBufferSize
= nSizeRequired
+ BUFFER_ADD
;
59 pNewBuffer
= (char *)malloc(nNewBufferSize
);
60 if (pNewBuffer
== NULL
)
62 // "Cannot allocate %u bytes of memory.",
63 //(unsigned int)nNewBufferSize
67 memcpy(pNewBuffer
, *ppBuffer
, *pnBufferSize
);
73 *pnBufferSize
= nNewBufferSize
;
74 *ppBuffer
= pNewBuffer
;
79 /*****************************************************************************
83 * !!! WARNING !!! Following lines are automatically updated by the CVS system.
86 * Revision 1.3 2004/05/16 19:10:54 nedko
87 * Write header information.
89 * Revision 1.2 2004/05/16 18:58:50 nedko
90 * mediadb_result has became more general, it is not specific to libdb
92 * Revision 1.1 2004/05/02 20:12:11 nedko
93 * Improve error dumps.
95 *****************************************************************************/