这篇教程C++ Com_Filter函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中Com_Filter函数的典型用法代码示例。如果您正苦于以下问题:C++ Com_Filter函数的具体用法?C++ Com_Filter怎么用?C++ Com_Filter使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了Com_Filter函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: Cmd_List_f/*============Cmd_List_f============*/void Cmd_List_f(void){ cmd_function_t *cmd; int i = 0; char *match; if (Cmd_Argc() > 1) { match = Cmd_Argv(1); } else { match = NULL; } for (cmd = cmd_functions ; cmd ; cmd = cmd->next) { if (match && !Com_Filter(match, cmd->name, qfalse)) { continue; } Com_Printf("%s/n", cmd->name); i++; } Com_Printf("%i commands/n", i);}
开发者ID:ptitSeb,项目名称:etlegacy,代码行数:32,
示例2: Sys_Error/** * @brief Opens the directory and returns the first file that matches our searchrules * @sa Sys_FindNext * @sa Sys_FindClose */char *Sys_FindFirst (const char *path, unsigned musthave, unsigned canhave){ struct dirent *d; char *p; if (fdir) Sys_Error("Sys_BeginFind without close"); Q_strncpyz(findbase, path, sizeof(findbase)); if ((p = strrchr(findbase, '/')) != NULL) { *p = 0; Q_strncpyz(findpattern, p + 1, sizeof(findpattern)); } else Q_strncpyz(findpattern, "*", sizeof(findpattern)); if (Q_streq(findpattern, "*.*")) Q_strncpyz(findpattern, "*", sizeof(findpattern)); if ((fdir = opendir(findbase)) == NULL) return NULL; while ((d = readdir(fdir)) != NULL) { if (!*findpattern || Com_Filter(findpattern, d->d_name)) { if (CompareAttributes(findbase, d->d_name, musthave, canhave)) { Com_sprintf(findpath, sizeof(findpath), "%s/%s", findbase, d->d_name); return findpath; } } } return NULL;}
开发者ID:Qazzian,项目名称:ufoai_suspend,代码行数:37,
示例3: Cmd_List_f/*============Cmd_List_f============*/void Cmd_List_f (void){ cmd_function_t *cmd = NULL; int i, j; char *match = NULL; if ( Cmd_Argc() > 1 ) { match = Cmd_Argv( 1 ); } for ( cmd=cmd_functions, i=0, j=0; cmd; cmd=cmd->next, i++ ) { if ( !cmd->name || (match && !Com_Filter( match, cmd->name, qfalse )) ) continue; Com_Printf (" %s/n", cmd->name); j++; } Com_Printf ("/n%i total commands/n", i); if ( i != j ) Com_Printf( "%i matching commands/n", j );}
开发者ID:Aura15,项目名称:OpenJK,代码行数:30,
示例4: Cvar_List_f/*============Cvar_List_f============*/void Cvar_List_f( void ) { cvar_t *var = NULL; int i = 0; char *match = NULL; if ( Cmd_Argc() > 1 ) match = Cmd_Argv( 1 ); for ( var=cvar_vars, i=0; var; var=var->next, i++ ) { if ( !var->name || (match && !Com_Filter( match, var->name, qfalse )) ) continue; if (var->flags & CVAR_SERVERINFO) Com_Printf( "S" ); else Com_Printf( " " ); if (var->flags & CVAR_SYSTEMINFO) Com_Printf( "s" ); else Com_Printf( " " ); if (var->flags & CVAR_USERINFO) Com_Printf( "U" ); else Com_Printf( " " ); if (var->flags & CVAR_ROM) Com_Printf( "R" ); else Com_Printf( " " ); if (var->flags & CVAR_INIT) Com_Printf( "I" ); else Com_Printf( " " ); if (var->flags & CVAR_ARCHIVE) Com_Printf( "A" ); else Com_Printf( " " ); if (var->flags & CVAR_LATCH) Com_Printf( "L" ); else Com_Printf( " " ); if (var->flags & CVAR_CHEAT) Com_Printf( "C" ); else Com_Printf( " " ); if (var->flags & CVAR_USER_CREATED) Com_Printf( "?" ); else Com_Printf( " " ); Com_Printf( S_COLOR_WHITE " %s = " S_COLOR_GREY "/"" S_COLOR_WHITE "%s" S_COLOR_GREY "/"" S_COLOR_WHITE, var->name, var->string ); if ( var->latchedString ) Com_Printf( ", latched = " S_COLOR_GREY "/"" S_COLOR_WHITE "%s" S_COLOR_GREY "/"" S_COLOR_WHITE, var->latchedString ); Com_Printf( "/n" ); } Com_Printf( "/n%i total cvars/n", i ); if ( i != cvar_numIndexes ) Com_Printf( "%i cvar indexes/n", cvar_numIndexes );}
开发者ID:TheSil,项目名称:WhoracleMod,代码行数:40,
示例5: Cmd_List_f/*============Cmd_List_f============*/static void Cmd_List_f( void ) { cmd_function_t *cmd; int i; char *match; if ( Cmd_Argc() > 1 ) { match = Cmd_Argv( 1 ); } else { match = NULL; } i = 0; for ( cmd = cmd_functions ; cmd ; cmd = cmd->next ) { if ( (match && !Com_Filter( match, (char*)cmd->name, qfalse )) || Cmd_GetInvokerPower() < cmd->minPower || ((cmd->minPower == 0) && Cmd_GetInvokerPower() != 100)) { if(!Auth_CanPlayerUseCommand(Cmd_GetInvokerClnum(), (char*)cmd->name)) { continue; } } Com_Printf( "%s/n", cmd->name ); i++; } Com_Printf( "%i commands/n", i );}
开发者ID:D4edalus,项目名称:CoD4x_Server,代码行数:31,
示例6: Com_FilterPath/*============Com_FilterPath============*/int Com_FilterPath(const char *filter, const char *name, int casesensitive){ int i; char new_filter[MAX_QPATH]; char new_name[MAX_QPATH]; for (i = 0; i < MAX_QPATH-1 && filter[i]; i++) { if ( filter[i] == '//' || filter[i] == ':' ) { new_filter[i] = '/'; } else { new_filter[i] = filter[i]; } } new_filter[i] = '/0'; for (i = 0; i < MAX_QPATH-1 && name[i]; i++) { if ( name[i] == '//' || name[i] == ':' ) { new_name[i] = '/'; } else { new_name[i] = name[i]; } } new_name[i] = '/0'; return Com_Filter(new_filter, new_name, casesensitive);}
开发者ID:Aura15,项目名称:OpenJK,代码行数:31,
示例7: Cvar_List_f/*============Cvar_List_f============*/void Cvar_List_f( void ) { cvar_t *var; int i; char *match; if ( Cmd_Argc() > 1 ) { match = Cmd_Argv( 1 ); } else { match = NULL; } i = 0; for (var = cvar_vars ; var ; var = var->next, i++) { if (match && !Com_Filter(match, var->name, qfalse)) continue; if (var->flags & CVAR_SERVERINFO) { Com_Printf("S"); } else { Com_Printf(" "); } if (var->flags & CVAR_USERINFO) { Com_Printf("U"); } else { Com_Printf(" "); } if (var->flags & CVAR_ROM) { Com_Printf("R"); } else { Com_Printf(" "); } if (var->flags & CVAR_INIT) { Com_Printf("I"); } else { Com_Printf(" "); } if (var->flags & CVAR_ARCHIVE) { Com_Printf("A"); } else { Com_Printf(" "); } if (var->flags & CVAR_LATCH) { Com_Printf("L"); } else { Com_Printf(" "); } if (var->flags & CVAR_CHEAT) { Com_Printf("C"); } else { Com_Printf(" "); } Com_Printf (" %s /"%s/"/n", var->name, var->string); } Com_Printf ("/n%i total cvars/n", i); Com_Printf ("%i cvar indexes/n", cvar_numIndexes);}
开发者ID:ZdrytchX,项目名称:Lolards,代码行数:63,
示例8: Svcmd_EntityList_fvoid Svcmd_EntityList_f(){ int entityNum; int i; int currentEntityCount; gentity_t *displayedEntity; char* filter; displayedEntity = g_entities; if(trap_Argc() > 1) { filter = ConcatArgs( 1 ); } else { filter = nullptr; } for ( entityNum = 0, currentEntityCount = 0; entityNum < level.num_entities; entityNum++, displayedEntity++ ) { if ( !displayedEntity->inuse ) { continue; } currentEntityCount++; if(filter && !Com_Filter(filter, displayedEntity->classname, false) ) { for (i = 0; i < MAX_ENTITY_ALIASES && displayedEntity->names[i]; ++i) { if( Com_Filter(filter, displayedEntity->names[i], false) ) { PrintEntityOverviewLine( displayedEntity ); break; } } continue; } PrintEntityOverviewLine( displayedEntity ); } G_Printf( "A total of %i entities are currently in use./n", currentEntityCount);}
开发者ID:BlueMustache,项目名称:Unvanquished,代码行数:44,
示例9: Cmd_List_fstatic void Cmd_List_f(){ const char* match = (Cmd_Argc() > 1) ? Cmd_Argv(1) : NULL; int i = 0; for (const cmd_function_t* cmd = cmd_functions; cmd; cmd = cmd->next) { if (match && !Com_Filter(match, cmd->name)) continue; Com_Printf( "%s/n", cmd->name ); ++i; } Com_Printf( "%i commands/n", i );}
开发者ID:ShaneIsley,项目名称:challengeq3,代码行数:14,
示例10: while/** * @brief Returns the next file of the already opened directory (Sys_FindFirst) that matches our search mask * @sa Sys_FindClose * @sa Sys_FindFirst * @sa static var findpattern */char *Sys_FindNext (unsigned musthave, unsigned canhave){ struct dirent *d; if (fdir == NULL) return NULL; while ((d = readdir(fdir)) != NULL) { if (!*findpattern || Com_Filter(findpattern, d->d_name)) { if (CompareAttributes(findbase, d->d_name, musthave, canhave)) { Com_sprintf(findpath, sizeof(findpath), "%s/%s", findbase, d->d_name); return findpath; } } } return NULL;}
开发者ID:Qazzian,项目名称:ufoai_suspend,代码行数:22,
示例11: Cmd_AliasList_f/*============Cmd_AliasList_f============*/void Cmd_AliasList_f (void){ cmd_alias_t *alias; int i; char *match; if (Cmd_Argc() > 1) match = Cmd_Argv( 1 ); else match = NULL; i = 0; for (alias = cmd_aliases; alias; alias = alias->next) { if (match && !Com_Filter(match, alias->name, false)) continue; Com_Printf ("%s ==> %s/n", alias->name, alias->exec); i++; } Com_Printf ("%i aliases/n", i);}
开发者ID:TheDushan,项目名称:OpenWolf,代码行数:26,
示例12: Sys_ListFilteredFilesvoid Sys_ListFilteredFiles (const char *basedir, const char *subdirs, const char *filter, linkedList_t **list){ char search[MAX_OSPATH], newsubdirs[MAX_OSPATH]; char filename[MAX_OSPATH]; DIR *directory; struct dirent *d; struct stat st; if (subdirs[0] != '/0') { Com_sprintf(search, sizeof(search), "%s/%s", basedir, subdirs); } else { Com_sprintf(search, sizeof(search), "%s", basedir); } if ((directory = opendir(search)) == NULL) return; while ((d = readdir(directory)) != NULL) { Com_sprintf(filename, sizeof(filename), "%s/%s", search, d->d_name); if (stat(filename, &st) == -1) continue; if (st.st_mode & S_IFDIR) { if (Q_strcasecmp(d->d_name, ".") && Q_strcasecmp(d->d_name, "..")) { if (subdirs[0] != '/0') { Com_sprintf(newsubdirs, sizeof(newsubdirs), "%s/%s", subdirs, d->d_name); } else { Com_sprintf(newsubdirs, sizeof(newsubdirs), "%s", d->d_name); } Sys_ListFilteredFiles(basedir, newsubdirs, filter, list); } } Com_sprintf(filename, sizeof(filename), "%s/%s", subdirs, d->d_name); if (!Com_Filter(filter, filename)) continue; LIST_AddString(list, filename); } closedir(directory);}
开发者ID:Qazzian,项目名称:ufoai_suspend,代码行数:40,
示例13: Cmd_ListPower_fstatic void Cmd_ListPower_f() { cmd_function_t *cmd; int i, hidden, j, l; char *match; if ( Cmd_Argc() > 1 ) { match = Cmd_Argv( 1 ); } else { match = NULL; } i = 0; hidden = 0; for ( cmd = cmd_functions ; cmd ; cmd = cmd->next ) { if ( (match && !Com_Filter( match, (char*)cmd->name, qfalse ))) { continue; } if(cmd->minPower == 100 || cmd->minPower == 0){ hidden++; continue; } Com_Printf ("%s", cmd->name ); l = 24 - strlen(cmd->name); j = 0; do { Com_Printf (" "); j++; } while(j < l); Com_Printf( "%d/n", cmd->minPower ); i++; } Com_Printf( "/n%i commands with specified power settings are shown/n", i ); Com_Printf( "%i commands are hidden because the required power level for those commands is set to 100 or 0/n", hidden ); Com_Printf( "Type cmdlist to get a complete list of all commands/n");}
开发者ID:BraXi,项目名称:CoD4X18-Server,代码行数:40,
示例14: Cmd_List_f/*============Cmd_List_f============*/void Cmd_List_f (void){ cmd_function_t *cmd; int i; char *match; if ( Cmd_Argc() > 1 ) { match = Cmd_Argv( 1 ); } else { match = NULL; } i = 0; for ( int c = 0; c < CMD_MAX_NUM; ++c ) { cmd = cmd_functions + c; if (match && !Com_Filter(match, cmd->name, qfalse)) continue; Com_Printf ("%s/n", cmd->name); i++; } Com_Printf ("%i commands/n", i);}
开发者ID:bdwakefield,项目名称:OpenJK,代码行数:27,
示例15: Sys_ListFilteredFilesvoid Sys_ListFilteredFiles (const char* basedir, const char* subdirs, const char* filter, linkedList_t** list){ char search[MAX_OSPATH], newsubdirs[MAX_OSPATH]; char filename[MAX_OSPATH]; int findhandle; struct _wfinddata_t findinfo; if (subdirs[0] != '/0') { Com_sprintf(search, sizeof(search), "%s//%s//*", basedir, subdirs); } else { Com_sprintf(search, sizeof(search), "%s//*", basedir); } Sys_Utf8ToUtf16(search, wfindpath, lengthof(wfindpath)); findhandle = _wfindfirst(wfindpath, &findinfo); if (findhandle == -1) return; do { Sys_Utf16ToUtf8(findinfo.name, findname, sizeof(findname)); if (findinfo.attrib & _A_SUBDIR) { if (Q_strcasecmp(findname, ".") && Q_strcasecmp(findname, "..")) { if (subdirs[0] != '/0') { Com_sprintf(newsubdirs, sizeof(newsubdirs), "%s//%s", subdirs, findname); } else { Com_sprintf(newsubdirs, sizeof(newsubdirs), "%s", findname); } Sys_ListFilteredFiles(basedir, newsubdirs, filter, list); } } Com_sprintf(filename, sizeof(filename), "%s//%s", subdirs, findname); if (!Com_Filter(filter, filename)) continue; LIST_AddString(list, filename); } while (_wfindnext(findhandle, &findinfo) != -1); _findclose(findhandle);}
开发者ID:stavrossk,项目名称:ufoai,代码行数:38,
示例16: Com_FilterAfterStar/** * @brief Like Com_Filter, but match PATTERN against any final segment of TEXT. */static int Com_FilterAfterStar (const char* pattern, const char* text){ register const char* p = pattern, *t = text; register char c, c1; while ((c = *p++) == '?' || c == '*') if (c == '?' && *t++ == '/0') return 0; if (c == '/0') return 1; if (c == '//') c1 = *p; else c1 = c; while (1) { if ((c == '[' || *t == c1) && Com_Filter(p - 1, t)) return 1; if (*t++ == '/0') return 0; }}
开发者ID:Isaacssv552,项目名称:ufoai,代码行数:27,
示例17: Cvar_List_fstatic void Cvar_List_f( void ){ const char* match = (Cmd_Argc() > 1) ? Cmd_Argv(1) : NULL; int i = 0; for (const cvar_t* var = cvar_vars; var; var = var->next, ++i) { if (match && !Com_Filter(match, var->name)) continue; Com_Printf( (var->flags & CVAR_SERVERINFO) ? "S" : " " ); Com_Printf( (var->flags & CVAR_USERINFO) ? "U" : " " ); Com_Printf( (var->flags & CVAR_ROM) ? "R" : " " ); Com_Printf( (var->flags & CVAR_INIT) ? "I" : " " ); Com_Printf( (var->flags & CVAR_ARCHIVE) ? "A" : " " ); Com_Printf( (var->flags & CVAR_LATCH) ? "L" : " " ); Com_Printf( (var->flags & CVAR_CHEAT) ? "C" : " " ); Com_Printf(" %s /"%s/"/n", var->name, var->string); } Com_Printf("/n%i total cvars/n", i); Com_Printf("%i cvar indexes/n", cvar_numIndexes);}
开发者ID:DaTa-,项目名称:cnq3x,代码行数:24,
示例18: Cvar_ListModified_f/*============Cvar_ListModified_f============*/void Cvar_ListModified_f( void ) { cvar_t *var; int totalModified; char *value; char *match; if ( Cmd_Argc() > 1 ) { match = Cmd_Argv( 1 ); } else { match = NULL; } totalModified = 0; for (var = cvar_vars ; var ; var = var->next) { if ( !var->name || !var->modificationCount ) continue; value = var->latchedString ? var->latchedString : var->string; if ( !strcmp( value, var->resetString ) ) continue; totalModified++; if (match && !Com_Filter(match, var->name, qfalse)) continue; if (var->flags & CVAR_SERVERINFO) { Com_Printf("S"); } else { Com_Printf(" "); } if (var->flags & CVAR_SYSTEMINFO) { Com_Printf("s"); } else { Com_Printf(" "); } if (var->flags & CVAR_USERINFO) { Com_Printf("U"); } else { Com_Printf(" "); } if (var->flags & CVAR_ROM) { Com_Printf("R"); } else { Com_Printf(" "); } if (var->flags & CVAR_INIT) { Com_Printf("I"); } else { Com_Printf(" "); } if (var->flags & CVAR_ARCHIVE) { Com_Printf("A"); } else { Com_Printf(" "); } if (var->flags & CVAR_LATCH) { Com_Printf("L"); } else { Com_Printf(" "); } if (var->flags & CVAR_CHEAT) { Com_Printf("C"); } else { Com_Printf(" "); } if (var->flags & CVAR_USER_CREATED) { Com_Printf("?"); } else { Com_Printf(" "); } Com_Printf (" %s /"%s/", default /"%s/"/n", var->name, value, var->resetString); } Com_Printf ("/n%i total modified cvars/n", totalModified);}
开发者ID:a-detiste,项目名称:iortcw,代码行数:83,
示例19: Cvar_List_f/*============Cvar_List_f============*/void Cvar_List_f( void ){ cvar_t *var; int i = 0; char *match = NULL; qboolean raw = qfalse; if ( Cmd_Argc() > 1 ) { match = Cmd_Argv( 1 ); if ( !Q_stricmp( match, "-raw" ) ) { raw = qtrue; match = ( Cmd_Argc() > 2 ) ? Cmd_Argv( 2 ) : NULL; } } for ( var = cvar_vars; var; var = var->next, i++ ) { if ( match && !Com_Filter( match, var->name, qfalse ) ) { continue; } if ( var->flags & CVAR_SERVERINFO ) { Com_Printf( "S" ); } else { Com_Printf( " " ); } if ( var->flags & CVAR_SYSTEMINFO ) { Com_Printf( "s" ); } else { Com_Printf( " " ); } if ( var->flags & CVAR_USERINFO ) { Com_Printf( "U" ); } else { Com_Printf( " " ); } if ( var->flags & CVAR_ROM ) { Com_Printf( "R" ); } else { Com_Printf( " " ); } if ( var->flags & CVAR_INIT ) { Com_Printf( "I" ); } else { Com_Printf( " " ); } if ( var->flags & CVAR_ARCHIVE ) { Com_Printf( "A" ); } else { Com_Printf( " " ); } if ( var->flags & CVAR_LATCH ) { Com_Printf( "L" ); } else { Com_Printf( " " ); } if ( var->flags & CVAR_CHEAT ) { Com_Printf( "C" ); } else { Com_Printf( " " );//.........这里部分代码省略.........
开发者ID:AlienHoboken,项目名称:Unvanquished,代码行数:101,
示例20: sql_evalcellInfo_t sql_eval( sqlInfo_t *db, Expr expr, tableInfo_t * table, cellInfo_t * row, int index, int total, sqlData_t * params, cellInfo_t * aggregate ){ value_t stack[ 64 ]; int sp; int i; static char buffer[ 16384 ]; // FIX ME: this is the source of bugs static int size = 0; int top = size; for ( i=0,sp=0; expr[ i ] != OP_END; ) { op_t op = READ_OP; switch( op ) { case OP_PUSH_INTEGER: stack[ sp++ ].i = READ_INT; break; case OP_PUSH_STRING: stack[ sp++ ].s = READ_STRING; break; case OP_PUSH_COLUMN: stack[ sp++ ].p = table->columns + READ_OP; break; case OP_PUSH_COLUMN_VAL: stack[ sp++ ].i = row[ READ_OP ].integer; break; case OP_PUSH_STRING_PARAM: stack[ sp++ ].s = params[ READ_OP ].payload.string; break; case OP_PUSH_INTEGER_PARAM: stack[ sp++ ].i = params[ READ_OP ].payload.integer; break; case OP_ROWINDEX: stack[ sp++ ].i = (row - table->rows) / table->column_count; break; case OP_ROWNUMBER: stack[ sp++ ].i = index; break; case OP_ROWTOTAL: stack[ sp++ ].i = total; break; case OP_ROWCOUNT: stack[ sp++ ].i = table->row_count; break; case OP_SYS_TIME: stack[ sp++ ].i = Sys_Milliseconds(); break; case OP_SUBTRACT: LVALUE.i = LEFT_OPERAND.i - RIGHT_OPERAND.i; sp--; break; case OP_ADD: LVALUE.i = LEFT_OPERAND.i + RIGHT_OPERAND.i; sp--; break; case OP_DIVIDE: LVALUE.i = LEFT_OPERAND.i / RIGHT_OPERAND.i; sp--; break; case OP_MULTIPLY: LVALUE.i = LEFT_OPERAND.i * RIGHT_OPERAND.i; sp--; break; case OP_MODULUS: LVALUE.i = LEFT_OPERAND.i % RIGHT_OPERAND.i; sp--; break; case OP_LOGICAL_AND: LVALUE.i = LEFT_OPERAND.i && RIGHT_OPERAND.i; sp--; break; case OP_LOGICAL_OR: LVALUE.i = LEFT_OPERAND.i || RIGHT_OPERAND.i; sp--; break; case OP_BITWISE_AND: LVALUE.i = LEFT_OPERAND.i & RIGHT_OPERAND.i; sp--; break; case OP_BITWISE_OR: LVALUE.i = LEFT_OPERAND.i | RIGHT_OPERAND.i; sp--; break; case OP_GT: LVALUE.i = LEFT_OPERAND.i > RIGHT_OPERAND.i; sp--; break; case OP_LT: LVALUE.i = LEFT_OPERAND.i < RIGHT_OPERAND.i; sp--; break; case OP_GE: LVALUE.i = LEFT_OPERAND.i >= RIGHT_OPERAND.i; sp--; break; case OP_LE: LVALUE.i = LEFT_OPERAND.i <= RIGHT_OPERAND.i; sp--; break; case OP_EQ: LVALUE.i = LEFT_OPERAND.i == RIGHT_OPERAND.i; sp--; break; case OP_NE: LVALUE.i = LEFT_OPERAND.i != RIGHT_OPERAND.i; sp--; break; case OP_ATOI: if (stack[ sp-1 ].s) { stack[ sp-1 ].i = atoi( stack[ sp-1 ].s ); } else { stack[ sp-1 ].i = -1; } break; case OP_LIKE: LVALUE.i = Q_stricmp( LEFT_OPERAND.s, RIGHT_OPERAND.s ) == 0; sp--; break; case OP_MATCH: LVALUE.i = Com_Filter( RIGHT_OPERAND.s, LEFT_OPERAND.s, 0 ); sp--; break; case OP_NOTLIKE: LVALUE.i = Q_stricmp( LEFT_OPERAND.s, RIGHT_OPERAND.s ) != 0; sp--; break; case OP_INT_MIN: LVALUE.i = (LEFT_OPERAND.i<RIGHT_OPERAND.i)?LEFT_OPERAND.i:RIGHT_OPERAND.i; sp--; break; case OP_INT_MAX: LVALUE.i = (LEFT_OPERAND.i>RIGHT_OPERAND.i)?LEFT_OPERAND.i:RIGHT_OPERAND.i; sp--; break; case OP_ABS: stack[ sp-1 ].i = abs( stack[ sp-1 ].i ); break; case OP_UMINUS: stack[ sp-1 ].i = -stack[ sp-1 ].i; break; case OP_NOT: stack[ sp-1 ].i = !(stack[ sp-1 ].i); break; case OP_REMOVE: { int p = READ_OP; int n = min( params[ p ].payload.integer, stack[ sp-1 ].i ); params[ p ].payload.integer -= n; stack[ sp-1 ].i = n; } break; case OP_ASSIGN_INT_TO_COLUMN: { columnInfo_t * c = (columnInfo_t*)LEFT_OPERAND.p; ASSERT( c->num >= 0 && c->num < table->column_count ); if ( row[ c->num ].integer != RIGHT_OPERAND.i ) { table->modified |= (1<<c->num); } LVALUE.i = row[ c->num ].integer = RIGHT_OPERAND.i; sp--; } break; case OP_ASSIGN_STRING_TO_COLUMN: { // a string is being inserted into a table. this string is expected to remain // constant throughout the life of the table. strings stored in tables do not // change. string cells can not be modified with an 'UPDATE' command columnInfo_t * c = (columnInfo_t*)LEFT_OPERAND.p; cellInfo_t * cell = row + c->num; const char * o = cell->string;//.........这里部分代码省略.........
开发者ID:ballju,项目名称:SpaceTrader-GPL-1.1.14,代码行数:101,
注:本文中的Com_Filter函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ Com_HashKey函数代码示例 C++ Com_Error函数代码示例 |