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

Diff for /src/usr.bin/rdist/expand.c between version 1.4 and 1.5

version 1.4, 1996/06/26 05:38:12 version 1.5, 1998/06/26 21:21:10
Line 34 
Line 34 
  */   */
   
 #ifndef lint  #ifndef lint
   #if 0
 static char RCSid[] =  static char RCSid[] =
   "$From: expand.c,v 6.18 1998/03/24 00:37:10 michaelc Exp $";
   #else
   static char RCSid[] =
 "$OpenBSD$";  "$OpenBSD$";
   #endif
   
 static char sccsid[] = "@(#)expand.c    5.2 (Berkeley) 3/28/86";  static char sccsid[] = "@(#)expand.c    5.2 (Berkeley) 3/28/86";
   
Line 85 
Line 90 
                 return;                  return;
         }          }
   
         eargv[++eargc] = (char *) NULL;          eargv[++eargc] = NULL;
         eargv[eargc - 1] = cp = xmalloc(len);          eargv[eargc - 1] = cp = xmalloc(len);
   
         do {          do {
                 if (*s1 == QUOTECHAR)                  if (*s1 == QUOTECHAR)
                         s1++;                          s1++;
         } while (*cp++ = *s1++);          } while ((*cp++ = *s1++));
         cp--;          cp--;
         do {          do {
                 if (*s2 == QUOTECHAR)                  if (*s2 == QUOTECHAR)
                         s2++;                          s2++;
         } while (*cp++ = *s2++);          } while ((*cp++ = *s2++));
 }  }
   
 static void addpath(c)  static void addpath(c)
Line 143 
Line 148 
         tilde = "";          tilde = "";
         eargc = 0;          eargc = 0;
         eargv = sortbase = argvbuf;          eargv = sortbase = argvbuf;
         *eargv = (char *) NULL;          *eargv = NULL;
   
         /*          /*
          * Walk the name list and expand names into eargv[];           * Walk the name list and expand names into eargv[];
Line 155 
Line 160 
          */           */
         list = prev = NULL;          list = prev = NULL;
         for (n = 0; n < eargc; n++) {          for (n = 0; n < eargc; n++) {
                 nl = makenl((char *)NULL);                  nl = makenl(NULL);
                 nl->n_name = eargv[n];                  nl->n_name = eargv[n];
                 if (prev == NULL)                  if (prev == NULL)
                         list = prev = nl;                          list = prev = nl;
Line 182 
Line 187 
                 if (ch == *cp)                  if (ch == *cp)
                         return(cp);                          return(cp);
   
         return((u_char *)NULL);          return(NULL);
 }  }
   
 void expstr(s)  void expstr(s)
Line 251 
Line 256 
                         savec = *tail;                          savec = *tail;
                         *tail = CNULL;                          *tail = CNULL;
                 }                  }
                 tp = lookup((char *)cp, LOOKUP, (struct namelist *)NULL);                  tp = lookup((char *)cp, LOOKUP, NULL);
                 if (savec != CNULL)                  if (savec != CNULL)
                         *tail = savec;                          *tail = savec;
                 if (tp != NULL) {                  if (tp != NULL) {
Line 296 
Line 301 
                         cp1 = (u_char *)pw->pw_dir;                          cp1 = (u_char *)pw->pw_dir;
                         s = cp;                          s = cp;
                 }                  }
                 for (cp = (u_char *)path; *cp++ = *cp1++; )                  for (cp = (u_char *)path; (*cp++ = *cp1++); )
                         ;                          ;
                 tpathp = pathp = (char *)cp - 1;                  tpathp = pathp = (char *)cp - 1;
         } else {          } else {
Line 320 
Line 325 
         sort();          sort();
 }  }
   
 static  static int
 argcmp(a1, a2)  argcmp(a1, a2)
         char **a1, **a2;          char **a1, **a2;
 {  {
Line 361 
Line 366 
                 cp++, pathp++;                  cp++, pathp++;
         *pathp = CNULL;          *pathp = CNULL;
         if (*oldcp == '{') {          if (*oldcp == '{') {
                 (void) execbrc(cp, (u_char *)NULL);                  (void) execbrc(cp, NULL);
                 return;                  return;
         }          }
         matchdir((char *)cp);          matchdir((char *)cp);
Line 410 
Line 415 
         yyerror(path);          yyerror(path);
 }  }
   
   int
 execbrc(p, s)                           /* quote in p */  execbrc(p, s)                           /* quote in p */
         u_char *p, *s;          u_char *p, *s;
 {  {
Line 500 
Line 506 
         return (0);          return (0);
 }  }
   
   int
 match(s, p)                                     /* quote in p */  match(s, p)                                     /* quote in p */
         char *s, *p;          char *s, *p;
 {  {
Line 517 
Line 524 
         return (c);          return (c);
 }  }
   
   int
 amatch(s, p)                                    /* quote in p */  amatch(s, p)                                    /* quote in p */
         register char *s;          register char *s;
         register u_char *p;          register u_char *p;
Line 538 
Line 546 
                 case '[':                  case '[':
                         ok = 0;                          ok = 0;
                         lc = 077777;                          lc = 077777;
                         while (cc = *p++) {                          while ((cc = *p++)) {
                                 if (cc == ']') {                                  if (cc == ']') {
                                         if (ok)                                          if (ok)
                                                 break;                                                  break;
Line 600 
Line 608 
                                         else                                          else
                                                 Cat((u_char *)tilde,                                                  Cat((u_char *)tilde,
                                                     (u_char *)tpathp);                                                      (u_char *)tpathp);
                                 } else                                  } else {
                                         expsh(p);                                          expsh(p);
                                   }
                         pathp = spathp;                          pathp = spathp;
                         *pathp = CNULL;                          *pathp = CNULL;
                         return (0);                          return (0);

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5