end of the function PC_RemoveAllGlobalDefines ============================================================================ Parameter: - Returns: - Changes Globals: - ============================================================================
| 1498 | // Changes Globals: - |
| 1499 | //============================================================================ |
| 1500 | define_t *PC_CopyDefine(source_t *source, define_t *define) |
| 1501 | { |
| 1502 | define_t *newdefine; |
| 1503 | token_t *token, *newtoken, *lasttoken; |
| 1504 | |
| 1505 | newdefine = (define_t *) GetMemory(sizeof(define_t)); |
| 1506 | //copy the define name |
| 1507 | newdefine->name = (char *) GetMemory(strlen(define->name) + 1); |
| 1508 | strcpy(newdefine->name, define->name); |
| 1509 | newdefine->flags = define->flags; |
| 1510 | newdefine->builtin = define->builtin; |
| 1511 | newdefine->numparms = define->numparms; |
| 1512 | //the define is not linked |
| 1513 | newdefine->next = NULL; |
| 1514 | newdefine->hashnext = NULL; |
| 1515 | //copy the define tokens |
| 1516 | newdefine->tokens = NULL; |
| 1517 | for (lasttoken = NULL, token = define->tokens; token; token = token->next) |
| 1518 | { |
| 1519 | newtoken = PC_CopyToken(token); |
| 1520 | newtoken->next = NULL; |
| 1521 | if (lasttoken) lasttoken->next = newtoken; |
| 1522 | else newdefine->tokens = newtoken; |
| 1523 | lasttoken = newtoken; |
| 1524 | } //end for |
| 1525 | //copy the define parameters |
| 1526 | newdefine->parms = NULL; |
| 1527 | for (lasttoken = NULL, token = define->parms; token; token = token->next) |
| 1528 | { |
| 1529 | newtoken = PC_CopyToken(token); |
| 1530 | newtoken->next = NULL; |
| 1531 | if (lasttoken) lasttoken->next = newtoken; |
| 1532 | else newdefine->parms = newtoken; |
| 1533 | lasttoken = newtoken; |
| 1534 | } //end for |
| 1535 | return newdefine; |
| 1536 | } //end of the function PC_CopyDefine |
| 1537 | //============================================================================ |
| 1538 | // |
| 1539 | // Parameter: - |
no test coverage detected