From 6785b51280d6b0c00e964e1e9b24ff05d92f5bcc Mon Sep 17 00:00:00 2001 From: Glenn L McGrath Date: Thu, 12 Apr 2001 11:48:02 +0000 Subject: dpkg-deb -c works now --- dpkg_deb.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'dpkg_deb.c') diff --git a/dpkg_deb.c b/dpkg_deb.c index fbdb14e26..6653f2a7c 100644 --- a/dpkg_deb.c +++ b/dpkg_deb.c @@ -20,7 +20,7 @@ extern int dpkg_deb_main(int argc, char **argv) { - char *target_dir = NULL; + char *target_dir; int opt = 0; int optflag = 0; @@ -50,9 +50,10 @@ extern int dpkg_deb_main(int argc, char **argv) } } - if (((optind + 1 ) > argc) || (optflag == 0)) { + if (optind == argc) { show_usage(); } + switch (optflag) { case (extract_control): case (extract_extract): @@ -60,13 +61,15 @@ extern int dpkg_deb_main(int argc, char **argv) if ( (optind + 1) == argc ) { target_dir = (char *) xmalloc(7); strcpy(target_dir, "DEBIAN"); + } else { + target_dir = (char *) xmalloc(strlen(argv[optind + 1]) + 1); + strcpy(target_dir, argv[optind + 1]); } break; - default: { - target_dir = (char *) xmalloc(strlen(argv[optind + 1])); - strcpy(target_dir, argv[optind + 1]); - } + default: + target_dir = NULL; } + deb_extract(argv[optind], optflag, target_dir); /* else if (optflag & dpkg_deb_info) { extract_flag = TRUE; -- cgit v1.2.3