[BACK]Return to exec.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / bin / sh

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

Diff for /src/bin/sh/exec.c between version 1.52 and 1.52.2.3

version 1.52, 2018/06/22 11:04:55 version 1.52.2.3, 2020/04/21 19:37:34
Line 1064  typecmd(int argc, char **argv)
Line 1064  typecmd(int argc, char **argv)
                 }                  }
         }          }
   
         if (p_flag && (v_flag || V_flag))          if (argv[0][0] != 'c' && v_flag | V_flag | p_flag)
                 error("cannot specify -p with -v or -V");                  error("usage: %s name...", argv[0]);
   
           if (v_flag && V_flag)
                   error("-v and -V cannot both be specified");
   
           if (*argptr == NULL)
                   error("usage: %s%s name ...", argv[0],
                       argv[0][0] == 'c' ? " [-p] [-v|-V]" : "");
   
         while ((arg = *argptr++)) {          while ((arg = *argptr++)) {
                 if (!v_flag)                  if (!v_flag)
Line 1077  typecmd(int argc, char **argv)
Line 1084  typecmd(int argc, char **argv)
   
                 if (*pp) {                  if (*pp) {
                         if (v_flag)                          if (v_flag)
                                 err = 1;                                  out1fmt("%s\n", arg);
                         else                          else
                                 out1str(" is a shell keyword\n");                                  out1str(" is a shell keyword\n");
                         continue;                          continue;
Line 1085  typecmd(int argc, char **argv)
Line 1092  typecmd(int argc, char **argv)
   
                 /* Then look at the aliases */                  /* Then look at the aliases */
                 if ((ap = lookupalias(arg, 1)) != NULL) {                  if ((ap = lookupalias(arg, 1)) != NULL) {
                         if (!v_flag)                          int ml = 0;
                                 out1fmt(" is an alias for \n");  
                           if (!v_flag) {
                                   out1str(" is an alias ");
                                   if (strchr(ap->val, '\n')) {
                                           out1str("(multiline)...\n");
                                           ml = 1;
                                   } else
                                           out1str("for: ");
                           }
                         out1fmt("%s\n", ap->val);                          out1fmt("%s\n", ap->val);
                           if (ml && *argptr != NULL)
                                   out1c('\n');
                         continue;                          continue;
                 }                  }
   
                 /* Then check if it is a tracked alias */                  /* Then check if it is a tracked alias */
                 if ((cmdp = cmdlookup(arg, 0)) != NULL) {                  if (!p_flag && (cmdp = cmdlookup(arg, 0)) != NULL) {
                         entry.cmdtype = cmdp->cmdtype;                          entry.cmdtype = cmdp->cmdtype;
                         entry.u = cmdp->param;                          entry.u = cmdp->param;
                 } else {                  } else {
                           cmdp = NULL;
                         /* Finally use brute force */                          /* Finally use brute force */
                         find_command(arg, &entry, DO_ABS, pathval());                          find_command(arg, &entry, DO_ABS,
                                p_flag ? syspath() + 5 : pathval());
                 }                  }
   
                 switch (entry.cmdtype) {                  switch (entry.cmdtype) {
                 case CMDNORMAL: {                  case CMDNORMAL: {
                         if (strchr(arg, '/') == NULL) {                          if (strchr(arg, '/') == NULL) {
                                 const char *path = pathval();                                  const char *path;
                                 char *name;                                  char *name;
                                 int j = entry.u.index;                                  int j = entry.u.index;
   
                                   path = p_flag ? syspath() + 5 : pathval();
   
                                 do {                                  do {
                                         name = padvance(&path, arg, 1);                                          name = padvance(&path, arg, 1);
                                         stunalloc(name);                                          stunalloc(name);

Legend:
Removed from v.1.52  
changed lines
  Added in v.1.52.2.3

CVSweb <webmaster@jp.NetBSD.org>