| 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; |