10 |
|
#include "copyright.h" |
11 |
|
|
12 |
|
#include <ctype.h> |
13 |
– |
#include <string.h> |
14 |
– |
#include <stdio.h> |
13 |
|
|
14 |
|
#include "platform.h" |
15 |
|
#include "standard.h" |
17 |
|
#include "otypes.h" |
18 |
|
|
19 |
|
#ifndef OBJMEMOPT |
20 |
< |
#define OBJMEMOPT 1 /* optimize object block memory? */ |
20 |
> |
#define OBJMEMOPT 0 /* optimize object block memory? */ |
21 |
|
#endif |
22 |
|
|
23 |
|
OBJREC *objblock[MAXOBJBLK]; /* our objects */ |
182 |
|
unsigned long sargcnt = 0, iargcnt = 0, fargcnt = 0, namecnt = 0; |
183 |
|
|
184 |
|
if (i < 0 || objblock[i] == NULL || objblock[i][OBJBLKSIZ].otype < 0) |
185 |
< |
return; /* invalid or already flagged */ |
185 |
> |
return; /* invalid or already done */ |
186 |
|
|
187 |
|
for (o = objblock[i]+OBJBLKSIZ; o-- > objblock[i]; ) { |
188 |
|
if (o->oname == NULL) /* too early to optimize? */ |
197 |
|
#endif |
198 |
|
namecnt += strlen(o->oname)+1; |
199 |
|
} |
200 |
< |
if (n < OBJBLKSIZ/10) /* never happens? */ |
200 |
> |
if (n < OBJBLKSIZ/10) /* never happens? */ |
201 |
|
return; |
202 |
|
/* prep consolidation object */ |
203 |
|
co = objblock[i]+OBJBLKSIZ; |
213 |
|
(co->oargs.farg == NULL)) { |
214 |
|
free(co->oname); |
215 |
|
free(co->oargs.sarg); free(co->oargs.farg); |
216 |
+ |
memset(co, 0, sizeof(OBJREC)); |
217 |
|
return; /* insufficient memory */ |
218 |
|
} |
219 |
|
#ifdef IARGS |
222 |
|
if (co->oargs.iarg == NULL) { |
223 |
|
free(co->oname); |
224 |
|
free(co->oargs.sarg); free(co->oargs.farg); |
225 |
+ |
memset(co, 0, sizeof(OBJREC)); |
226 |
|
return; /* insufficient memory */ |
227 |
|
} |
228 |
|
iargcnt = 0; |