The following commit has been merged in the master branch:
commit 0f1668f799780250503fca5df0a12531587c1eb8
Author: Guillem Jover <[email protected]>
Date:   Wed Nov 3 10:08:18 2010 +0100

    Use new enum for trigdef_update_start() return values
    
    Instead of cryptic literal integers use named enums.

diff --git a/lib/dpkg/trigdeferred.h b/lib/dpkg/trigdeferred.h
index eb1aa63..2d4dcc8 100644
--- a/lib/dpkg/trigdeferred.h
+++ b/lib/dpkg/trigdeferred.h
@@ -35,6 +35,14 @@ enum trigdef_updateflags {
        tduf_writeifenoent =      020,
 };
 
+enum trigdef_update_status {
+       tdus_error_no_dir = -1,
+       tdus_error_empty_deferred = -2,
+       tdus_error_no_deferred = -3,
+       tdus_no_deferred = 1,
+       tdus_ok = 2,
+};
+
 struct trigdefmeths {
        void (*trig_begin)(const char *trig);
        void (*package)(const char *awname);
@@ -43,7 +51,8 @@ struct trigdefmeths {
 
 void trigdef_set_methods(const struct trigdefmeths *methods);
 
-int trigdef_update_start(enum trigdef_updateflags uf, const char *admindir);
+enum trigdef_update_status trigdef_update_start(enum trigdef_updateflags uf,
+                                                const char *admindir);
 void trigdef_update_printf(const char *format, ...) DPKG_ATTR_PRINTF(1);
 int trigdef_parse(void);
 void trigdef_process_done(void);
diff --git a/lib/dpkg/trigdeferred.l b/lib/dpkg/trigdeferred.l
index a3a10b8..9959088 100644
--- a/lib/dpkg/trigdeferred.l
+++ b/lib/dpkg/trigdeferred.l
@@ -116,7 +116,7 @@ constructfn(struct varbuf *vb, const char *dir, const char 
*tail)
  *
  * For positive return values the caller must call trigdef_update_done!
  */
-int
+enum trigdef_update_status
 trigdef_update_start(enum trigdef_updateflags uf, const char *admindir)
 {
        struct stat stab;
@@ -133,7 +133,7 @@ trigdef_update_start(enum trigdef_updateflags uf, const 
char *admindir)
                                        ohshite(_("unable to open/create "
                                                  "triggers lockfile `%.250s'"),
                                                fn.buf);
-                               return -1;
+                               return tdus_error_no_dir;
                        }
                }
 
@@ -152,7 +152,7 @@ trigdef_update_start(enum trigdef_updateflags uf, const 
char *admindir)
        } else if (!stab.st_size) {
                if (!(uf & tduf_writeifempty)) {
                        pop_cleanup(ehflag_normaltidy);
-                       return -2;
+                       return tdus_error_empty_deferred;
                }
        }
 
@@ -165,7 +165,7 @@ trigdef_update_start(enum trigdef_updateflags uf, const 
char *admindir)
                                fn.buf);
                if (!(uf & tduf_writeifenoent)) {
                        pop_cleanup(ehflag_normaltidy);
-                       return -3;
+                       return tdus_error_no_deferred;
                }
        }
 
@@ -180,12 +180,12 @@ trigdef_update_start(enum trigdef_updateflags uf, const 
char *admindir)
        }
 
        if (!old_deferred)
-               return 1;
+               return tdus_no_deferred;
 
        trigdef_yyrestart(old_deferred);
        BEGIN(0);
 
-       return 2;
+       return tdus_ok;
 }
 
 void
diff --git a/lib/dpkg/triglib.c b/lib/dpkg/triglib.c
index df48cea..dd10b90 100644
--- a/lib/dpkg/triglib.c
+++ b/lib/dpkg/triglib.c
@@ -782,7 +782,7 @@ static const struct trigdefmeths tdm_incorp = {
 void
 trig_incorporate(enum modstatdb_rw cstatus, const char *admindir)
 {
-       int ur;
+       enum trigdef_update_status ur;
        enum trigdef_updateflags tduf;
 
        free(triggersdir);
@@ -805,7 +805,7 @@ trig_incorporate(enum modstatdb_rw cstatus, const char 
*admindir)
        }
 
        ur = trigdef_update_start(tduf, admindir);
-       if (ur == -1 && cstatus >= msdbrw_write) {
+       if (ur == tdus_error_no_dir && cstatus >= msdbrw_write) {
                if (mkdir(triggersdir, 0755)) {
                        if (errno != EEXIST)
                                ohshite(_("unable to create triggers state"
@@ -817,17 +817,17 @@ trig_incorporate(enum modstatdb_rw cstatus, const char 
*admindir)
                ur = trigdef_update_start(tduf, admindir);
        }
        switch (ur) {
-       case -2:
+       case tdus_error_empty_deferred:
                return;
-       case -1:
-       case -3:
+       case tdus_error_no_dir:
+       case tdus_error_no_deferred:
                if (!trigh.transitional_activate)
                        return;
        /* Fall through. */
-       case 1:
+       case tdus_no_deferred:
                trigh.transitional_activate(cstatus);
                break;
-       case 2:
+       case tdus_ok:
                /* Read and incorporate triggers. */
                trigdef_parse();
                break;
diff --git a/src/trigcmd.c b/src/trigcmd.c
index 482d2e3..5cea1cf 100644
--- a/src/trigcmd.c
+++ b/src/trigcmd.c
@@ -146,20 +146,20 @@ static const struct trigdefmeths tdm_add = {
 static void DPKG_ATTR_NORET
 do_check(void)
 {
-       int uf;
+       enum trigdef_update_status uf;
 
        uf = trigdef_update_start(tduf_nolockok, admindir);
        switch (uf) {
-       case -1:
+       case tdus_error_no_dir:
                fprintf(stderr, _("%s: triggers data directory not yet 
created\n"),
                        thisname);
                exit(1);
-       case -3:
+       case tdus_error_no_deferred:
                fprintf(stderr, _("%s: trigger records not yet in existence\n"),
                        thisname);
                exit(1);
-       case 2:
-       case -2:
+       case tdus_ok:
+       case tdus_error_empty_deferred:
                exit(0);
        default:
                internerr("unknown trigdef_update_start return value '%d'", uf);

-- 
dpkg's main repository


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

Reply via email to