The following commit has been merged in the master branch:
commit c81a1475db83f6fbd33a104085434f71d9761c74
Author: Guillem Jover <guil...@debian.org>
Date:   Thu Jul 1 12:05:09 2010 +0200

    Use new DPKG_AR_MAGIC macro instead of literal string

diff --git a/dpkg-deb/build.c b/dpkg-deb/build.c
index 03e5966..ccaae00 100644
--- a/dpkg-deb/build.c
+++ b/dpkg-deb/build.c
@@ -45,6 +45,7 @@
 #include <dpkg/buffer.h>
 #include <dpkg/subproc.h>
 #include <dpkg/compress.h>
+#include <dpkg/ar.h>
 #include <dpkg/myopt.h>
 
 #include "dpkg-deb.h"
@@ -428,7 +429,7 @@ void do_build(const char *const *argv) {
   } else {
     thetime = time(NULL);
     if (fprintf(ar,
-                "!<arch>\n"
+                DPKG_AR_MAGIC
                 "%-16s%-12lu0     0     100644  %-10ld`\n"
                 ARCHIVEVERSION "\n"
                 "%s"
diff --git a/dpkg-deb/extract.c b/dpkg-deb/extract.c
index ee09b16..e5e1f9c 100644
--- a/dpkg-deb/extract.c
+++ b/dpkg-deb/extract.c
@@ -133,7 +133,7 @@ void extracthalf(const char *debar, const char *directory,
   if (fstat(fileno(ar),&stab)) ohshite(_("failed to fstat archive"));
   if (!fgets(versionbuf,sizeof(versionbuf),ar)) readfail(ar,debar,_("version 
number"));
 
-  if (!strcmp(versionbuf,"!<arch>\n")) {
+  if (!strcmp(versionbuf, DPKG_AR_MAGIC)) {
     oldformat = false;
 
     ctrllennum= 0;
diff --git a/dpkg-split/info.c b/dpkg-split/info.c
index 6b783f8..35d476c 100644
--- a/dpkg-split/info.c
+++ b/dpkg-split/info.c
@@ -84,7 +84,7 @@ struct partinfo *read_info(FILE *partfile, const char *fn, 
struct partinfo *ir)
 
   size_t thisilen;
   unsigned int templong;
-  char magicbuf[SARMAG], *rip, *partnums, *slash;
+  char magicbuf[strlen(DPKG_AR_MAGIC)], *rip, *partnums, *slash;
   struct ar_hdr arh;
   int c;
   struct stat stab;
@@ -92,7 +92,7 @@ struct partinfo *read_info(FILE *partfile, const char *fn, 
struct partinfo *ir)
   if (fread(magicbuf, 1, sizeof(magicbuf), partfile) != sizeof(magicbuf)) {
     if (ferror(partfile)) rerr(fn); else return NULL;
   }
-  if (memcmp(magicbuf, "!<arch>\n", sizeof(magicbuf)))
+  if (memcmp(magicbuf, DPKG_AR_MAGIC, sizeof(magicbuf)))
     return NULL;
   
   if (fread(&arh,1,sizeof(arh),partfile) != sizeof(arh)) rerreof(partfile,fn);
@@ -173,9 +173,9 @@ struct partinfo *read_info(FILE *partfile, const char *fn, 
struct partinfo *ir)
        ? ir->orglength - ir->thispartoffset : ir->maxpartlen))
     ohshit(_("file `%.250s' is corrupt - size is wrong for quoted part 
number"),fn);
 
-  ir->filesize= (SARMAG +
-                 sizeof(arh) + thisilen + (thisilen&1) +
-                 sizeof(arh) + ir->thispartlen + (ir->thispartlen&1));
+  ir->filesize = (strlen(DPKG_AR_MAGIC) +
+                  sizeof(arh) + thisilen + (thisilen & 1) +
+                  sizeof(arh) + ir->thispartlen + (ir->thispartlen & 1));
 
   if (fstat(fileno(partfile),&stab)) ohshite(_("unable to fstat part file 
`%.250s'"),fn);
   if (S_ISREG(stab.st_mode)) {
@@ -186,7 +186,8 @@ struct partinfo *read_info(FILE *partfile, const char *fn, 
struct partinfo *ir)
       ohshit(_("file `%.250s' is corrupt - too short"),fn);
   }
 
-  ir->headerlen= SARMAG + sizeof(arh) + thisilen + (thisilen&1) + sizeof(arh);
+  ir->headerlen = strlen(DPKG_AR_MAGIC) +
+                  sizeof(arh) + thisilen + (thisilen & 1) + sizeof(arh);
     
   return ir;
 }  
diff --git a/lib/dpkg/ar.h b/lib/dpkg/ar.h
index 367ac72..80ea478 100644
--- a/lib/dpkg/ar.h
+++ b/lib/dpkg/ar.h
@@ -27,6 +27,8 @@
 
 DPKG_BEGIN_DECLS
 
+#define DPKG_AR_MAGIC "!<arch>\n"
+
 void dpkg_ar_normalize_name(struct ar_hdr *arh);
 
 DPKG_END_DECLS

-- 
dpkg's main repository


-- 
To UNSUBSCRIBE, email to debian-dpkg-cvs-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to