The following commit has been merged in the master branch:
commit 0f96ab4c3465785911cea9ec73c7c3fa9f4467b6
Author: Guillem Jover <[email protected]>
Date: Sat Feb 27 21:48:24 2010 +0100
libdpkg: Add new trigdef_update_printf to avoid exposing trig_new_deferred
Make trig_new_deferred static and create a printer function for it.
diff --git a/lib/dpkg/dpkg-db.h b/lib/dpkg/dpkg-db.h
index 8375b7a..5888048 100644
--- a/lib/dpkg/dpkg-db.h
+++ b/lib/dpkg/dpkg-db.h
@@ -232,7 +232,6 @@ struct trigdefmeths {
};
void trigdef_set_methods(const struct trigdefmeths *methods);
-extern FILE *trig_new_deferred;
/* Return values:
* -1 Lock ENOENT with O_CREAT (directory does not exist)
@@ -242,7 +241,7 @@ extern FILE *trig_new_deferred;
* 2 ok } trigdef_update_done!
*/
int trigdef_update_start(enum trigdef_updateflags uf, const char *admindir);
-
+void trigdef_update_printf(const char *format, ...) DPKG_ATTR_PRINTF(1);
int trigdef_yylex(void);
void trigdef_process_done(void);
diff --git a/lib/dpkg/trigdeferred.l b/lib/dpkg/trigdeferred.l
index 11412b4..5832c17 100644
--- a/lib/dpkg/trigdeferred.l
+++ b/lib/dpkg/trigdeferred.l
@@ -88,8 +88,7 @@ static const struct trigdefmeths *trigdef;
static int lock_fd = -1;
static FILE *old_deferred;
-
-FILE *trig_new_deferred;
+static FILE *trig_new_deferred;
static void
constructfn(struct varbuf *vb, const char *admindir, const char *tail)
@@ -179,6 +178,16 @@ trigdef_set_methods(const struct trigdefmeths *methods)
}
void
+trigdef_update_printf(const char *format, ...)
+{
+ va_list ap;
+
+ va_start(ap, format);
+ vfprintf(trig_new_deferred, format, ap);
+ va_end(ap);
+}
+
+void
trigdef_process_done(void)
{
int r;
diff --git a/src/trigcmd.c b/src/trigcmd.c
index b1e82d9..7d7001e 100644
--- a/src/trigcmd.c
+++ b/src/trigcmd.c
@@ -107,14 +107,14 @@ noawait(const struct cmdinfo *ci, const char *value)
static void
yespackage(const char *awname)
{
- fprintf(trig_new_deferred, " %s", awname);
+ trigdef_update_printf(" %s", awname);
}
static void
tdm_add_trig_begin(const char *trig)
{
ctrig = !strcmp(trig, activate);
- fputs(trig, trig_new_deferred);
+ trigdef_update_printf("%s", trig);
if (!ctrig || done_trig)
return;
yespackage(bypackage);
@@ -132,7 +132,7 @@ tdm_add_package(const char *awname)
static void
tdm_add_trig_end(void)
{
- fputc('\n', trig_new_deferred);
+ trigdef_update_printf("\n");
}
static const struct trigdefmeths tdm_add = {
@@ -227,8 +227,7 @@ main(int argc, const char *const *argv)
if (uf >= 0) {
trigdef_yylex();
if (!done_trig)
- fprintf(trig_new_deferred, "%s %s\n",
- activate, bypackage);
+ trigdef_update_printf("%s %s\n", activate, bypackage);
trigdef_process_done();
}
--
dpkg's main repository
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]