char *strtrim(char *s) { strrtrim(s); strltrim(s); return s; }
static char* build_keyname(long key, const char* subkey) { char* full_name; reg_handle_t* t; if((t=find_handle(key))==0) { OutputDebugString("Registery:Invalid key\n"); return NULL; } if(subkey==NULL) subkey="<default>"; full_name=(char*)malloc(strlen(t->name)+strlen(subkey)+10); strcpy(full_name, t->name); strcat(full_name, "\\"); while(*subkey == '\\') subkey++; strcat(full_name, subkey); strrtrim(full_name, '\\'); return full_name; }
char *strtrim(char *s) { return strrtrim(strltrim(s)); }
char *strchomp(char *s) { return strrtrim(s); }
static char *strtrim(char *str) { return strltrim(strrtrim(str)); }
void CConsole::Execute(char* command) { if (command == NULL) return; char cmdBuf[255]; strncpy(cmdBuf, command, 255); char* cmd = strtok(cmdBuf, " "); for (int i=0; i < ARRAY_SIZE(ConsoleCommands); i++) { if (stricmp(cmd, ConsoleCommands[i].cmdName) == 0) { if (ConsoleCommands[i].cmdFlags & 1) { #ifndef _DEBUG logprintf("Unable to execute command '%s'. Debug mode required.", ConsoleCommands[i].cmdName); return; #endif } ConsoleCommands[i].CmdFunc(); return; } } consoleVarStruct* ConVar = FindVar(cmd); if (ConVar != NULL) { bool readonly = (ConVar->varFlags & 2) == 2; if (ConVar->varFlags & 1) { #ifndef _DEBUG logprintf("Unable to access variable '%s'. Debug mode required.", cmd); return; #endif } bool bChangedVar = false; char* arg = strtok(NULL, " "); switch (ConVar->varType) { case CONSOLE_VARTYPE_FLOAT: if ((arg) && (!readonly)) { *(float*)ConVar->varValue = (float)atof(arg); bChangedVar = true; } else { logprintf("%s = %f (float%s)", cmd, *(float*)ConVar->varValue, readonly?", read-only":""); } break; case CONSOLE_VARTYPE_INT: if ((arg) && (!readonly)) { *(int*)ConVar->varValue = atoi(arg); bChangedVar = true; } else { logprintf("%s = %d (int%s)", cmd, *(int*)ConVar->varValue, readonly?", read-only":""); } break; case CONSOLE_VARTYPE_BOOL: if ((arg) && (!readonly)) { *(bool*)ConVar->varValue = (bool)(atoi(arg) != 0); bChangedVar = true; } else { logprintf("%s = %d (bool%s)", cmd, *(bool*)ConVar->varValue, readonly?", read-only":""); } break; case CONSOLE_VARTYPE_STRING: if ((arg) && (!readonly)) { if (ConVar->varValue != NULL) delete [] ConVar->varValue; char* str; char* ext = strtok(NULL, ""); if (ext) { str = (char*)malloc(strlen(arg)+strlen(ext)+2); strcpy(str, arg); strcat(str, " "); strrtrim(ext); strcat(str, ext); } else { str = (char*)malloc(strlen(arg)+1); strcpy(str, arg); } if (strlen(str) > 1023) str[1022] = 0; ConVar->varValue = str; bChangedVar = true; } else { logprintf("%s = \"%s\" (string%s)", cmd, (char*)ConVar->varValue, readonly?", read-only":""); } break; } if (bChangedVar) { if (ConVar->varFunc) { ConVar->varFunc(); } } return; } if (!__NetGame) return; if (!__NetGame->filterscriptsManager->OnRconCommand(command)) { if (__NetGame->gamemodeManager) { if (!__NetGame->gamemodeManager->OnRconCommand(command)) { logprintf("Unknown command or variable:\n %s", cmd); } } } }
char *CDateTime::strtrim(char *str, const char *trim) { char *buf = strltrim(strrtrim(str, trim), trim); return buf; }
char *strtrim(char *str, const char *trim) { return strltrim(strrtrim(str, trim), trim); }
void test_right_side_trim (void) { CU_ASSERT (strcmp (STR_E_EXPECTED_VALUE_RT, strrtrim (str_e)) == 0); CU_ASSERT (strcmp (STR_F_EXPECTED_VALUE_RT, strrtrim (str_f)) == 0); CU_ASSERT (strcmp (STR_G_EXPECTED_VALUE_RT, strrtrim (str_g)) == 0); CU_ASSERT (strcmp (STR_H_EXPECTED_VALUE_RT, strrtrim (str_h)) == 0); }