[BACK]Return to fio.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / mail

Diff for /src/usr.bin/mail/fio.c between version 1.7 and 1.8

version 1.7, 1997/07/13 23:53:59 version 1.8, 1997/07/14 00:24:26
Line 360 
Line 360 
                         break;                          break;
                 if (prevfile[0] == 0) {                  if (prevfile[0] == 0) {
                         puts("No previous file");                          puts("No previous file");
                         return(NOSTR);                          return(NULL);
                 }                  }
                 return(savestr(prevfile));                  return(savestr(prevfile));
         case '&':          case '&':
                 if (name[1] == 0 && (name = value("MBOX")) == NOSTR)                  if (name[1] == 0 && (name = value("MBOX")) == NULL)
                         name = "~/mbox";                          name = "~/mbox";
                 /* fall through */                  /* fall through */
         }          }
Line 384 
Line 384 
                 return(name);                  return(name);
         }          }
         snprintf(cmdbuf, sizeof(cmdbuf), "echo %s", name);          snprintf(cmdbuf, sizeof(cmdbuf), "echo %s", name);
         if ((shell = value("SHELL")) == NOSTR)          if ((shell = value("SHELL")) == NULL)
                 shell = _PATH_CSHELL;                  shell = _PATH_CSHELL;
         pid = start_command(shell, 0, -1, pivec[1], "-c", cmdbuf, NOSTR);          pid = start_command(shell, 0, -1, pivec[1], "-c", cmdbuf, NULL);
         if (pid < 0) {          if (pid < 0) {
                 (void)close(pivec[0]);                  (void)close(pivec[0]);
                 (void)close(pivec[1]);                  (void)close(pivec[1]);
                 return(NOSTR);                  return(NULL);
         }          }
         (void)close(pivec[1]);          (void)close(pivec[1]);
         l = read(pivec[0], xname, PATHSIZE);          l = read(pivec[0], xname, PATHSIZE);
         (void)close(pivec[0]);          (void)close(pivec[0]);
         if (wait_child(pid) < 0 && wait_status.w_termsig != SIGPIPE) {          if (wait_child(pid) < 0 && wait_status.w_termsig != SIGPIPE) {
                 fprintf(stderr, "\"%s\": Expansion failed.\n", name);                  fprintf(stderr, "\"%s\": Expansion failed.\n", name);
                 return(NOSTR);                  return(NULL);
         }          }
         if (l < 0) {          if (l < 0) {
                 warn("read");                  warn("read");
                 return(NOSTR);                  return(NULL);
         }          }
         if (l == 0) {          if (l == 0) {
                 fprintf(stderr, "\"%s\": No match.\n", name);                  fprintf(stderr, "\"%s\": No match.\n", name);
                 return(NOSTR);                  return(NULL);
         }          }
         if (l == PATHSIZE) {          if (l == PATHSIZE) {
                 fprintf(stderr, "\"%s\": Expansion buffer overflow.\n", name);                  fprintf(stderr, "\"%s\": Expansion buffer overflow.\n", name);
                 return(NOSTR);                  return(NULL);
         }          }
         xname[l] = '\0';          xname[l] = '\0';
         for (cp = &xname[l-1]; *cp == '\n' && cp > xname; cp--)          for (cp = &xname[l-1]; *cp == '\n' && cp > xname; cp--)
Line 417 
Line 417 
         cp[1] = '\0';          cp[1] = '\0';
         if (strchr(xname, ' ') && stat(xname, &sbuf) < 0) {          if (strchr(xname, ' ') && stat(xname, &sbuf) < 0) {
                 fprintf(stderr, "\"%s\": Ambiguous.\n", name);                  fprintf(stderr, "\"%s\": Ambiguous.\n", name);
                 return(NOSTR);                  return(NULL);
         }          }
         return(savestr(xname));          return(savestr(xname));
 }  }
Line 432 
Line 432 
 {  {
         char *folder;          char *folder;
   
         if ((folder = value("folder")) == NOSTR)          if ((folder = value("folder")) == NULL)
                 return(-1);                  return(-1);
         if (*folder == '/') {          if (*folder == '/') {
                 strncpy(name, folder, namelen-1);                  strncpy(name, folder, namelen-1);
Line 450 
Line 450 
 {  {
         register char *cp;          register char *cp;
   
         if ((cp = value("DEAD")) == NOSTR || (cp = expand(cp)) == NOSTR)          if ((cp = value("DEAD")) == NULL || (cp = expand(cp)) == NULL)
                 cp = expand("~/dead.letter");                  cp = expand("~/dead.letter");
         else if (*cp != '/') {          else if (*cp != '/') {
                 char buf[PATHSIZE];                  char buf[PATHSIZE];

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.8