Changeset 563
- Timestamp:
- Apr 30, 2011, 12:49:15 AM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
abuse/trunk/src/lisp/lisp.cpp
r561 r563 280 280 LFixedPoint *LFixedPoint::Create(int32_t x) 281 281 { 282 size_t size = sizeof(LFixedPoint); 283 if (size < sizeof(LRedirect)) 284 size = sizeof(LRedirect); 282 size_t size = Max(sizeof(LFixedPoint), sizeof(LRedirect)); 285 283 286 284 LFixedPoint *p = (LFixedPoint *)lmalloc(size, current_space); … … 292 290 LObjectVar *LObjectVar::Create(int index) 293 291 { 294 size_t size = sizeof(LObjectVar); 295 if (size < sizeof(LRedirect)) 296 size = sizeof(LRedirect); 292 size_t size = Max(sizeof(LObjectVar), sizeof(LRedirect)); 297 293 298 294 LObjectVar *p = (LObjectVar *)lmalloc(size, current_space); … … 306 302 if (addr == NULL) 307 303 return NULL; 308 size_t size = sizeof(LPointer); 309 if (size < sizeof(LRedirect)) 310 size = sizeof(LRedirect); 304 size_t size = Max(sizeof(LPointer), sizeof(LRedirect)); 311 305 312 306 LPointer *p = (LPointer *)lmalloc(size, current_space); … … 318 312 LChar *LChar::Create(uint16_t ch) 319 313 { 320 size_t size = sizeof(LChar); 321 if (size < sizeof(LRedirect)) 322 size = sizeof(LRedirect); 314 size_t size = Max(sizeof(LChar), sizeof(LRedirect)); 323 315 324 316 LChar *c = (LChar *)lmalloc(size, current_space); … … 345 337 struct LString *LString::Create(int length) 346 338 { 347 size_t size = sizeof(LString) + length - 1; 348 if (size < sizeof(LRedirect)) 349 size = sizeof(LRedirect); 339 size_t size = Max(sizeof(LString) + length - 1, sizeof(LRedirect)); 350 340 351 341 LString *s = (LString *)lmalloc(size, current_space); … … 359 349 PtrRef r1(arg_list), r2(block_list); 360 350 361 size_t size = sizeof(LUserFunction); 362 if (size < sizeof(LRedirect)) 363 size = sizeof(LRedirect); 351 size_t size = Max(sizeof(LUserFunction), sizeof(LRedirect)); 364 352 365 353 LUserFunction *lu = (LUserFunction *)lmalloc(size, current_space); … … 372 360 LSysFunction *new_lisp_sys_function(int min_args, int max_args, int fun_number) 373 361 { 374 size_t size = sizeof(LSysFunction); 375 if (size < sizeof(LRedirect)) 376 size = sizeof(LRedirect); 362 size_t size = Max(sizeof(LSysFunction), sizeof(LRedirect)); 377 363 378 364 // System functions should reside in permanant space … … 409 395 LSymbol *new_lisp_symbol(char *name) 410 396 { 411 size_t size = sizeof(LSymbol); 412 if (size < sizeof(LRedirect)) 413 size = sizeof(LRedirect); 397 size_t size = Max(sizeof(LSymbol), sizeof(LRedirect)); 414 398 415 399 LSymbol *s = (LSymbol *)lmalloc(size, current_space); 400 PtrRef ref(s); 401 416 402 s->type = L_SYMBOL; 417 403 s->name = LString::Create(name); … … 426 412 LNumber *LNumber::Create(long num) 427 413 { 428 size_t size = sizeof(LNumber); 429 if (size < sizeof(LRedirect)) 430 size = sizeof(LRedirect); 414 size_t size = Max(sizeof(LNumber), sizeof(LRedirect)); 431 415 432 416 LNumber *n = (LNumber *)lmalloc(size, current_space); … … 438 422 LList *LList::Create() 439 423 { 440 size_t size = sizeof(LList); 441 if (size < sizeof(LRedirect)) 442 size = sizeof(LRedirect); 424 size_t size = Max(sizeof(LList), sizeof(LRedirect)); 443 425 444 426 LList *c = (LList *)lmalloc(size, current_space);
Note: See TracChangeset
for help on using the changeset viewer.