⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ckuusy.c

📁 KERMIT工具 这在办公室下载不了,很多人都没有载不到.
💻 C
📖 第 1 页 / 共 5 页
字号:
	  if (haveurl) {              makestr(&ssh_hst,g_url.hos);              makestr(&ssh_prt,g_url.svc);	      ckstrncpy(ttname,ssh_hst,TTNAMLEN+1);              ckstrncat(ttname,":",TTNAMLEN+1);              ckstrncat(ttname,ssh_prt,TTNAMLEN+1);          }	  else #endif /* CK_URL */	  {              while (--xargc > 0) {	/* Go through command line words */                  xargv++;                  debug(F111,"cmdlin ssh xargv",*xargv,xargc);                  if (**xargv == '=')                      return(0);                  if (!strcmp(*xargv,"--")) /* getopt() conformance */                      return(0);#ifdef VMS                  else if (**xargv == '/')                      continue;#endif /* VMS */		  /* Got an option (begins with dash) */                  else if (**xargv == '-') {                      int xx;                      x = *(*xargv+1);	/* Get the option letter */                      debug(F111,"cmdlin args 1",*xargv,xargc);                      xx = dossharg(x);                      debug(F101,"cmdlin doarg","",xx);                      debug(F111,"cmdlin args 2",*xargv,xargc);                      if (xx < 0) {#ifndef NOICP                          if (what == W_COMMAND)			    return(0);                          else#endif /* NOICP */                          {#ifdef OS2                              sleep(1);	/* Give it a chance... */#endif /* OS2 */                              doexit(BAD_EXIT,1); /* Go handle option */                          }                      }                  } else {			/* No dash must be hostname */                      ckstrncpy(ttname,*xargv,TTNAMLEN+1);                      makestr(&ssh_hst,ttname);                      debug(F110,"cmdlin ssh host",ttname,0);#ifndef NOICP#ifndef NODIAL                      nhcount = 0;		/* Check network directory */                      debug(F101,"cmdlin nnetdir","",nnetdir);                      if (nnetdir > 0)	/* If there is a directory... */			lunet(*xargv);	/* Look up the name */                      else		/* If no directory */			nhcount = 0;	/* we didn't find anything there */#ifdef DEBUG                      if (deblog) {                          debug(F101,"cmdlin lunet nhcount","",nhcount);                          if (nhcount > 0) {                              debug(F110,"cmdlin lunet nh_p[0]",nh_p[0],0);                              debug(F110,"cmdlin lunet nh_p2[0]",nh_p2[0],0);                              debug(F110,				    "cmdlin lunet nh_px[0][0]",nh_px[0][0],0);                          }                      }#endif /* DEBUG */		      /* If network type specified */		      /* it must be TCP/IP */                      if (nhcount > 0 && nh_p2[0])			if (ckstrcmp(nh_p2[0],"tcp/ip",6,0))			  nhcount = 0;                      if (nhcount == 1) { /* Still OK, so make substitution */                          ckstrncpy(ttname,nh_p[0],TTNAMLEN+1);                          makestr(&ssh_hst,ttname);                          debug(F110,"cmdlin lunet substitution",ttname,0);                      }#endif /* NODIAL */#endif /* NOICP */		      /* Service from command line? */                      if (--xargc > 0 && !haveurl) {                          xargv++;                          ckstrncat(ttname,":",TTNAMLEN+1);                          ckstrncat(ttname,*xargv,TTNAMLEN+1);                          makestr(&ssh_prt,*xargv);                          debug(F110,"cmdlin telnet host2",ttname,0);                      }#ifdef COMMENT                      /* Do not substitute net dir service for ssh port */#ifndef NOICP#ifndef NODIAL		      /* No - how about in net directory? */                      else if (nhcount) {                          if (nh_px[0][0]) {                              ckstrncat(ttname,":",TTNAMLEN+1);                              ckstrncat(ttname,nh_px[0][0],TTNAMLEN+1);                              makestr(&ssh_prt,nh_px[0][0]);                          }                      }#endif /* NODIAL */#endif /* NOICP */#endif /* COMMENT */                      break;                  }              }          }          local = 1;			/* Try to open the connection */          nettype = NET_SSH;          mdmtyp = -nettype;          if (ttopen(ttname,&local,mdmtyp,0) < 0) {              XFATAL("can't open host connection");          }          network = 1;			/* It's open */#ifdef CKLOGDIAL          dolognet();#endif /* CKLOGDIAL */#ifndef NOXFER          reliable = 1;			/* It's reliable */          xreliable = 1;		/* ... */          setreliable = 1;#endif /* NOXFER */          cflg = 1;			/* Connect */          stayflg = 1;			/* Stay */          tn_exit = 1;			/* Telnet-like exit condition */          quiet = 1;          exitonclose = 1;		/* Exit when connection closes */#ifndef NOSPL          if (local) {              if (nmac) {		/* Any macros defined? */                  int k;		/* Yes */                  k = mlook(mactab,"on_open",nmac); /* Look this up */                  if (k >= 0) {                     /* If found, */                      if (dodo(k,ttname,0) > -1)    /* set it up, */                          parser(1);                /* and execute it */                  }               }               }#endif /* NOSPL */	  return(0);      }#endif /* SSHBUILTIN */    if (howcalled == I_AM_SSHSUB)      return(0);/*  From here down: We were called as "kermit" or "iksd".  If we were started directly from a Kermit script file,  the filename of the script is in argv[1], so skip past it.*/    if (xargc > 1) {        int n = 1;        if (*xargv[1] != '-') {#ifdef KERBANG            /* If we were started with a Kerbang script, the script */            /* arguments were already picked up in prescan / cmdini() */            /* and there is nothing here for us anyway. */            if (!strcmp(xargv[1],"+"))              return(0);#endif /* KERBANG */            if (cfilef) {               /* Command file found in prescan() */                xargc -= n;             /* Skip past it */                xargv += n;                cfilef = 0;                debug(F101,"cmdlin cfilef set to 0","",cfilef);            }        }    }/*  Regular Unix-style command line parser, mostly conforming with 'A Proposed  Command Syntax Standard for Unix Systems', Hemenway & Armitage, Unix/World,  Vol.1, No.3, 1984.*/    while (--xargc > 0) {               /* Go through command line words */        xargv++;        debug(F111,"cmdlin xargv",*xargv,xargc);        if (**xargv == '=')          return(0);        if (!strcmp(*xargv,"--"))       /* getopt() conformance */          return(0);#ifdef VMS        else if (**xargv == '/')          continue;#endif /* VMS */        else if (**xargv == '-') {      /* Got an option (begins with dash) */            int xx;            x = *(*xargv+1);            /* Get the option letter */            debug(F111,"cmdlin args 1",*xargv,xargc);            xx = doarg(x);            debug(F101,"cmdlin doarg","",xx);            debug(F111,"cmdlin args 2",*xargv,xargc);            if (xx < 0) {#ifndef NOICP                if (what == W_COMMAND)                  return(0);                else#endif /* NOICP */                  {#ifdef OS2                      sleep(1);         /* Give it a chance... */#endif /* OS2 */                      doexit(BAD_EXIT,1); /* Go handle option */                  }            }        } else if (!haveurl) {		/* No dash where expected */	    char xbuf[32];            char buf[128];	    int k;	    k = ckstrncpy(xbuf,*xargv,40);	    if (k > 30) {		xbuf[30] = '.';		xbuf[29] = '.';		xbuf[28] = '.';	    }	    xbuf[31] = NUL;            ckmakmsg(buf,		     128,		     "invalid command-line option, type \"",		     myname,		     " -h\" for help",		     NULL		     );	    fatal2(xbuf,buf);        }    }#ifdef DEBUG    if (deblog) {#ifndef NOICP        debug(F101,"cmdlin what","",what);#endif /* NOICP */        debug(F101,"cmdlin action","",action);#ifndef NOXFER        debug(F101,"cmdlin stdouf","",stdouf);#endif /* NOXFER */    }#endif /* DEBUG */#ifdef NOICP    if (!action && !cflg && !cnflg) {        debug(F100,"cmdlin NOICP fatal no action","",0);        XFATAL("?No actions specified on command line");    }#else    if (inserver && what == 0) {        /* Internet Kermit server checks */        if (local || (action != 0 && action != 'x')) {            if (local)              printf("local\r\n");            if (action)              printf("action=%c\r\n",action);            debug(F100,"cmdlin fatal 1","",0);            XFATAL("No actions or connections allowed with -A");        }    }#endif /* NOICP */#ifndef NOLOCAL    if (!local) {        if ((action == 'c') || (cflg != 0)) {            debug(F100,"cmdlin fatal 2","",0);            XFATAL("-l or -j or -X required");        }    }#endif /* NOLOCAL */#ifndef NOXFER    if (*cmarg2 != 0) {        if ((action != 's') && (action != 'r') && (action != 'v')) {            debug(F100,"cmdlin fatal 3","",0);            XFATAL("-a without -s, -r, or -g");        }        if (action == 'r' || action == 'v') {#ifdef CK_TMPDIR            if (isdir(cmarg2)) {        /* -a is a directory */                if (!zchdir(cmarg2)) {  /* try to change to it */                    debug(F100,"cmdlin fatal 4","",0);                    XFATAL("can't change to '-a' directory");                } else cmarg2 = "";            } else#endif /* CK_TMPDIR */              if (zchko(cmarg2) < 0) {                  debug(F100,"cmdlin fatal 5","",0);                  XFATAL("write access to -a file denied");              }        }    }    if ((action == 'v') && (stdouf) && (!local)) {        if (is_a_tty(1)) {            debug(F100,"cmdlin fatal 6","",0);            XFATAL("unredirected -k can only be used in local mode");        }    }    if ((action == 's') || (action == 'v') ||        (action == 'r') || (action == 'x')) {        if (local)          displa = 1;        if (stdouf) {            displa = 0;            quiet = 1;        }    }    if (quiet) displa = 0;              /* No display if quiet requested */#endif /* NOXFER */#ifdef DEBUG    if (action)      debug(F000,"cmdlin returns action","",action);    else      debug(F101,"cmdlin returns action","",action);#endif /* DEBUG */    return(action);                     /* Then do any requested protocol */}/* Extended argument parsing: --keyword[:value] (or =value) *//*  XA_xxxx symbols are defined in ckuusr.h.  If you add a new one, also remember to update doshow(),  SHXOPT section, in ckuus5.c.*/struct keytab xargtab[] = {#ifdef CK_LOGIN    { "anonymous",   XA_ANON, CM_ARG|CM_PRE },#endif /* CK_LOGIN */    { "bannerfile",  XA_BAFI, CM_ARG },    { "cdfile",      XA_CDFI, CM_ARG },    { "cdmessage",   XA_CDMS, CM_ARG },    { "cdmsg",       XA_CDMS, CM_ARG|CM_INV },#ifdef KUI    { "changedim",   XA_CHGD, CM_PRE },#endif /* KUI */#ifndef NOCSETS    { "charset",     XA_CSET, CM_ARG|CM_PRE },#endif /* NOCSETS */#ifdef IKSDB    { "database",    XA_DBAS, CM_ARG|CM_PRE },    { "dbfile",      XA_DBFI, CM_ARG|CM_PRE },#endif /* IKSDB */#ifdef KUI    { "facename",    XA_FNAM, CM_ARG|CM_PRE|CM_INV },    { "fontname",    XA_FNAM, CM_ARG|CM_PRE },    { "fontsize",    XA_FSIZ, CM_ARG|CM_PRE },#endif /* KUI */#ifdef COMMENT#ifdef NEWFTP    { "ftp",         XA_FTP,  CM_ARG },#endif /* NEWFTP */#endif /* COMMENT */#ifndef NOLOCAL#ifdef OS2    { "height",      XA_ROWS, CM_ARG|CM_PRE },#endif /* OS2 */#endif /* NOLOCAL */    { "help",        XA_HELP, 0 },#ifndef NOHELP    { "helpfile",    XA_HEFI, CM_ARG },#endif /* NOHELP */#ifdef CK_LOGIN    { "initfile",    XA_ANFI, CM_ARG|CM_PRE },#endif /* CK_LOGIN */#ifdef OS2    { "lockdown",    XA_LOCK, CM_PRE },#ifdef KUI    { "maximize",    XA_WMAX,  CM_PRE },    { "minimize",    XA_WMIN,  CM_PRE },    { "nobars",      XA_NOBAR, CM_PRE },#endif /* KUI */    { "noescape",    XA_NOESCAPE, CM_PRE },#endif /* OS2 */    { "nointerrupts",XA_NOIN, CM_PRE },#ifdef KUI    { "nomenubar",   XA_NOMN, CM_PRE },#endif /* KUI */    { "noperms",     XA_NPRM, 0 },#ifndef NOPUSH    { "nopush",      XA_NOPUSH, CM_PRE },#endif /* NOPUSH */#ifdef OS2    { "noscroll",    XA_NOSCROLL, CM_PRE },#endif /* OS2 */#ifdef KUI    { "nostatusbar", XA_NOSB, CM_PRE },    { "notoolbar",   XA_NOTB, CM_PRE },#endif /* KUI */#ifdef COMMENT    { "password",    XA_PASS, CM_ARG|CM_INV },#endif /* COMMENT */#ifdef CK_LOGIN#ifndef NOXFER#ifdef CK_PERM    { "permissions", XA_PERM, CM_ARG|CM_PRE },    { "perms",       XA_PERM, CM_ARG|CM_PRE|CM_INV },#endif /* CK_PERM */#endif /* NOXFER */#ifdef UNIX    { "privid",      XA_PRIV, CM_ARG|CM_PRE },#endif /* UNIX */#ifndef NOLOCAL#ifndef NOCSETS    { "rcharset",    XA_CSET, CM_ARG|CM_PRE|CM_INV },#endif /* NOCSETS */#endif /* NOLOCAL */#ifdef UNIX    { "root",        XA_ROOT, CM_ARG|CM_PRE },#else /* UNIX */#ifdef CKROOT    { "root",        XA_ROOT, CM_ARG|CM_PRE },#endif /* CKROOT */#endif /* UNIX */#ifdef KUI    { "scalefont",   XA_SCALE, CM_PRE },#endif /* KUI */#ifdef COMMENT#ifdef SSHBUILTIN    { "ssh",         XA_SSH,  CM_ARG },#endif /* SSHBUILTIN */#endif /* COMMENT */#ifdef CKSYSLOG    { "syslog",      XA_SYSL, CM_ARG|CM_PRE },#endif /* CKSYSLOG */#ifndef NOLOCAL#ifdef COMMENT#ifdef TNCODE    { "telnet",      XA_TEL,  CM_ARG },#endif /* TNCODE */#endif /* COMMENT */    { "termtype",    XA_TERM, CM_ARG|CM_PRE },#endif /* NOLOCAL */    { "timeout",     XA_TIMO, CM_ARG|CM_PRE },#ifndef NOLOCAL#ifdef OS2    { "title",       XA_TITL, CM_ARG },

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -