📄 ckuus4.c
字号:
!ckstrcmp(g_url.svc,"https",-1,0)) { haveurl = 1; howcalled = I_AM_HTTP; } if (haveurl) { while (--yargc > 0) { /* Go through command-line args */ yargv++; /* looking for -Y and -d */ yp = *yargv+1; if (**yargv == '-') { x = *(*yargv+1); while (x) { switch (x) {#ifndef NOICP case '+': case '-': if (doxarg(yargv,1) < 0) { fatal("Extended argument error"); } yp = ""; break;#endif /* NOICP */ case 'Y': noinit++; break; case 'h': noinit = 1;#ifdef OS2 startflags |= 2; /* No network DLLs */ startflags |= 4; /* No TAPI DLLs */ startflags |= 8; /* No Security DLLs */ startflags |= 16; /* No Zmodem DLLs */ startflags |= 32; /* Stdin */ startflags |= 64; /* Stdout */#endif /* OS2 */ break; case 'd': /* = SET DEBUG ON */#ifdef DEBUG if (debcount++ > 0) debtim = 1; if (!deblog) deblog = debopn("debug.log",0);#endif /* DEBUG */ break;#ifdef OS2 case 'W': if (*(yp+1)) fatal("invalid argument bundling after -W"); yargv++, yargc--; if (yargc < 1) fatal("Window handle missing"); hwndDialer = (HWND) atol(*yargv); StartedFromDialer = 1; yargv++, yargc--; KermitDialerID = atol(*yargv) ; break; case '#': /* K95 initialization options */ if (*(yp+1)) { fatal("invalid argument bundling"); } yargv++, yargc--; if (yargc < 1) fatal("-# argument missing"); startflags |= atol(*yargv); break;#endif /* OS2 */ } if (!yp) break; x = *++yp; } } } return; } } /* after this point non-Kermit personalities must return */ switch (howcalled) { case I_AM_KERMIT: case I_AM_IKSD: case I_AM_SSHSUB: break; default: return; }#endif /* NOURL */#ifndef NOICP /* If it is not a URL that we recognize, try to treat it as a file */ if (!isabsolute(yargv[1])) /* If not absolute */ s = findinpath(yargv[1]); /* Look in PATH */ else s = yargv[1]; if (!s) doexit(BAD_EXIT,xitsta); zfnqfp(s,CKMAXPATH,cmdfil); /* In case of CD in file */ yargc -= 1; /* Skip past the filename */ yargv += 1; /* Otherwise we'll get an error */#endif /* NOICP */ }#ifndef NOCMDL#ifdef NEWFTP if (howcalled == I_AM_FTP) { /* Kermit's FTP client personality */ while (--yargc > 0) { /* Go through command-line args */ yargv++; /* looking for -Y and -d */ yp = *yargv+1; if (**yargv == '-') { x = *(*yargv+1); while (x) { switch (x) {#ifndef NOICP case '+': case '-': if (doxarg(yargv,1) < 0) { fatal("Extended argument error"); } yp = ""; break;#endif /* NOICP */ case 'Y': noinit++; break; case 'h': noinit = 1;#ifdef OS2 startflags |= 2; /* No network DLLs */ startflags |= 4; /* No TAPI DLLs */ startflags |= 8; /* No Security DLLs */ startflags |= 16; /* No Zmodem DLLs */ startflags |= 32; /* Stdin */ startflags |= 64; /* Stdout */#endif /* OS2 */ break; case 'd': /* = SET DEBUG ON */#ifdef DEBUG if (debcount++ > 0) debtim = 1; if (!deblog) deblog = debopn("debug.log",0);#endif /* DEBUG */ break;#ifdef OS2 case 'W': if (*(yp+1)) fatal("invalid argument bundling after -W"); yargv++, yargc--; if (yargc < 1) fatal("Window handle missing"); hwndDialer = (HWND) atol(*yargv); StartedFromDialer = 1; yargv++, yargc--; KermitDialerID = atol(*yargv) ; break; case '#': /* K95 initialization options */ if (*(yp+1)) { fatal("invalid argument bundling"); } yargv++, yargc--; if (yargc < 1) fatal("-# argument missing"); startflags |= atol(*yargv); break;#endif /* OS2 */ } if (!yp) break; x = *++yp; } } } return; }#endif /* NEWFTP */#endif /* NOCMDL */ while (--yargc > 0) { /* Go through command-line args */ yargv++; yp = *yargv+1; /* Pointer for bundled args */ if (**yargv == '=') /* Same rules as cmdlin()... */ return; debug(F110,"prescan *yargv",*yargv,0);#ifndef NOICP#ifdef KERBANG yy = *yargv; if (!strcmp(yy,"+") || (*yy == '+' && *(yy+1) < (char)33)) { char * s; yargv++; noinit = 1; if (!*yargv) return; cfilef = 1; s = findinpath(*yargv); if (s) { zfnqfp(s,CKMAXPATH,cmdfil); return; } else doexit(BAD_EXIT,xitsta); }#endif /* KERBANG */#endif /* NOICP */ if (!strcmp(*yargv,"--")) /* getopt() conformance */ return;#ifdef VMS else if (**yargv == '/') continue;#endif /* VMS */ else if (**yargv == '-') { /* Got an option (begins with dash) */ x = *(*yargv+1); /* Get option letter */ while (x) { /* Allow for bundled options */ debug(F000,"prescan arg","",x); switch (x) {#ifndef NOICP case '+': case '-': if (doxarg(yargv,1) < 0) { fatal("Extended argument error"); }#ifndef COMMENT /* Jeff 28 Apr 2003 */ yp = NULL; /* (not "") */#else yargv++, yargc--; yp = *yargv;#endif /* COMMENT */ break;#endif /* NOICP */ case '7': /* Undocumented... */ sstelnet = 1; /* (because it doesn't work) */ break;#ifdef IKSD case 'A': { char * p; inserver = 1; /* Flag that we are doing this */ srvcdmsg = 2; /* Preset this */ /* See inserver section of ckcmai.c for more settings */#ifdef OS2 if (*(yp+1)) { fatal("invalid argument bundling after -A"); }#ifdef NT /* Support for Pragma Systems Telnet/Terminal Servers */ p = getenv("PRAGMASYS_INETD_SOCK"); if (p && atoi(p) != 0) { ttname[0] = '$'; ckstrncpy(&ttname[1],p,TTNAMLEN-1); break; }#endif /* NT */ yargv++, yargc--; if (yargc < 1 || **yargv == '-') { fatal("-A argument missing"); } else { ttname[0] = '$'; ckstrncpy(&ttname[1],*yargv,TTNAMLEN-1); }#endif /* OS2 */ break; }#endif /* IKSD */#ifdef OS2 case 'W': if (*(yp+1)) fatal("invalid argument bundling after -W"); yargv++, yargc--; if (yargc < 1) fatal("Window handle missing");#ifdef COMMENT if (dummy) { yargv++, yargc--; break; } else {#endif /* COMMENT */ hwndDialer = (HWND) atol(*yargv); StartedFromDialer = 1; yargv++, yargc--; KermitDialerID = atol(*yargv) ;#ifdef COMMENT }#endif /* COMMENT */ break; case '#': /* K95 initialization options */ if (*(yp+1)) { fatal("invalid argument bundling"); } yargv++, yargc--; if (yargc < 1) fatal("-# argument missing"); startflags |= atol(*yargv); break;#endif /* OS2 */#ifndef NOSPL case 'M': /* My User Name */ if (*(yp+1)) { fatal("invalid argument bundling"); } yargv++, yargc--; if ((yargc < 1) || (**yargv == '-')) { fatal("missing username"); } if ((int)strlen(*yargv) > UIDBUFLEN) { fatal("username too long"); }#ifdef COMMENT/* This can't work. uidbuf is overwritten in sysinit() which has yet to be called. This cannot be set in prescan().*/#ifdef IKSD if (!inserver)#endif /* IKSD */ ckstrncpy(uidbuf,*yargv,UIDBUFLEN);#endif /* COMMENT */ break;#endif /* NOSPL */ case 'R': /* Remote-only advisory */#ifdef CK_IFRO remonly = 1;#endif /* CK_IFRO */ break; case 'S': /* STAY */ stayflg = 1; break; case 'h': noinit = 1;#ifdef OS2 startflags |= 2; /* No network DLLs */ startflags |= 4; /* No TAPI DLLs */ startflags |= 8; /* No Security DLLs */ startflags |= 16; /* No Zmodem DLLs */ startflags |= 32; /* Stdin */ startflags |= 64; /* Stdout */#endif /* OS2 */ break;#ifndef NOICP case 'Y': /* No init file */ noinit = 1; break;#endif /* NOICP */ case 'd': /* = SET DEBUG ON */#ifdef DEBUG if (debcount++ > 0) debtim = 1; if (!deblog) deblog = debopn("debug.log",0);#endif /* DEBUG */ break; case 'x': /* Server */ arg_x = 1; /* Note in advance */ break;#ifndef NOICP case 'y': /* Alternative init file */ noinit = 0; yargv++, yargc--; if (yargc < 1) fatal("missing name in -y"); /* Replace init file name */ ckstrncpy(kermrc,*yargv,KERMRCL); rcflag = 1; /* Flag that this has been done */ debug(F111,"prescan kermrc",kermrc,rcflag); break;#endif /* NOICP */ case 'z': /* = SET BACKGROUND OFF */ bgset = 0; backgrd = 0;#ifdef VMS batch = 0;#endif /* VMS */ break; case 'B': /* Force background (batch) */ bgset = 1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -