MCPcopy Create free account
hub / github.com/JACoders/OpenJK / PC_CopyDefine

Function PC_CopyDefine

codemp/botlib/l_precomp.cpp:1500–1536  ·  view source on GitHub ↗

end of the function PC_RemoveAllGlobalDefines ============================================================================ Parameter: - Returns: - Changes Globals: - ============================================================================

Source from the content-addressed store, hash-verified

1498// Changes Globals: -
1499//============================================================================
1500define_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: -

Callers 1

Calls 2

GetMemoryFunction · 0.85
PC_CopyTokenFunction · 0.85

Tested by

no test coverage detected