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]