[BACK]Return to cmds.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / usr.bin / ftp

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/usr.bin/ftp/cmds.c between version 1.87 and 1.88

version 1.87, 2000/06/15 13:08:23 version 1.88, 2000/07/18 07:16:52
Line 213  settype(int argc, char *argv[])
Line 213  settype(int argc, char *argv[])
         struct types *p;          struct types *p;
         int comret;          int comret;
   
         if ((argc == 0 && argv != NULL) || argc > 2) {          if (argc == 0 || argc > 2) {
                 char *sep;                  char *sep;
   
                 fprintf(ttyout, "usage: %s [", argv[0]);                  fprintf(ttyout, "usage: %s [", argv[0]);
Line 296  void
Line 296  void
 setbinary(int argc, char *argv[])  setbinary(int argc, char *argv[])
 {  {
   
         if (argc == 0 && argv != NULL) {          if (argc == 0) {
                 fprintf(ttyout, "usage: %s\n", argv[0]);                  fprintf(ttyout, "usage: %s\n", argv[0]);
                 code = -1;                  code = -1;
                 return;                  return;
Line 313  void
Line 313  void
 setascii(int argc, char *argv[])  setascii(int argc, char *argv[])
 {  {
   
         if (argc == 0 && argv != NULL) {          if (argc == 0) {
                 fprintf(ttyout, "usage: %s\n", argv[0]);                  fprintf(ttyout, "usage: %s\n", argv[0]);
                 code = -1;                  code = -1;
                 return;                  return;
Line 330  void
Line 330  void
 settenex(int argc, char *argv[])  settenex(int argc, char *argv[])
 {  {
   
         if (argc == 0 && argv != NULL) {          if (argc == 0) {
                 fprintf(ttyout, "usage: %s\n", argv[0]);                  fprintf(ttyout, "usage: %s\n", argv[0]);
                 code = -1;                  code = -1;
                 return;                  return;
Line 347  void
Line 347  void
 setftmode(int argc, char *argv[])  setftmode(int argc, char *argv[])
 {  {
   
         if ((argc == 0 && argv != NULL) || argc != 2) {          if (argc != 2) {
                 fprintf(ttyout, "usage: %s mode-name\n", argv[0]);                  fprintf(ttyout, "usage: %s mode-name\n", argv[0]);
                 code = -1;                  code = -1;
                 return;                  return;
Line 364  void
Line 364  void
 setform(int argc, char *argv[])  setform(int argc, char *argv[])
 {  {
   
         if ((argc == 0 && argv != NULL) || argc != 2) {          if (argc != 2) {
                 fprintf(ttyout, "usage: %s format\n", argv[0]);                  fprintf(ttyout, "usage: %s format\n", argv[0]);
                 code = -1;                  code = -1;
                 return;                  return;
Line 381  void
Line 381  void
 setstruct(int argc, char *argv[])  setstruct(int argc, char *argv[])
 {  {
   
         if ((argc == 0 && argv != NULL) || argc != 2) {          if (argc != 2) {
                 fprintf(ttyout, "usage: %s struct-mode\n", argv[0]);                  fprintf(ttyout, "usage: %s struct-mode\n", argv[0]);
                 code = -1;                  code = -1;
                 return;                  return;
Line 405  put(int argc, char *argv[])
Line 405  put(int argc, char *argv[])
                 argv[2] = argv[1];                  argv[2] = argv[1];
                 loc++;                  loc++;
         }          }
         if ((argc == 0 && argv != NULL) ||          if (argc == 0 || (argc == 1 && !another(&argc, &argv, "local-file")))
             (argc == 1 && !another(&argc, &argv, "local-file")))  
                 goto usage;                  goto usage;
         if ((argc < 3 && !another(&argc, &argv, "remote-file")) || argc > 3) {          if ((argc < 3 && !another(&argc, &argv, "remote-file")) || argc > 3) {
 usage:   usage:
                 fprintf(ttyout, "usage: %s local-file [remote-file]\n",                  fprintf(ttyout, "usage: %s local-file [remote-file]\n",
                     argv[0]);                      argv[0]);
                 code = -1;                  code = -1;
Line 443  mput(int argc, char *argv[])
Line 442  mput(int argc, char *argv[])
         int ointer;          int ointer;
         char *tp;          char *tp;
   
         if ((argc == 0 && argv != NULL) ||          if (argc == 0 || (argc == 1 && !another(&argc, &argv, "local-files"))) {
             (argc == 1 && !another(&argc, &argv, "local-files"))) {  
                 fprintf(ttyout, "usage: %s local-files\n", argv[0]);                  fprintf(ttyout, "usage: %s local-files\n", argv[0]);
                 code = -1;                  code = -1;
                 return;                  return;
Line 533  mput(int argc, char *argv[])
Line 531  mput(int argc, char *argv[])
                 }                  }
                 globfree(&gl);                  globfree(&gl);
         }          }
 cleanupmput:   cleanupmput:
         (void)xsignal(SIGINT, oldintr);          (void)xsignal(SIGINT, oldintr);
         mflag = 0;          mflag = 0;
 }  }
Line 567  getit(int argc, char *argv[], int restar
Line 565  getit(int argc, char *argv[], int restar
                 argv[2] = argv[1];                  argv[2] = argv[1];
                 loc++;                  loc++;
         }          }
         if ((argc == 0 && argv != NULL) ||          if (argc == 0 || (argc == 1 && !another(&argc, &argv, "remote-file")))
             (argc == 1 && !another(&argc, &argv, "remote-file")))  
                 goto usage;                  goto usage;
         if ((argc < 3 && !another(&argc, &argv, "local-file")) || argc > 3) {          if ((argc < 3 && !another(&argc, &argv, "local-file")) || argc > 3) {
 usage:   usage:
                 fprintf(ttyout, "usage: %s remote-file [local-file]\n",                  fprintf(ttyout, "usage: %s remote-file [local-file]\n",
                     argv[0]);                      argv[0]);
                 code = -1;                  code = -1;
Line 593  usage:
Line 590  usage:
                 struct stat stbuf;                  struct stat stbuf;
                 int ret;                  int ret;
   
                   if (! features[FEAT_REST_STREAM]) {
                           fprintf(ttyout,
                               "Restart is not supported by the remote server.\n");
                           return (0);
                   }
                 ret = stat(locfile, &stbuf);                  ret = stat(locfile, &stbuf);
                 if (restartit == 1) {                  if (restartit == 1) {
                         if (ret < 0) {                          if (ret < 0) {
Line 618  usage:
Line 620  usage:
         recvrequest("RETR", locfile, remfile, mode,          recvrequest("RETR", locfile, remfile, mode,
             remfile != argv[1] || locfile != argv[2], loc);              remfile != argv[1] || locfile != argv[2], loc);
         restart_point = 0;          restart_point = 0;
 freegetit:   freegetit:
         (void)free(olocfile);          (void)free(olocfile);
         return (rval);          return (rval);
 }  }
Line 665  mget(int argc, char *argv[])
Line 667  mget(int argc, char *argv[])
         int ch, ointer;          int ch, ointer;
         char *cp, *tp, *tp2, tmpbuf[MAXPATHLEN];          char *cp, *tp, *tp2, tmpbuf[MAXPATHLEN];
   
         if ((argc == 0 && argv != NULL) ||          if (argc == 0 ||
             (argc == 1 && !another(&argc, &argv, "remote-files"))) {              (argc == 1 && !another(&argc, &argv, "remote-files"))) {
                 fprintf(ttyout, "usage: %s remote-files\n", argv[0]);                  fprintf(ttyout, "usage: %s remote-files\n", argv[0]);
                 code = -1;                  code = -1;
Line 763  status(int argc, char *argv[])
Line 765  status(int argc, char *argv[])
 {  {
         int i;          int i;
   
         if (argc == 0 && argv != NULL) {          if (argc == 0) {
                 fprintf(ttyout, "usage: %s\n", argv[0]);                  fprintf(ttyout, "usage: %s\n", argv[0]);
                 code = -1;                  code = -1;
                 return;                  return;
Line 882  setedit(int argc, char *argv[])
Line 884  setedit(int argc, char *argv[])
 {  {
   
 #ifdef NO_EDITCOMPLETE  #ifdef NO_EDITCOMPLETE
         if (argc == 0 && argv != NULL) {          if (argc == 0) {
                 fprintf(ttyout, "usage: %s\n", argv[0]);                  fprintf(ttyout, "usage: %s\n", argv[0]);
                 code = -1;                  code = -1;
                 return;                  return;
Line 1002  setgate(int argc, char *argv[])
Line 1004  setgate(int argc, char *argv[])
 {  {
         static char gsbuf[MAXHOSTNAMELEN];          static char gsbuf[MAXHOSTNAMELEN];
   
         if ((argc == 0 && argv != NULL) || argc > 3) {          if (argc == 0 || argc > 3) {
                 fprintf(ttyout,                  fprintf(ttyout,
                     "usage: %s [ on | off | gateserver [port] ]\n", argv[0]);                      "usage: %s [ on | off | gateserver [port] ]\n", argv[0]);
                 code = -1;                  code = -1;
Line 1063  setpreserve(int argc, char *argv[])
Line 1065  setpreserve(int argc, char *argv[])
 void  void
 setdebug(int argc, char *argv[])  setdebug(int argc, char *argv[])
 {  {
         if ((argc == 0 && argv != NULL) || argc > 2) {          if (argc == 0 || argc > 2) {
                 fprintf(ttyout, "usage: %s [ on | off | debuglevel ]\n",                  fprintf(ttyout, "usage: %s [ on | off | debuglevel ]\n",
                     argv[0]);                      argv[0]);
                 code = -1;                  code = -1;
Line 1103  cd(int argc, char *argv[])
Line 1105  cd(int argc, char *argv[])
 {  {
         int r;          int r;
   
         if ((argc == 1 && !another(&argc, &argv, "remote-directory")) ||          if (argc == 0 || argc > 2 ||
             (argc == 0 && argv != NULL) || argc > 2) {              (argc == 1 && !another(&argc, &argv, "remote-directory"))) {
                 fprintf(ttyout, "usage: %s remote-directory\n", argv[0]);                  fprintf(ttyout, "usage: %s remote-directory\n", argv[0]);
                 code = -1;                  code = -1;
                 return;                  return;
Line 1162  delete(int argc, char *argv[])
Line 1164  delete(int argc, char *argv[])
 {  {
   
   
         if ((argc == 1 && !another(&argc, &argv, "remote-file")) ||          if (argc == 0 || argc > 2 ||
             (argc == 0 && argv != NULL) || argc > 2) {              (argc == 1 && !another(&argc, &argv, "remote-file"))) {
                 fprintf(ttyout, "usage: %s remote-file\n", argv[0]);                  fprintf(ttyout, "usage: %s remote-file\n", argv[0]);
                 code = -1;                  code = -1;
                 return;                  return;
Line 1181  mdelete(int argc, char *argv[])
Line 1183  mdelete(int argc, char *argv[])
         int ointer;          int ointer;
         char *cp;          char *cp;
   
         if ((argc == 1 && !another(&argc, &argv, "remote-files")) ||          if (argc == 0 ||
             (argc == 0 && argv != NULL)) {              (argc == 1 && !another(&argc, &argv, "remote-files"))) {
                 fprintf(ttyout, "usage: %s [remote-files]\n", argv[0]);                  fprintf(ttyout, "usage: %s [remote-files]\n", argv[0]);
                 code = -1;                  code = -1;
                 return;                  return;
Line 1220  void
Line 1222  void
 renamefile(int argc, char *argv[])  renamefile(int argc, char *argv[])
 {  {
   
         if ((argc == 0 && argv != NULL) ||          if (argc == 0 || (argc == 1 && !another(&argc, &argv, "from-name")))
             (argc == 1 && !another(&argc, &argv, "from-name")))  
                 goto usage;                  goto usage;
         if ((argc < 3 && !another(&argc, &argv, "to-name")) || argc > 3) {          if ((argc < 3 && !another(&argc, &argv, "to-name")) || argc > 3) {
 usage:   usage:
                 fprintf(ttyout, "usage: %s from-name to-name\n", argv[0]);                  fprintf(ttyout, "usage: %s from-name to-name\n", argv[0]);
                 code = -1;                  code = -1;
                 return;                  return;
Line 1235  usage:
Line 1236  usage:
   
 /*  /*
  * Get a directory listing of remote files.   * Get a directory listing of remote files.
    * Supports being invoked as:
    *      cmd             runs
    *      ---             ----
    *      dir, ls         LIST
    *      mlsd            MLSD
    *      nlist           NLST
    *      pdir, pls       LIST |$PAGER
    *      mmlsd           MLSD |$PAGER
  */   */
 void  void
 ls(int argc, char *argv[])  ls(int argc, char *argv[])
 {  {
         const char *cmd;          const char *cmd;
         char *remdir, *locfile;          char *remdir, *locfile;
         int freelocfile, pagecmd;          int freelocfile, pagecmd, mlsdcmd;
   
         remdir = NULL;          remdir = NULL;
         locfile = "-";          locfile = "-";
         freelocfile = pagecmd = 0;          freelocfile = pagecmd = mlsdcmd = 0;
                         /*                          /*
                          * assume all `pager' versions of the commands                           * the only commands that start with `p' are
                          * are the only ones that start with `p'                           * the `pager' versions.
                          */                           */
         if (argv[0][0] == 'p')          if (argv[0][0] == 'p')
                 pagecmd = 1;                  pagecmd = 1;
         if (argc == 0 && argv != NULL)          if (strcmp(argv[0] + pagecmd , "mlsd") == 0) {
                   if (! features[FEAT_MLST]) {
                           fprintf(ttyout,
                              "MLSD is not supported by the remote server.\n");
                           return;
                   }
                   mlsdcmd = 1;
           }
           if (argc == 0)
                 goto usage;                  goto usage;
   
         cmd = "LIST";          if (mlsdcmd)
         if (strcmp(argv[0], "nlist") == 0)                  cmd = "MLSD";
           else if (strcmp(argv[0] + pagecmd, "nlist") == 0)
                 cmd = "NLST";                  cmd = "NLST";
           else
                   cmd = "LIST";
   
         if (argc > 1)          if (argc > 1)
                 remdir = argv[1];                  remdir = argv[1];
         if (argc > 2)          if (argc > 2)
                 locfile = argv[2];                  locfile = argv[2];
         if (argc > 3 || (pagecmd && argc > 2)) {          if (argc > 3 || ((pagecmd | mlsdcmd) && argc > 2)) {
  usage:   usage:
                 if (pagecmd)                  if (pagecmd || mlsdcmd)
                         fprintf(ttyout,                          fprintf(ttyout,
                             "usage: %s [remote-directory]\n", argv[0]);                              "usage: %s [remote-path]\n", argv[0]);
                 else                  else
                         fprintf(ttyout,                          fprintf(ttyout,
                             "usage: %s [remote-directory [local-file]]\n",                              "usage: %s [remote-path [local-file]]\n",
                             argv[0]);                              argv[0]);
                 code = -1;                  code = -1;
                 goto freels;                  goto freels;
Line 1297  ls(int argc, char *argv[])
Line 1317  ls(int argc, char *argv[])
                 freelocfile = 1;                  freelocfile = 1;
         }          }
         recvrequest(cmd, locfile, remdir, "w", 0, 0);          recvrequest(cmd, locfile, remdir, "w", 0, 0);
 freels:   freels:
         if (freelocfile && locfile)          if (freelocfile && locfile)
                 (void)free(locfile);                  (void)free(locfile);
 }  }
Line 1313  mls(int argc, char *argv[])
Line 1333  mls(int argc, char *argv[])
         int dolist;          int dolist;
         char mode[1], *dest, *odest;          char mode[1], *dest, *odest;
   
         if (argc == 0 && argv != NULL)          if (argc == 0)
                 goto usage;                  goto usage;
         if (argc < 2 && !another(&argc, &argv, "remote-files"))          if (argc < 2 && !another(&argc, &argv, "remote-files"))
                 goto usage;                  goto usage;
         if (argc < 3 && !another(&argc, &argv, "local-file")) {          if (argc < 3 && !another(&argc, &argv, "local-file")) {
 usage:   usage:
                 fprintf(ttyout, "usage: %s remote-files local-file\n", argv[0]);                  fprintf(ttyout, "usage: %s remote-files local-file\n", argv[0]);
                 code = -1;                  code = -1;
                 return;                  return;
Line 1368  shell(int argc, char *argv[])
Line 1388  shell(int argc, char *argv[])
         char shellnam[MAXPATHLEN], *shell, *namep;          char shellnam[MAXPATHLEN], *shell, *namep;
         int wait_status;          int wait_status;
   
         if (argc == 0 && argv != NULL) {          if (argc == 0) {
                 fprintf(ttyout, "usage: %s [command [args]]\n", argv[0]);                  fprintf(ttyout, "usage: %s [command [args]]\n", argv[0]);
                 code = -1;                  code = -1;
                 return;                  return;
Line 1421  user(int argc, char *argv[])
Line 1441  user(int argc, char *argv[])
         char acct[80];          char acct[80];
         int n, aflag = 0;          int n, aflag = 0;
   
         if (argc == 0 && argv != NULL)          if (argc == 0)
                 goto usage;                  goto usage;
         if (argc < 2)          if (argc < 2)
                 (void)another(&argc, &argv, "username");                  (void)another(&argc, &argv, "username");
Line 1465  user(int argc, char *argv[])
Line 1485  user(int argc, char *argv[])
                 (void)command("ACCT %s", argv[3]);                  (void)command("ACCT %s", argv[3]);
         }          }
         connected = -1;          connected = -1;
         remotesyst();          getremoteinfo();
 }  }
   
 /*  /*
Line 1477  pwd(int argc, char *argv[])
Line 1497  pwd(int argc, char *argv[])
 {  {
         int oldverbose = verbose;          int oldverbose = verbose;
   
         if (argc == 0 && argv != NULL) {          if (argc == 0) {
                 fprintf(ttyout, "usage: %s\n", argv[0]);                  fprintf(ttyout, "usage: %s\n", argv[0]);
                 code = -1;                  code = -1;
                 return;                  return;
         }          }
         /*          verbose = 1;    /* If we aren't verbose, this doesn't do anything! */
          * If we aren't verbose, this doesn't do anything!  
          */  
         verbose = 1;  
         if (command("PWD") == ERROR && code == 500) {          if (command("PWD") == ERROR && code == 500) {
                 fputs("PWD command not recognized, trying XPWD.\n", ttyout);                  fputs("PWD command not recognized, trying XPWD.\n", ttyout);
                 (void)command("XPWD");                  (void)command("XPWD");
Line 1501  lpwd(int argc, char *argv[])
Line 1518  lpwd(int argc, char *argv[])
 {  {
         char buf[MAXPATHLEN];          char buf[MAXPATHLEN];
   
         if (argc == 0 && argv != NULL) {          if (argc == 0) {
                 fprintf(ttyout, "usage: %s\n", argv[0]);                  fprintf(ttyout, "usage: %s\n", argv[0]);
                 code = -1;                  code = -1;
                 return;                  return;
Line 1522  void
Line 1539  void
 makedir(int argc, char *argv[])  makedir(int argc, char *argv[])
 {  {
   
         if ((argc == 1 && !another(&argc, &argv, "directory-name")) ||          if (argc == 0 || argc > 2 ||
             (argc == 0 && argv != NULL) || argc > 2) {              (argc == 1 && !another(&argc, &argv, "directory-name"))) {
                 fprintf(ttyout, "usage: %s directory-name\n", argv[0]);                  fprintf(ttyout, "usage: %s directory-name\n", argv[0]);
                 code = -1;                  code = -1;
                 return;                  return;
Line 1543  void
Line 1560  void
 removedir(int argc, char *argv[])  removedir(int argc, char *argv[])
 {  {
   
         if ((argc == 1 && !another(&argc, &argv, "directory-name")) ||          if (argc == 0 || argc > 2 ||
             (argc == 0 && argv != NULL) || argc > 2) {              (argc == 1 && !another(&argc, &argv, "directory-name"))) {
                 fprintf(ttyout, "usage: %s directory-name\n", argv[0]);                  fprintf(ttyout, "usage: %s directory-name\n", argv[0]);
                 code = -1;                  code = -1;
                 return;                  return;
Line 1564  void
Line 1581  void
 quote(int argc, char *argv[])  quote(int argc, char *argv[])
 {  {
   
         if ((argc == 1 && !another(&argc, &argv, "command line to send")) ||          if (argc == 0 ||
             (argc == 0 && argv != NULL)) {              (argc == 1 && !another(&argc, &argv, "command line to send"))) {
                 fprintf(ttyout, "usage: %s line-to-send\n", argv[0]);                  fprintf(ttyout, "usage: %s line-to-send\n", argv[0]);
                 code = -1;                  code = -1;
                 return;                  return;
Line 1582  void
Line 1599  void
 site(int argc, char *argv[])  site(int argc, char *argv[])
 {  {
   
         if ((argc == 1 && !another(&argc, &argv, "arguments to SITE command"))          if (argc == 0 ||
             || (argc == 0 && argv != NULL)) {              (argc == 1 && !another(&argc, &argv, "arguments to SITE command"))){
                 fprintf(ttyout, "usage: %s line-to-send\n", argv[0]);                  fprintf(ttyout, "usage: %s line-to-send\n", argv[0]);
                 code = -1;                  code = -1;
                 return;                  return;
Line 1617  void
Line 1634  void
 do_chmod(int argc, char *argv[])  do_chmod(int argc, char *argv[])
 {  {
   
         if ((argc == 0 && argv != NULL) ||          if (argc == 0 || (argc == 1 && !another(&argc, &argv, "mode")))
             (argc == 1 && !another(&argc, &argv, "mode")))  
                 goto usage;                  goto usage;
         if ((argc < 3 && !another(&argc, &argv, "remote-file")) || argc > 3) {          if ((argc < 3 && !another(&argc, &argv, "remote-file")) || argc > 3) {
 usage:   usage:
                 fprintf(ttyout, "usage: %s mode remote-file\n", argv[0]);                  fprintf(ttyout, "usage: %s mode remote-file\n", argv[0]);
                 code = -1;                  code = -1;
                 return;                  return;
Line 1634  do_umask(int argc, char *argv[])
Line 1650  do_umask(int argc, char *argv[])
 {  {
         int oldverbose = verbose;          int oldverbose = verbose;
   
         if (argc == 0 && argv != NULL) {          if (argc == 0) {
                 fprintf(ttyout, "usage: %s [umask]\n", argv[0]);                  fprintf(ttyout, "usage: %s [umask]\n", argv[0]);
                 code = -1;                  code = -1;
                 return;                  return;
Line 1667  rmthelp(int argc, char *argv[])
Line 1683  rmthelp(int argc, char *argv[])
 {  {
         int oldverbose = verbose;          int oldverbose = verbose;
   
         if (argc == 0 && argv != NULL) {          if (argc == 0) {
                 fprintf(ttyout, "usage: %s\n", argv[0]);                  fprintf(ttyout, "usage: %s\n", argv[0]);
                 code = -1;                  code = -1;
                 return;                  return;
Line 1679  rmthelp(int argc, char *argv[])
Line 1695  rmthelp(int argc, char *argv[])
   
 /*  /*
  * Terminate session and exit.   * Terminate session and exit.
    * May be called with 0, NULL.
  */   */
 /*VARARGS*/  /*VARARGS*/
 void  void
 quit(int argc, char *argv[])  quit(int argc, char *argv[])
 {  {
   
                           /* this may be called with argc == 0, argv == NULL */
         if (argc == 0 && argv != NULL) {          if (argc == 0 && argv != NULL) {
                 fprintf(ttyout, "usage: %s\n", argv[0]);                  fprintf(ttyout, "usage: %s\n", argv[0]);
                 code = -1;                  code = -1;
Line 1700  quit(int argc, char *argv[])
Line 1718  quit(int argc, char *argv[])
   
 /*  /*
  * Terminate session, but don't exit.   * Terminate session, but don't exit.
    * May be called with 0, NULL.
  */   */
 void  void
 disconnect(int argc, char *argv[])  disconnect(int argc, char *argv[])
 {  {
   
                           /* this may be called with argc == 0, argv == NULL */
         if (argc == 0 && argv != NULL) {          if (argc == 0 && argv != NULL) {
                 fprintf(ttyout, "usage: %s\n", argv[0]);                  fprintf(ttyout, "usage: %s\n", argv[0]);
                 code = -1;                  code = -1;
Line 1721  account(int argc, char *argv[])
Line 1741  account(int argc, char *argv[])
 {  {
         char *ap;          char *ap;
   
         if ((argc == 0 && argv != NULL) || argc > 2) {          if (argc == 0 || argc > 2) {
                 fprintf(ttyout, "usage: %s [password]\n", argv[0]);                  fprintf(ttyout, "usage: %s [password]\n", argv[0]);
                 code = -1;                  code = -1;
                 return;                  return;
Line 1760  doproxy(int argc, char *argv[])
Line 1780  doproxy(int argc, char *argv[])
         int cmdpos;          int cmdpos;
         sigfunc oldintr;          sigfunc oldintr;
   
         if ((argc == 0 && argv != NULL) ||          if (argc == 0 || (argc == 1 && !another(&argc, &argv, "command"))) {
             (argc == 1 && !another(&argc, &argv, "command"))) {  
                 fprintf(ttyout, "usage: %s command\n", argv[0]);                  fprintf(ttyout, "usage: %s command\n", argv[0]);
                 code = -1;                  code = -1;
                 return;                  return;
Line 1853  void
Line 1872  void
 setntrans(int argc, char *argv[])  setntrans(int argc, char *argv[])
 {  {
   
         if ((argc == 0 && argv != NULL) || argc > 3) {          if (argc == 0 || argc > 3) {
                 fprintf(ttyout, "usage: %s [inchars [outchars]]\n", argv[0]);                  fprintf(ttyout, "usage: %s [inchars [outchars]]\n", argv[0]);
                 code = -1;                  code = -1;
                 return;                  return;
Line 1913  setnmap(int argc, char *argv[])
Line 1932  setnmap(int argc, char *argv[])
                 code = mapflag;                  code = mapflag;
                 return;                  return;
         }          }
         if ((argc == 0 && argv != NULL) ||          if (argc == 0 ||
             (argc < 3 && !another(&argc, &argv, "mapout")) || argc > 3) {              (argc < 3 && !another(&argc, &argv, "mapout")) || argc > 3) {
                 fprintf(ttyout, "usage: %s [mapin mapout]\n", argv[0]);                  fprintf(ttyout, "usage: %s [mapin mapout]\n", argv[0]);
                 code = -1;                  code = -1;
Line 2167  parserate(int argc, char *argv[], int cm
Line 2186  parserate(int argc, char *argv[], int cm
         sigfunc oldusr1, oldusr2;          sigfunc oldusr1, oldusr2;
   
         if (argc > 4 || (argc < (cmdlineopt ? 3 : 2))) {          if (argc > 4 || (argc < (cmdlineopt ? 3 : 2))) {
 usage:   usage:
                 if (cmdlineopt)                  if (cmdlineopt)
                         fprintf(ttyout,                          fprintf(ttyout,
         "usage: %s (all|get|put),maximum-bytes[,increment-bytes]]\n",          "usage: %s (all|get|put),maximum-bytes[,increment-bytes]]\n",
Line 2244  cdup(int argc, char *argv[])
Line 2263  cdup(int argc, char *argv[])
 {  {
         int r;          int r;
   
         if (argc == 0 && argv != NULL) {          if (argc == 0) {
                 fprintf(ttyout, "usage: %s\n", argv[0]);                  fprintf(ttyout, "usage: %s\n", argv[0]);
                 code = -1;                  code = -1;
                 return;                  return;
Line 2269  void
Line 2288  void
 restart(int argc, char *argv[])  restart(int argc, char *argv[])
 {  {
   
         if ((argc == 0 && argv != NULL) || argc > 2) {          if (argc == 0 || argc > 2) {
                 fprintf(ttyout, "usage: %s [restart_point]\n", argv[0]);                  fprintf(ttyout, "usage: %s [restart-point]\n", argv[0]);
                 code = -1;                  code = -1;
                 return;                  return;
         }          }
           if (! features[FEAT_REST_STREAM]) {
                   fprintf(ttyout,
                       "Restart is not supported by the remote server.\n");
                   return;
           }
         if (argc == 2) {          if (argc == 2) {
                 off_t rp;                  off_t rp;
                 char *ep;                  char *ep;
Line 2308  restart(int argc, char *argv[])
Line 2332  restart(int argc, char *argv[])
 void  void
 syst(int argc, char *argv[])  syst(int argc, char *argv[])
 {  {
           int oldverbose = verbose;
   
         if (argc == 0 && argv != NULL) {          if (argc == 0) {
                 fprintf(ttyout, "usage: %s\n", argv[0]);                  fprintf(ttyout, "usage: %s\n", argv[0]);
                 code = -1;                  code = -1;
                 return;                  return;
         }          }
           verbose = 1;    /* If we aren't verbose, this doesn't do anything! */
         (void)command("SYST");          (void)command("SYST");
           verbose = oldverbose;
 }  }
   
 void  void
Line 2323  macdef(int argc, char *argv[])
Line 2350  macdef(int argc, char *argv[])
         char *tmp;          char *tmp;
         int c;          int c;
   
         if (argc == 0 && argv != NULL)          if (argc == 0)
                 goto usage;                  goto usage;
         if (macnum == 16) {          if (macnum == 16) {
                 fputs("Limit of 16 macros have already been defined.\n",                  fputs("Limit of 16 macros have already been defined.\n",
Line 2389  sizecmd(int argc, char *argv[])
Line 2416  sizecmd(int argc, char *argv[])
 {  {
         off_t size;          off_t size;
   
         if ((argc == 1 && !another(&argc, &argv, "remote-file")) ||          if (argc == 0 || argc > 2 ||
             (argc == 0 && argv != NULL) || argc > 2) {              (argc == 1 && !another(&argc, &argv, "remote-file"))) {
                 fprintf(ttyout, "usage: %s remote-file\n", argv[0]);                  fprintf(ttyout, "usage: %s remote-file\n", argv[0]);
                 code = -1;                  code = -1;
                 return;                  return;
Line 2414  modtime(int argc, char *argv[])
Line 2441  modtime(int argc, char *argv[])
 {  {
         time_t mtime;          time_t mtime;
   
         if ((argc == 1 && !another(&argc, &argv, "remote-file")) ||          if (argc == 0 || argc > 2 ||
             (argc == 0 && argv != NULL) || argc > 2) {              (argc == 1 && !another(&argc, &argv, "remote-file"))) {
                 fprintf(ttyout, "usage: %s remote-file\n", argv[0]);                  fprintf(ttyout, "usage: %s remote-file\n", argv[0]);
                 code = -1;                  code = -1;
                 return;                  return;
Line 2433  void
Line 2460  void
 rmtstatus(int argc, char *argv[])  rmtstatus(int argc, char *argv[])
 {  {
   
         if (argc == 0 && argv != NULL) {          if (argc == 0) {
                 fprintf(ttyout, "usage: %s [remote-file]\n", argv[0]);                  fprintf(ttyout, "usage: %s [remote-file]\n", argv[0]);
                 code = -1;                  code = -1;
                 return;                  return;
Line 2463  lpage(int argc, char *argv[])
Line 2490  lpage(int argc, char *argv[])
         int len;          int len;
         char *p, *pager, *locfile;          char *p, *pager, *locfile;
   
         if ((argc == 0 && argv != NULL) ||          if (argc == 0 || argc > 2 ||
             (argc == 1 && !another(&argc, &argv, "local-file")) || argc > 2) {              (argc == 1 && !another(&argc, &argv, "local-file"))) {
                 fprintf(ttyout, "usage: %s local-file\n", argv[0]);                  fprintf(ttyout, "usage: %s local-file\n", argv[0]);
                 code = -1;                  code = -1;
                 return;                  return;
Line 2496  page(int argc, char *argv[])
Line 2523  page(int argc, char *argv[])
         int ohash, orestart_point, overbose, len;          int ohash, orestart_point, overbose, len;
         char *p, *pager;          char *p, *pager;
   
         if ((argc == 0 && argv != NULL) ||          if (argc == 0 || argc > 2 ||
             (argc == 1 && !another(&argc, &argv, "remote-file")) || argc > 2) {              (argc == 1 && !another(&argc, &argv, "remote-file"))) {
                 fprintf(ttyout, "usage: %s remote-file\n", argv[0]);                  fprintf(ttyout, "usage: %s remote-file\n", argv[0]);
                 code = -1;                  code = -1;
                 return;                  return;
Line 2570  setoption(int argc, char *argv[])
Line 2597  setoption(int argc, char *argv[])
         struct option *o;          struct option *o;
   
         code = -1;          code = -1;
         if ((argc == 0 && argv != NULL) || (argc != 1 && argc != 3)) {          if (argc == 0 || (argc != 1 && argc != 3)) {
                 fprintf(ttyout, "usage: %s [option value]\n", argv[0]);                  fprintf(ttyout, "usage: %s [option value]\n", argv[0]);
                 return;                  return;
         }          }
Line 2605  unsetoption(int argc, char *argv[])
Line 2632  unsetoption(int argc, char *argv[])
         struct option *o;          struct option *o;
   
         code = -1;          code = -1;
         if ((argc == 0 && argv != NULL) || argc !=  2) {          if (argc == 0 || argc != 2) {
                 fprintf(ttyout, "usage: %s option\n", argv[0]);                  fprintf(ttyout, "usage: %s option\n", argv[0]);
                 return;                  return;
         }          }
Line 2619  unsetoption(int argc, char *argv[])
Line 2646  unsetoption(int argc, char *argv[])
         fprintf(ttyout, "Unsetting `%s'.\n", o->name);          fprintf(ttyout, "Unsetting `%s'.\n", o->name);
         code = 0;          code = 0;
 }  }
   
   /*
    * Display features supported by the remote host.
    */
   void
   feat(int argc, char *argv[])
   {
           int oldverbose = verbose;
   
           if (argc == 0) {
                   fprintf(ttyout, "usage: %s\n", argv[0]);
                   code = -1;
                   return;
           }
           if (! features[FEAT_FEAT]) {
                   fprintf(ttyout,
                       "FEAT is not supported by the remote server.\n");
                   return;
           }
           verbose = 1;    /* If we aren't verbose, this doesn't do anything! */
           (void)command("FEAT");
           verbose = oldverbose;
   }
   
   void
   mlst(int argc, char *argv[])
   {
           int oldverbose = verbose;
   
           if (argc < 1 || argc > 2) {
                   fprintf(ttyout, "usage: %s [remote-path]\n", argv[0]);
                   code = -1;
                   return;
           }
           if (! features[FEAT_MLST]) {
                   fprintf(ttyout,
                       "MLST is not supported by the remote server.\n");
                   return;
           }
           verbose = 1;    /* If we aren't verbose, this doesn't do anything! */
           (void)command(argc == 1 ? "MLST" : "MLST %s", argv[1]);
           verbose = oldverbose;
   }
   
   void
   opts(int argc, char *argv[])
   {
           int oldverbose = verbose;
   
           if (argc < 2 || argc > 3) {
                   fprintf(ttyout, "usage: %s command [options]\n", argv[0]);
                   code = -1;
                   return;
           }
           if (! features[FEAT_FEAT]) {
                   fprintf(ttyout,
                       "OPTS is not supported by the remote server.\n");
                   return;
           }
           verbose = 1;    /* If we aren't verbose, this doesn't do anything! */
           (void)command(argc == 2 ? "OPTS %s" : "OPTS %s %s", argv[1], argv[2]);
           verbose = oldverbose;
   }

Legend:
Removed from v.1.87  
changed lines
  Added in v.1.88

CVSweb <webmaster@jp.NetBSD.org>