/* allocate and deallocate memory */ /* These routines are used so that applications can readily replace ** projection system memory allocation/deallocation call with custom ** application procedures. */ #include #include void * pj_malloc(size_t size) { /* / Currently, pj_malloc is a hack to solve an errno problem. / The problem is described in more details at / https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=86420. / It seems, that pj_init and similar functions incorrectly / (under debian/glibs-2.3.2) assume that pj_malloc resets / errno after success. pj_malloc tries to mimic this. */ int old_errno = errno; void *res = malloc(size); if ( res && !old_errno ) errno = 0; return res; } void pj_dalloc(void *ptr) { free(ptr); }