projects
/
yaz-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Added second half of close-handshake
[yaz-moved-to-github.git]
/
odr
/
odr_mem.c
diff --git
a/odr/odr_mem.c
b/odr/odr_mem.c
index
01c96f6
..
044b306
100644
(file)
--- a/
odr/odr_mem.c
+++ b/
odr/odr_mem.c
@@
-1,10
+1,16
@@
/*
/*
- * Copyright (C) 1994, Index Data I/S
- * All rights reserved.
+ * Copyright (c) 1995, Index Data
+ * See the file LICENSE for details.
* Sebastian Hammer, Adam Dickmeiss
*
* $Log: odr_mem.c,v $
* Sebastian Hammer, Adam Dickmeiss
*
* $Log: odr_mem.c,v $
- * Revision 1.4 1995-05-15 11:56:09 quinn
+ * Revision 1.6 1995-08-21 09:10:41 quinn
+ * Smallish fixes to suppport new formats.
+ *
+ * Revision 1.5 1995/05/16 08:50:55 quinn
+ * License, documentation, and memory fixes
+ *
+ * Revision 1.4 1995/05/15 11:56:09 quinn
* More work on memory management.
*
* Revision 1.3 1995/04/18 08:15:21 quinn
* More work on memory management.
*
* Revision 1.3 1995/04/18 08:15:21 quinn
@@
-33,6
+39,7
@@
typedef struct odr_memblock
char *buf;
int size;
int top;
char *buf;
int size;
int top;
+ int total;
struct odr_memblock *next;
} odr_memblock;
struct odr_memblock *next;
} odr_memblock;
@@
-71,6
+78,7
@@
static odr_memblock *get_block(int size)
abort();
}
r->top = 0;
abort();
}
r->top = 0;
+ r->total = 0;
return r;
}
return r;
}
@@
-110,15
+118,23
@@
void *odr_malloc(ODR o, int size)
abort();
else
{
abort();
else
{
+ if (o->mem)
+ p->total = o->mem->total;
p->next = o->mem;
o->mem = p;
}
r = p->buf + p->top;
/* align size */
p->top += (size + (sizeof(long) - 1)) & ~(sizeof(long) - 1);
p->next = o->mem;
o->mem = p;
}
r = p->buf + p->top;
/* align size */
p->top += (size + (sizeof(long) - 1)) & ~(sizeof(long) - 1);
+ p->total += size;
return r;
}
return r;
}
+int odr_total(ODR o)
+{
+ return o->mem ? o->mem->total : 0;
+}
+
/* ---------- memory management for data encoding ----------*/
/* ---------- memory management for data encoding ----------*/