localedir = $(datadir)/locale
INCLUDES = \
- -DLOCALEDIR=\"$(localedir)\" -I$(top_srcdir)/intl \
+ -DLOCALEDIR=\"$(localedir)\" \
-DADMINDIR=\"$(admindir)\" \
+ -DCONFIGDIR=\"$(pkgconfdir)\" \
+ -idirafter $(top_srcdir)/libcompat \
-I$(top_srcdir)/lib
processarc.c \
remove.c \
select.c \
- update.c
+ update.c \
+ filters.c filters.h
dpkg_LDADD = \
+ ../libcompat/libcompat.a \
$(LIBINTL) ../lib/libdpkg.a $(ZLIB_LIBS) $(BZ2_LIBS) $(SELINUX_LIBS)
dpkg_query_SOURCES = \
return r;
}
- *oldnifd = 0;
+void tarfile_skip_one_forward(struct TarInfo *ti,
+ struct fileinlist **oldnifd,
+ struct fileinlist *nifd) {
+ struct tarcontext *tc= (struct tarcontext*)ti->UserData;
+ size_t r;
+ char databuf[TARBLKSZ];
+
+ obstack_free(&tar_obs, nifd);
+ tc->newfilesp= oldnifd;
++ *oldnifd = NULL;
+
+ /* We need to advance the tar file to the next object, so read the
+ * file data and set it to oblivion.
+ */
+ if ((ti->Type == NormalFile0) || (ti->Type == NormalFile1)) {
+ char fnamebuf[256];
+ fd_null_copy(tc->backendpipe, ti->Size,
+ "skipped unpacking file `%.255s' (replaced or excluded?)",
+ quote_filename(fnamebuf,256,ti->Name));
+ r= ti->Size % TARBLKSZ;
+ if (r > 0) r= safe_read(tc->backendpipe,databuf,TARBLKSZ - r);
+ }
+}
+
int fnameidlu;
struct varbuf fnamevb;
struct varbuf fnametmpvb;
standard_startup(&ejbuf, argc, &argv, DPKG, 1, cmdinfos);
if (!cipaction) badusage(_("need an action option"));
- setvbuf(stdout,0,_IONBF,0);
+ loadfilters();
+
+ setvbuf(stdout, NULL, _IONBF, 0);
filesdbinit();
actionfunction= (void (*)(const char* const*))cipaction->farg;