The following commit has been merged in the master branch:
commit a9f8f235b90a586d99a9597fa5e7f2880ec91a98
Author: Guillem Jover <[email protected]>
Date:   Thu Mar 11 21:08:40 2010 +0100

    libdpkg: Remove unneeded static admindir in dbmodify
    
    Now that pkgadminfile does not use the file global admindir, we can just
    switch the modstatdb_init() argument name from adir to admindir, use
    that instead in the whole function, and remove the file global admindir.

diff --git a/lib/dpkg/dbmodify.c b/lib/dpkg/dbmodify.c
index 6e8b7bf..9c725ed 100644
--- a/lib/dpkg/dbmodify.c
+++ b/lib/dpkg/dbmodify.c
@@ -51,7 +51,6 @@ static FILE *importanttmp;
 static int nextupdate;
 static int updateslength;
 static char *updatefnbuf, *updatefnrest;
-static const char *admindir;
 static char *infodir;
 static struct varbuf uvb;
 
@@ -172,15 +171,15 @@ modstatdb_unlock(void)
   file_unlock();
 }
 
-enum modstatdb_rw modstatdb_init(const char *adir, enum modstatdb_rw 
readwritereq) {
+enum modstatdb_rw
+modstatdb_init(const char *admindir, enum modstatdb_rw readwritereq)
+{
   const struct fni *fnip;
   
-  admindir= adir;
-
   for (fnip=fnis; fnip->suffix; fnip++) {
     free(*fnip->store);
-    *fnip->store= m_malloc(strlen(adir)+strlen(fnip->suffix)+2);
-    sprintf(*fnip->store, "%s/%s", adir, fnip->suffix);
+    *fnip->store = m_malloc(strlen(admindir) + strlen(fnip->suffix) + 2);
+    sprintf(*fnip->store, "%s/%s", admindir, fnip->suffix);
   }
 
   cflags= readwritereq & msdbrw_flagsmask;
@@ -193,14 +192,14 @@ enum modstatdb_rw modstatdb_init(const char *adir, enum 
modstatdb_rw readwritere
       ohshit(_("requested operation requires superuser privilege"));
     /* fall through */
   case msdbrw_write: case msdbrw_writeifposs:
-    if (access(adir,W_OK)) {
+    if (access(admindir, W_OK)) {
       if (errno != EACCES)
         ohshite(_("unable to access dpkg status area"));
       else if (readwritereq == msdbrw_write)
         ohshit(_("operation requires read/write access to dpkg status area"));
       cstatus= msdbrw_readonly;
     } else {
-      modstatdb_lock(adir);
+      modstatdb_lock(admindir);
       cstatus= (readwritereq == msdbrw_needsuperuserlockonly ?
                 msdbrw_needsuperuserlockonly :
                 msdbrw_write);
@@ -212,8 +211,8 @@ enum modstatdb_rw modstatdb_init(const char *adir, enum 
modstatdb_rw readwritere
     internerr("unknown modstatdb_rw '%d'", readwritereq);
   }
 
-  updatefnbuf= m_malloc(strlen(adir)+sizeof(UPDATESDIR)+IMPORTANTMAXLEN+5);
-  strcpy(updatefnbuf,adir);
+  updatefnbuf = m_malloc(strlen(admindir) + sizeof(UPDATESDIR) + 
IMPORTANTMAXLEN + 5);
+  strcpy(updatefnbuf, admindir);
   strcat(updatefnbuf,"/" UPDATESDIR);
   updatefnrest= updatefnbuf+strlen(updatefnbuf);
 

-- 
dpkg's main repository


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to