From 285c4bbec46fd06b985c8652b0c05d12f65a3b9b Mon Sep 17 00:00:00 2001 From: Adam Heath Date: Sat, 13 Sep 2003 19:31:50 +0000 Subject: [PATCH] Change standard_startup and standard_shutdown into macros. --- ChangeLog | 5 ++++ debian/changelog | 2 ++ debian/rules | 2 +- include/dpkg.h.in | 22 ++++++++++++++-- lib/Makefile.in | 2 +- lib/startup.c | 65 ----------------------------------------------- 6 files changed, 29 insertions(+), 69 deletions(-) delete mode 100644 lib/startup.c diff --git a/ChangeLog b/ChangeLog index 06819686..99c4cbab 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Sat Sep 13 14:31:22 CDT 2003 Adam Heath + + * lib/startup.c, lib/Makefile.in, include/dpkg.h.in: Change + standard_startup and standard_shutdown into macros. + Sat Sep 13 14:24:14 CDT 2003 Adam Heath * scripts/install-info.pl: Apply patch, to handle missing infodir.bak, diff --git a/debian/changelog b/debian/changelog index aa9788a6..6eb08364 100644 --- a/debian/changelog +++ b/debian/changelog @@ -7,6 +7,8 @@ dpkg (1.10.11) unstable; urgency=low * Frank Lichtenheld : Apply patch, to handle missing infodir.bak, and empty files. Closes: #196361 + * Change standard_startup and standard_shutdown into macros. Closes: + #200351. -- Wichert Akkerman UNRELEASED diff --git a/debian/rules b/debian/rules index 6cb8a60b..6ecc93ec 100755 --- a/debian/rules +++ b/debian/rules @@ -46,7 +46,7 @@ config.guess config.sub: %: /usr/share/misc/% $(BUILD)/configure-stamp: configure config.h.in config.guess config.sub $(checkdir) install -d $(@D) - cd $(@D) && LDFLAGS=$(LDFLAGS) $(CURDIR)/configure \ + cd $(@D) && LDFLAGS=$(LDFLAGS) $(shell echo "$(patsubst $(CURDIR)/%,%,$(@D))" | sed -e 's,^[^/][^/]*$$,..,;s,/[^/][^/]*,/..,g' )/configure \ --prefix=/usr \ --datadir=/usr/share \ --mandir=/usr/share/man \ diff --git a/include/dpkg.h.in b/include/dpkg.h.in index f43d04c6..d424a65d 100644 --- a/include/dpkg.h.in +++ b/include/dpkg.h.in @@ -167,8 +167,26 @@ extern const char printforhelp[]; /*** from startup.c ***/ -void standard_startup(jmp_buf *ejbuf, int argc, const char *const **argv, const char *prog, int loadcfg, const struct cmdinfo cmdinfos[]); -void standard_shutdown(int freemem); +#define standard_startup(ejbuf, argc, argv, prog, loadcfg, cmdinfos) do {\ + setlocale(LC_ALL, "");\ + bindtextdomain(PACKAGE, LOCALEDIR);\ + textdomain(PACKAGE);\ + if (setjmp(*ejbuf)) { /* expect warning about possible clobbering of argv */\ + error_unwind(ehflag_bombout); exit(2);\ + }\ + push_error_handler(ejbuf,print_error_fatal,0);\ + umask(022); /* Make sure all our status databases are readable. */\ + if (loadcfg)\ + loadcfgfile(prog, cmdinfos);\ + myopt(argv,cmdinfos);\ +} while (0) + +#define standard_shutdown(freemem) do {\ + set_error_display(0,0);\ + error_unwind(ehflag_normaltidy);\ + if (freemem)\ + nffreeall();\ +} while (0) /*** from ehandle.c ***/ diff --git a/lib/Makefile.in b/lib/Makefile.in index 74484383..05b91e57 100644 --- a/lib/Makefile.in +++ b/lib/Makefile.in @@ -9,7 +9,7 @@ include ../Makefile.conf SOURCES = compat.c database.c dbmodify.c dump.c ehandle.c fields.c \ lock.c mlib.c myopt.c nfmalloc.c parse.c parsehelp.c \ showcright.c showpkg.c tarfn.c varbuf.c vercmp.c md5.c \ - utils.c startup.c + utils.c OBJECTS = $(patsubst %.c, %.o, $(SOURCES)) GENFILES = $(OBJECTS) libdpkg.a diff --git a/lib/startup.c b/lib/startup.c deleted file mode 100644 index 1458ca3d..00000000 --- a/lib/startup.c +++ /dev/null @@ -1,65 +0,0 @@ -/* - * dpkg - main program for package management - * main.c - main program - * - * Copyright (C) 1994,1995 Ian Jackson - * - * This is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2, - * or (at your option) any later version. - * - * This is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with dpkg; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -void standard_startup(jmp_buf *ejbuf, int argc, const char *const **argv, const char *prog, int loadcfg, const struct cmdinfo cmdinfos[]) { - - setlocale(LC_ALL, ""); - bindtextdomain(PACKAGE, LOCALEDIR); - textdomain(PACKAGE); - - if (setjmp(*ejbuf)) { /* expect warning about possible clobbering of argv */ - error_unwind(ehflag_bombout); exit(2); - } - push_error_handler(ejbuf,print_error_fatal,0); - - umask(022); /* Make sure all our status databases are readable. */ - - if (loadcfg) - loadcfgfile(prog, cmdinfos); - - myopt(argv,cmdinfos); -} - -void standard_shutdown(int freemem) { - set_error_display(0,0); - error_unwind(ehflag_normaltidy); - if (freemem) - nffreeall(); -} -- 2.39.5