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;
}
Beispiel #3
0
char *strtrim(char *s)
{
    return strrtrim(strltrim(s));
}
Beispiel #4
0
char *strchomp(char *s)
{
    return strrtrim(s);
}
Beispiel #5
0
static char *strtrim(char *str)
{
	return strltrim(strrtrim(str));
}
Beispiel #6
0
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);
			}
		}
	}
}
Beispiel #7
0
char *CDateTime::strtrim(char *str, const char *trim)
{
	char *buf = strltrim(strrtrim(str, trim),  trim);
	return buf;
}
Beispiel #8
0
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);
}