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

Diff for /src/usr.bin/ar/Attic/archive.c between version 1.2 and 1.3

version 1.2, 1996/03/02 00:40:57 version 1.3, 1997/05/31 08:17:18
Line 209 
Line 209 
         char *name;          char *name;
         struct ar_hdr *hdr;          struct ar_hdr *hdr;
         off_t size;          off_t size;
           uid_t uid;
           gid_t gid;
   
         /*          /*
          * If passed an sb structure, reading a file from disk.  Get stat(2)           * If passed an sb structure, reading a file from disk.  Get stat(2)
Line 225 
Line 227 
                  * a space, use extended format 1.                   * a space, use extended format 1.
                  */                   */
                 lname = strlen(name);                  lname = strlen(name);
                   uid = sb->st_uid;
                   gid = sb->st_gid;
                   if (uid > USHRT_MAX) {
                           warnx("warning: uid %d truncated to %d", uid,
                               USHRT_MAX);
                           uid = USHRT_MAX;
                   }
                   if (gid > USHRT_MAX) {
                           warnx("warning: gid %d truncated to %d", gid,
                               USHRT_MAX);
                           gid = USHRT_MAX;
                   }
                 if (options & AR_TR) {                  if (options & AR_TR) {
                         if (lname > OLDARMAXNAME) {                          if (lname > OLDARMAXNAME) {
                                 (void)fflush(stdout);                                  (void)fflush(stdout);
                                 warnx("warning: %s truncated to %.*s",                                  warnx("warning: file name %s truncated to %.*s",
                                     name, OLDARMAXNAME, name);                                      name, OLDARMAXNAME, name);
                                 (void)fflush(stderr);                                  (void)fflush(stderr);
                         }                          }
                         (void)sprintf(hb, HDR3, name, sb->st_mtimespec.tv_sec,                          (void)sprintf(hb, HDR3, name, sb->st_mtimespec.tv_sec,
                             sb->st_uid, sb->st_gid, sb->st_mode, sb->st_size,                              uid, gid, sb->st_mode, sb->st_size, ARFMAG);
                             ARFMAG);  
                         lname = 0;                          lname = 0;
                 } else if (lname > sizeof(hdr->ar_name) || strchr(name, ' '))                  } else if (lname > sizeof(hdr->ar_name) || strchr(name, ' '))
                         (void)sprintf(hb, HDR1, AR_EFMT1, lname,                          (void)sprintf(hb, HDR1, AR_EFMT1, lname,
                             sb->st_mtimespec.tv_sec, sb->st_uid, sb->st_gid,                              sb->st_mtimespec.tv_sec, uid, gid, sb->st_mode,
                             sb->st_mode, sb->st_size + lname, ARFMAG);                              sb->st_size + lname, ARFMAG);
                 else {                  else {
                         lname = 0;                          lname = 0;
                         (void)sprintf(hb, HDR2, name, sb->st_mtimespec.tv_sec,                          (void)sprintf(hb, HDR2, name, sb->st_mtimespec.tv_sec,
                             sb->st_uid, sb->st_gid, sb->st_mode, sb->st_size,                              uid, gid, sb->st_mode, sb->st_size, ARFMAG);
                             ARFMAG);  
                 }                  }
                 size = sb->st_size;                  size = sb->st_size;
         } else {          } else {

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3