162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
|
pool();
~pool() { dealloc_block(blocks); };
void *alloc(size_t size);
void dealloc(void *p, size_t size);
void *realloc(void *p, size_t oldsize, size_t newsize);
char *string(char *s, size_t l);
char *
string(char *s)
{
return string(s, strlen(s));
};
void
deallocstr(char *s)
{
dealloc(s, strlen(s) + 1);
};
char *
stringbuf(char *s)
{
return string(s, _MAXDEFSTR - 1);
};
void dealloc_block(void *b);
void allocnext(size_t allocsize);
};
pool *gp();
|
|
>
|
>
|
>
|
|
<
>
|
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
|
pool();
~pool() { dealloc_block(blocks); };
void *alloc(size_t size);
void dealloc(void *p, size_t size);
void *realloc(void *p, size_t oldsize, size_t newsize);
char *string(const char *s, size_t l);
char *
string(const char *s)
{
return string(s, strlen(s));
}
void
deallocstr(char *s)
{
dealloc(s, strlen(s) + 1);
}
char *
stringbuf(const char *s)
{
return string(s, _MAXDEFSTR - 1);
}
void dealloc_block(void *b);
void allocnext(size_t allocsize);
};
pool *gp();
|
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
|
ht->enumc = ht->enumc->next) \
{ \
t e = &ht->enumc->data; \
b; \
}
inline char *
newstring(char *s)
{
return gp()->string(s);
};
inline char *
newstring(char *s, size_t l)
{
return gp()->string(s, l);
};
inline char *
newstringbuf(char *s)
{
return gp()->stringbuf(s);
};
#endif
|
|
>
|
|
>
|
|
<
|
>
|
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
|
ht->enumc = ht->enumc->next) \
{ \
t e = &ht->enumc->data; \
b; \
}
inline char *
newstring(const char *s)
{
return gp()->string(s);
}
inline char *
newstring(const char *s, size_t l)
{
return gp()->string(s, l);
}
inline char *
newstringbuf(const char *s)
{
return gp()->stringbuf(s);
}
#endif
|