这篇教程C++ syntax函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中syntax函数的典型用法代码示例。如果您正苦于以下问题:C++ syntax函数的具体用法?C++ syntax怎么用?C++ syntax使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了syntax函数的25个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: mainintmain(int argc, char **argv){ int res; char *p; if ((p = strrchr(argv[0], '/')) == NULL) p = argv[0]; else p++; if (strcmp(p, "[") == 0) { if (strcmp(argv[--argc], "]") != 0) error("missing ]"); argv[argc] = NULL; } /* no expression => false */ if (--argc <= 0) return 1;#ifndef SHELL (void)setlocale(LC_CTYPE, "");#endif nargc = argc; t_wp = &argv[1]; parenlevel = 0; if (nargc == 4 && strcmp(*t_wp, "!") == 0) { /* Things like ! "" -o x do not fit in the normal grammar. */ --nargc; ++t_wp; res = oexpr(t_lex(*t_wp)); } else res = !oexpr(t_lex(*t_wp)); if (--nargc > 0) syntax(*t_wp, "unexpected operator"); return res;}
开发者ID:bravelib,项目名称:poudriere,代码行数:39,
示例2: getE2EPNODE *getE2(void) /* E2 -> E2 MULOP E3 */ /* E3 */{ EPNODE *ep1, *ep2; ep1 = getE3(); while (nextc == '*' || nextc == '/') { ep2 = newnode(); ep2->type = nextc; scan(); addekid(ep2, ep1); addekid(ep2, getE3()); if (esupport&E_RCONST) { EPNODE *ep3 = ep1->sibling; if (ep1->type == NUM && ep3->type == NUM) { ep2 = rconst(ep2); } else if (ep3->type == NUM) { if (ep2->type == '/') { if (ep3->v.num == 0) syntax("divide by zero constant"); ep2->type = '*'; /* for speed */ ep3->v.num = 1./ep3->v.num; } else if (ep3->v.num == 0) { ep1->sibling = NULL; /* (E2 * 0) */ epfree(ep2); ep2 = ep3; } } else if (ep1->type == NUM && ep1->v.num == 0) { epfree(ep3); /* (0 * E3) or (0 / E3) */ ep1->sibling = NULL; efree((char *)ep2); ep2 = ep1; } } ep1 = ep2; } return(ep1);}
开发者ID:NREL,项目名称:Radiance,代码行数:39,
示例3: clearResultMStatus tm_polyExtract::doIt( const MArgList& args ){ MStatus stat = MS::kSuccess; clearResult(); MArgDatabase argData( syntax(), args);// if(argData.isFlagSet( extractFaces_Flag)) { MSelectionList selectionList; argData.getObjects( selectionList); MStringArray node_names; bool result = extractFaces_Func( selectionList, node_names); if(!result) { MGlobal::displayError("tm_polyExtract: extractFaces function call failed."); return MStatus::kFailure; } setResult( node_names); return stat; }}
开发者ID:AlbertR,项目名称:cgru170,代码行数:22,
示例4: argDataMStatus userMessage::doIt( const MArgList& args ){ MStatus status = MS::kSuccess; MArgDatabase argData(syntax(), args); if (argData.isFlagSet(deregisterFlag)) { MString event; argData.getFlagArgument(deregisterFlag, 0, event); status = MUserEventMessage::deregisterUserEvent(event); } else if (argData.isFlagSet(registerFlag)) { // Register the new event and add two fixed callbacks to it. MString event; argData.getFlagArgument(registerFlag, 0, event); if (!MUserEventMessage::isUserEvent(event)) { status = MUserEventMessage::registerUserEvent(event); if (status == MS::kSuccess) { MUserEventMessage::addUserEventCallback(event,userCallback1,(void*) &stringClientData,&status); MUserEventMessage::addUserEventCallback(event,userCallback2,(void*) &stringClientData,&status); } } } else if (argData.isFlagSet(postFlag)) { MString event; argData.getFlagArgument(postFlag, 0, event); status = MUserEventMessage::postUserEvent(event); } else if (argData.isFlagSet(testFlag)) { runTests(); } return status;}
开发者ID:DimondTheCat,项目名称:xray,代码行数:39,
示例5: syntaxCFX_ByteString CPDF_DefaultAppearance::GetColorString( PaintOperation nOperation) { CFX_ByteString csColor; if (m_csDA.IsEmpty()) return csColor; CPDF_SimpleParser syntax(m_csDA.AsStringC()); if (syntax.FindTagParamFromStart( (nOperation == PaintOperation::STROKE ? "G" : "g"), 1)) { csColor += syntax.GetWord(); csColor += " "; csColor += syntax.GetWord(); return csColor; } if (syntax.FindTagParamFromStart( (nOperation == PaintOperation::STROKE ? "RG" : "rg"), 3)) { csColor += syntax.GetWord(); csColor += " "; csColor += syntax.GetWord(); csColor += " "; csColor += syntax.GetWord(); csColor += " "; csColor += syntax.GetWord(); return csColor; } if (syntax.FindTagParamFromStart( (nOperation == PaintOperation::STROKE ? "K" : "k"), 4)) { csColor += syntax.GetWord(); csColor += " "; csColor += syntax.GetWord(); csColor += " "; csColor += syntax.GetWord(); csColor += " "; csColor += syntax.GetWord(); csColor += " "; csColor += syntax.GetWord(); } return csColor;}
开发者ID:documentcloud,项目名称:pdfium,代码行数:39,
示例6: syntaxFX_DWORD CPDF_StreamContentParser::Parse(const uint8_t* pData, FX_DWORD dwSize, FX_DWORD max_cost){ if (m_Level > _FPDF_MAX_FORM_LEVEL_) { return dwSize; } FX_DWORD InitObjCount = m_pObjectList->CountObjects(); CPDF_StreamParser syntax(pData, dwSize); CPDF_StreamParserAutoClearer auto_clearer(&m_pSyntax, &syntax); m_CompatCount = 0; while (1) { FX_DWORD cost = m_pObjectList->CountObjects() - InitObjCount; if (max_cost && cost >= max_cost) { break; } switch (syntax.ParseNextElement()) { case CPDF_StreamParser::EndOfData: return m_pSyntax->GetPos(); case CPDF_StreamParser::Keyword: if(!OnOperator((char*)syntax.GetWordBuf()) && _PDF_HasInvalidOpChar((char*)syntax.GetWordBuf())) { m_bAbort = TRUE; } if (m_bAbort) { return m_pSyntax->GetPos(); } ClearAllParams(); break; case CPDF_StreamParser::Number: AddNumberParam((char*)syntax.GetWordBuf(), syntax.GetWordSize()); break; case CPDF_StreamParser::Name: AddNameParam((const FX_CHAR*)syntax.GetWordBuf() + 1, syntax.GetWordSize() - 1); break; default: AddObjectParam(syntax.GetObject()); } } return m_pSyntax->GetPos();}
开发者ID:azunite,项目名称:pdf_clone,代码行数:38,
示例7: syntaxCFX_ByteString CPDF_DefaultAppearance::GetColorString( FX_BOOL bStrokingOperation) { CFX_ByteString csColor; if (m_csDA.IsEmpty()) { return csColor; } CPDF_SimpleParser syntax(m_csDA); if (syntax.FindTagParam(bStrokingOperation ? "G" : "g", 1)) { csColor += (CFX_ByteString)syntax.GetWord(); csColor += " "; csColor += (CFX_ByteString)syntax.GetWord(); return csColor; } syntax.SetPos(0); if (syntax.FindTagParam(bStrokingOperation ? "RG" : "rg", 3)) { csColor += (CFX_ByteString)syntax.GetWord(); csColor += " "; csColor += (CFX_ByteString)syntax.GetWord(); csColor += " "; csColor += (CFX_ByteString)syntax.GetWord(); csColor += " "; csColor += (CFX_ByteString)syntax.GetWord(); return csColor; } syntax.SetPos(0); if (syntax.FindTagParam(bStrokingOperation ? "K" : "k", 4)) { csColor += (CFX_ByteString)syntax.GetWord(); csColor += " "; csColor += (CFX_ByteString)syntax.GetWord(); csColor += " "; csColor += (CFX_ByteString)syntax.GetWord(); csColor += " "; csColor += (CFX_ByteString)syntax.GetWord(); csColor += " "; csColor += (CFX_ByteString)syntax.GetWord(); } return csColor;}
开发者ID:primiano,项目名称:pdfium-merge,代码行数:38,
示例8: func_reply_mailvoid func_reply_mail(USER_DATA *usr, char *argument) { MAIL_DATA *pMail; char buf[STRING]; BUFFER *buffer; int vnum = 1; int anum = 0; if (argument[0] == '/0' || !is_number(argument)) { syntax("[#Wr#x]eply <mail number>", usr); return; } anum = atoi(argument); buffer = new_buf(); for (pMail = usr->pMailFirst; pMail; pMail = pMail->next) { if (pMail && (vnum++ == anum)) break; } mail_attach(usr); if (usr->pCurrentMail->to) free_string(usr->pCurrentMail->to); usr->pCurrentMail->to = str_dup(pMail->from); if (usr->pCurrentMail->subject) free_string(usr->pCurrentMail->subject); if (pMail->subject[0] == 'R' && pMail->subject[1] == 'e' && pMail->subject[2] == ':' && pMail->subject[3] == ' ') usr->pCurrentMail->subject = str_dup(pMail->subject); else { sprintf(buf, "Re: %s", pMail->subject); usr->pCurrentMail->subject = str_dup(buf); } print_to_user(usr, "To: %s/n/rSubject: %s/n/r", usr->pCurrentMail->to, usr->pCurrentMail->subject); EDIT_MODE(usr) = EDITOR_MAIL_WRITE; string_edit(usr, &usr->pCurrentMail->message);}
开发者ID:KodersCo,项目名称:hayalevi,代码行数:38,
示例9: argDataMStatus nodeCreatedCB::doIt( const MArgList& args )//// Description:// implements the MEL nodeCreatedCB command.//{ MStatus stat = MS::kSuccess; MArgDatabase argData( syntax(), args ); // Parse command flags. // if ( argData.isFlagSet( kRegisterFlag ) ) { // Register a new procedure. // MString proc; argData.getFlagArgument( kRegisterFlag, 0, proc ); stat = registerMelProc( proc, argData.isFlagSet( kFullDagPathFlag ) ); } else if ( argData.isFlagSet( kUnregisterFlag ) ) { // Unregister a procedure. // MString proc; argData.getFlagArgument( kUnregisterFlag, 0, proc ); stat = unregisterMelProc( proc ); } else if ( argData.isFlagSet( kFilterFlag ) ) { // Change the filter being applied. // MString filter; argData.getFlagArgument( kFilterFlag, 0, filter ); stat = changeFilter( filter ); } if ( stat.error() ) { MGlobal::displayError( stat.errorString() ); } return stat;}
开发者ID:BigRoy,项目名称:Maya-devkit,代码行数:38,
示例10: co_winnt_mainco_rc_t co_winnt_main(LPSTR szCmdLine) { co_rc_t rc; co_command_line_params_t cmdline; int argc = 0; char **args = NULL; rc = co_os_parse_args(szCmdLine, &argc, &args); if (!CO_OK(rc)) { co_terminal_print("daemon: error parsing arguments/n"); syntax(); return CO_RC(ERROR); } rc = co_cmdline_params_alloc(args, argc, &cmdline); if (!CO_OK(rc)) { co_terminal_print("daemon: error parsing arguments/n"); co_os_free_parsed_args(args); return CO_RC(ERROR); } return CO_RC(OK);}
开发者ID:matt81093,项目名称:Original-Colinux,代码行数:23,
示例11: argDataMStatus AlembicPolyMeshToSubdivCommand::doIt(const MArgList& args){ MStatus status; MArgParser argData(syntax(), args, &status); if (argData.isFlagSet("help")) { MGlobal::displayInfo("[ExocortexAlembic]: ExocortexAlembic_meshToSubdiv command:"); MGlobal::displayInfo(" -m : mesh to assign the initialShadingGroup on"); return MS::kSuccess; } const MString mesh = argData.isFlagSet("mesh") ? ("/"" + argData.flagArgumentString("mesh", 0) + "/"") : ""; MString result; MGlobal::executePythonCommand(("ExoAlembic._functions.alembicPolyMeshToSubdiv(" + mesh) + ")", result); if (result.length()) { MPxCommand::setResult(result); return MS::kFailure; } return MS::kSuccess;}
开发者ID:EriLee,项目名称:ExocortexCrate,代码行数:23,
示例12: argDataMStatus geometrySurfaceConstraintCommand::parseArgs(const MArgList &argList){ MStatus ReturnStatus; MArgDatabase argData(syntax(), argList, &ReturnStatus); if ( ReturnStatus.error() ) return MS::kFailure; // Settings only work at creation time. Would need an // attribute on the node in order to push this state // into the node at any time. ConstraintType typ; if (argData.isFlagSet(kConstrainToLargestWeightFlag)) typ = geometrySurfaceConstraintCommand::kLargestWeight; else if (argData.isFlagSet(kConstrainToSmallestWeightFlag)) typ = geometrySurfaceConstraintCommand::kSmallestWeight; else typ = geometrySurfaceConstraintCommand::kLargestWeight; weightType = typ; // Need parent to process return MS::kUnknownParameter;}
开发者ID:BigRoy,项目名称:Maya-devkit,代码行数:23,
示例13: testcmdinttestcmd(shinstance *psh, int argc, char **argv){ int res; if (strcmp(argv[0], "[") == 0) { if (strcmp(argv[--argc], "]")) error(psh, "missing ]"); argv[argc] = NULL; } if (argc < 2) return 1; psh->t_wp_op = NULL; psh->t_wp = &argv[1]; res = !oexpr(psh, t_lex(psh, *psh->t_wp)); if (*psh->t_wp != NULL && *++psh->t_wp != NULL) syntax(psh, *psh->t_wp, "unexpected operator"); return res;}
开发者ID:dezelin,项目名称:kBuild,代码行数:23,
示例14: setResultMStatus RadiosityRenderer::prepareRenderView() { if (!MRenderView::doesRenderEditorExist()) { setResult( "Cannot renderViewRender in batch render mode. " "Please run in interactive mode, " "so that the render editor exists." ); return MS::kFailure; } else { printf("Past doesRenderEditorExist()"); } // get optional flags MArgDatabase argData( syntax(), args ); parseSyntax( argData ); M3dView curView = M3dView::active3dView(); MDagPath camDagPath; curView.getCamera( camDagPath ); printf("Rendering camera: %s", camDagPath.fullPathName().asChar()); if( MRenderView::setCurrentCamera( camDagPath ) != MS::kSuccess ) { setResult( "renderViewRender: error occurred in setCurrentCamera." ); return MS::kFailure; } if (MRenderView::startRender( windowWidth, windowHeight, doNotClearBackground) != MS::kSuccess) { setResult( "renderViewRender: error occured in startRender." ); return MS::kFailure; } return MS::kSuccess;}
开发者ID:JakeCataford,项目名称:glradiosity,代码行数:37,
示例15: rpx_line/* * Read, parse, and execute a command line. */static voidrpx_line(void){ struct tnode *t; sigset_t nmask, omask; char *wp; linep = line; wordp = word; error_message = NULL; nul_count = 0; tree_count = 0; do { wp = linep; get_word(); } while (*wp != EOL); *wordp = NULL; if (error_message != NULL) { err(SH_ERR, FMT1S, error_message); return; } if (wordp - word > 1) { (void)sigfillset(&nmask); (void)sigprocmask(SIG_SETMASK, &nmask, &omask); t = NULL; t = syntax(word, wordp); (void)sigprocmask(SIG_SETMASK, &omask, NULL); if (error_message != NULL) err(SH_ERR, FMT1S, error_message); else execute(t, NULL, NULL); tfree(t); t = NULL; }}
开发者ID:alwayrun,项目名称:v6shell,代码行数:40,
示例16: func_read_mailvoid func_read_mail(USER_DATA *usr, char *argument) { MAIL_DATA *pMail; char buf[STRING]; BUFFER *buffer; int vnum = 1; int anum = 0; if (argument[0] == '/0' || !is_number(argument)) { syntax("[#Wre#x]ad <mail number>", usr); return; } anum = atoi(argument); buffer = new_buf(); for (pMail = usr->pMailFirst; pMail; pMail = pMail->next) { if (pMail && (vnum++ == anum)) { time_t *last_read = &pMail->read_time; *last_read = UMAX(*last_read, pMail->stamp_time); sprintf(buf, "Reading message %d./n/rDate: %s/n/rFrom: %s/n/r" "Subject: %s/n/r/n/r", vnum - 1, time_str(pMail->stamp_time), pMail->from, pMail->subject); add_buf(buffer, buf); add_buf(buffer, pMail->message); add_buf(buffer, "#x/n/r"); page_to_user(buf_string(buffer), usr); free_buf(buffer); save_mail(usr); return; } } send_to_user("There aren't that many mail./n/r", usr); return;}
开发者ID:KodersCo,项目名称:hayalevi,代码行数:36,
示例17: switchstatic char *yes_no(char *arg, struct switch_s *s){ int value = s->min; switch(arg[0]) { case '+': arg++; value = ON; break; case '-': arg++; value = OFF; break; case 'o': case 'O': switch(toupper(arg[1])) { case 'N': arg += 2; /* ON */ value = ON; break; case 'F': if (toupper(arg[2]) == 'F') { arg += 3; /* OFF */ value = OFF; break; } default: syntax("ON, OFF or nothing expected after /%s", s->sw); } } if (s->loc) *(int *)s->loc = value; defined_format |= s->ID; forced_format |= s->ID; return arg;}
开发者ID:FDOS,项目名称:ramdisk,代码行数:36,
示例18: mainint main (int argc, char *argv []){ int argn, argmax, max, used, i, j, k, n; char *p; GROUP_ *gr; no_mem_buffer = (char *) malloc (1024); get_programname (argv [0]); while (argc > 1 && argv [1][0] == '-') { if (! strcmp (argv [1], "-o")) { argc--; argv++; outfile = argv [1]; } else if (! strcmp (argv [1], "-l")) { argc--; argv++; listfile = argv [1]; } argc--; argv++; } if (argc < 2 && ! listfile) syntax (); if (listfile) { argc = 1; argmax = 256; p = argv [0]; argv = (char **) s_malloc (argmax * sizeof (char *)); argv [0] = p; fileopen (listfile); while (mygetline (FALSE)) { if (argc == argmax) { argmax += 256; argv = (char **) s_realloc (argv, argmax * sizeof (char *)); } argv [argc++] = s_strdup (buffer); } } fileopen (argv [1]); while (mygetline (FALSE)) { if (buffer [0] == 'l' || buffer [0] == 'L') { if (n_lbls == max_lbls) { max_lbls += 256; lbls = (char **) s_realloc (lbls, max_lbls * sizeof (char *)); } i = 1; while (buffer [i] && isspace ((unsigned char) buffer [i])) i++; lbls [n_lbls++] = s_strdup (buffer + i); } } fclose (fp); qsort (lbls, n_lbls, sizeof (char *), scmp); if (outfile) { fpout = fopen (outfile, "w"); if (! fpout) errit ("Creating file /"%s/": %s", outfile, strerror (errno)); } else fpout = stdout; fprintf (fpout, "# Number of cluster files:/n%i/n# Number of labels:/n%i/n# Labels:/n", argc - 1, n_lbls); for (i = 0; i < n_lbls; i++) fprintf (fpout, "%s/n", lbls [i]); fprintf (fpout, "# Cluster count, cluster members, average cophenetic distance:/n"); max = n_lbls - 1; cl = (CLUSTER_ *) s_malloc (max * sizeof (CLUSTER_)); members = (char *) s_malloc ((n_lbls + 1) * sizeof (char)); members [n_lbls] = '/0'; for (argn = 1; argn < argc; argn++) { fileopen (argv [argn]); for (used = 0; used < max; used++) { mygetline (TRUE); if (sscanf (buffer, "%i %f%n", &(cl [used].index), &(cl [used].value), &i) < 2) errit ("Syntax error in /"%s/", line %i: /"%s/"", filename, inputline, buffer); for (n = 0; n < 2; n++) { mygetline (TRUE); switch (buffer [0]) { case 'l': case 'L': cl [used].node [n] = LBL;//.........这里部分代码省略.........
开发者ID:coltekin,项目名称:Gabmap,代码行数:101,
示例19: syntaxCheck /** * @brief Member function <b>parse</b> parses the expression. If successful, the * parse status is set to true. * * @param expr a <b>std::string</b> const reference to the * expression to parse. * */ inline void syntaxCheck(const std::string &expr) { setExpression(expr); syntax(); }
开发者ID:00liujj,项目名称:trilinos,代码行数:12,
示例20: argData//-*****************************************************************************MStatus AbcExport::doIt( const MArgList & args ){ MStatus status; MTime oldCurTime = MAnimControl::currentTime(); MArgParser argData( syntax(), args, &status ); if ( status != MS::kSuccess ) { return status; } unsigned int numberOfArguments = args.length(); MString msg; msg += "AlembicSimpleAbcExport [options] OutputFileName.abc/n/n"; msg += "Options:/n"; msg += "-h / help Print this message./n"; msg += "/n"; msg += "-fs / frameStart int (default: 0)/n"; msg += "The export start frame/n"; msg += "/n"; msg += "-fe / frameEnd int (default: 0)/n"; msg += "The export end frame/n"; msg += "/n"; msg += "-v / verbose Verbose output/n"; msg += "/n"; if ( argData.isFlagSet( "help" ) ) { MGlobal::displayInfo( msg ); return MS::kSuccess; } bool verbose = argData.isFlagSet( "verbose" ); int frameStart = 0; if ( argData.isFlagSet( "frameStart" ) ) { argData.getFlagArgument( "frameStart", 0, frameStart ); } int frameEnd = 0; if ( argData.isFlagSet( "frameEnd" ) ) { argData.getFlagArgument( "frameEnd", 0, frameEnd ); } // status = argData.getCommandArgument(0, argStr); // Get filenameArgument MString fileNameStr = args.asString( numberOfArguments-1, &status ); // Okay, do it. Parameters params; params.fileName = fileNameStr.asChar(); params.startFrame = frameStart; params.endFrame = frameEnd; params.verbose = verbose; params.polysAsSubds = false; params.deforming = true; params.allUserAttributes = true; params.allMayaAttributes = false; try { status = AbcExportSelected( params ); } catch ( std::exception &exc ) { MGlobal::displayError( exc.what() ); status = MS::kFailure; } catch ( ... ) { MGlobal::displayError( "AlembicSimpleAbcExport: UNKNOWN EXCEPTION" ); status = MS::kFailure; } return status;}
开发者ID:ryutaro765,项目名称:Alembic,代码行数:85,
示例21: parse_parameterstatic int parse_parameter ( ctx_t *ctx_p, uint16_t param_id, char *arg, paramsource_t paramsource ){ int ret = 0;#ifdef _DEBUG_FORCE fprintf ( stderr, "Force-Debug: parse_parameter(): %i: %i = /"%s/"/n", paramsource, param_id, arg );#endif switch ( paramsource ) { case PS_CONTROL: case PS_ARGUMENT: if ( param_id & OPTION_CONFIGONLY ) { syntax(); return 0; } ctx_p->flags_set[param_id] = 1; break; case PS_CONFIG: if ( ctx_p->flags_set[param_id] ) return 0; ctx_p->flags_set[param_id] = 1; break; case PS_DEFAULTS:#ifdef VERYPARANOID if ( ctx_p->flags_set[param_id] ) { error ( "Parameter #%i is already set. No need in setting the default value.", param_id ); return 0; }#endif break; /* case PS_REHASH: arg = ctx_p->flags_values_raw[param_id]; #ifdef VERYPARANOID critical_on (arg == NULL); #endif debug(9, "Rehash setting %i -> /"%s/"", param_id, arg); break;*/ case PS_CORRECTION: critical_on ( arg == NULL ); debug ( 9, "Correcting setting %i -> /"%s/"", param_id, arg ); break; default: error ( "Unknown parameter #%i source (value /"%s/").", param_id, arg != NULL ? arg : "" ); break; } if ( ( arg != NULL ) /*&& (paramsource != PS_REHASH)*/ ) { if ( param_id != KVM_ARGS ) arg = parameter_expand ( ctx_p, arg, 0, NULL, NULL, parameter_get, ctx_p ); if ( ctx_p->flags_values_raw[param_id] != NULL ) free ( ctx_p->flags_values_raw[param_id] ); ctx_p->flags_values_raw[param_id] = arg; } switch ( param_id ) { case '?': case HELP: syntax(); break; case SHOW_VERSION: version(); break; case CONFIG_FILE: ctx_p->config_path = *arg ? arg : NULL; break; case CONFIG_GROUP: ctx_p->config_group = *arg ? arg : NULL; break; case CONFIG_GROUP_INHERITS: break; case VMS_MIN: ctx_p->vms_min = ( unsigned int ) xstrtol ( arg, &ret ); break; case VMS_MAX: ctx_p->vms_max = ( unsigned int ) xstrtol ( arg, &ret ); break; case VMS_SPARE_MIN: ctx_p->vms_spare_min = ( unsigned int ) xstrtol ( arg, &ret ); break; case VMS_SPARE_MAX: ctx_p->vms_spare_max = ( unsigned int ) xstrtol ( arg, &ret ); break;//.........这里部分代码省略.........
开发者ID:xaionaro,项目名称:kvm-pool,代码行数:101,
示例22: aliasrun/* * Karl Kleinpaste, 21oct1983. * Set up a one-word alias command, for use for special things. * This code is based on the mainline of process(). */voidaliasrun(int cnt, Char *s1, Char *s2){ struct wordent w, *new1, *new2; /* for holding alias name */ struct command *t = NULL; jmp_buf_t osetexit; int status; size_t omark; getexit(osetexit); if (seterr) { xfree(seterr); seterr = NULL; /* don't repeatedly print err msg. */ } w.word = STRNULL; new1 = xcalloc(1, sizeof w); new1->word = Strsave(s1); if (cnt == 1) { /* build a lex list with one word. */ w.next = w.prev = new1; new1->next = new1->prev = &w; } else { /* build a lex list with two words. */ new2 = xcalloc(1, sizeof w); new2->word = Strsave(s2); w.next = new2->prev = new1; new1->next = w.prev = new2; new1->prev = new2->next = &w; } cleanup_push(&w, lex_cleanup); /* Save the old status */ status = getn(varval(STRstatus)); /* expand aliases like process() does. */ alias(&w); /* build a syntax tree for the command. */ t = syntax(w.next, &w, 0); cleanup_push(t, syntax_cleanup); if (seterr) stderror(ERR_OLD); psavejob(); cleanup_push(&cnt, psavejob_cleanup); /* cnt is used only as a marker */ /* catch any errors here */ omark = cleanup_push_mark(); if (setexit() == 0) /* execute the parse tree. */ /* * From: Michael Schroeder <[email C++ syntaxError函数代码示例 C++ synopsis_pre函数代码示例
|