]> err.no Git - dpkg/commitdiff
* main/processarc.c: fixes calculation of package filename display (the
authorBen Collins <bcollins@debian.org>
Mon, 25 Oct 1999 11:20:48 +0000 (11:20 +0000)
committerBen Collins <bcollins@debian.org>
Mon, 25 Oct 1999 11:20:48 +0000 (11:20 +0000)
    ".../foo.deb" one) where it was showing the full path if the basename
    was longer than 30 chars. Now shows just the basename if it can't
    squeez the full path to < 30 chars (even if the basename is > than 30
    chars)

ChangeLog
main/processarc.c

index 8d72229640e484fba679f25ada2d63599ecc6c80..08457a3c544aa010a6749320ec8b873f24c163ec 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Mon Oct 25 06:50:17 EDT 1999 Ben Collins <bcollins.debian.org>
+
+  * main/processarc.c: fixes calculation of package filename display (the
+    ".../foo.deb" one) where it was showing the full path if the basename
+    was longer than 30 chars. Now shows just the basename if it can't
+    squeez the full path to < 30 chars (even if the basename is > than 30
+    chars)
+
 Sun Oct 24 20:46:44 EDT 1999 Ben Collins <bcollins.debian.org>
 
   * scripts/dpkg-source.pl: we want to 'delete' the POSIXLY_CORRECT env
index ce413c81ce10bfd7eb13ee331ac6f7ec0186594b..91672c17678cee8611d3e06923663a3fa6860ac0 100644 (file)
@@ -68,7 +68,7 @@ void process_archive(const char *filename) {
   struct pkginfo *pkg, *otherpkg, *divpkg;
   struct conflict *conflictor, *cflict;
   char *cidir, *cidirrest, *p;
-  char pfilenamebuf[35], conffilenamebuf[MAXCONFFILENAME];
+  char *pfilenamebuf, conffilenamebuf[MAXCONFFILENAME];
   const char *pfilename, *newinfofilename;
   struct fileinlist *newconff, **newconffileslastp;
   struct fileinlist *cfile;
@@ -88,13 +88,11 @@ void process_archive(const char *filename) {
   cleanup_pkg_failed= cleanup_conflictor_failed= 0;
   admindirlen= strlen(admindir);
 
-  pfilename= filename;
-  while (strlen(pfilename) > sizeof(pfilenamebuf)-5) {
+  for (pfilename= filename ; pfilename && strlen(pfilename) > 30 &&
+      strchr(pfilename,'/') != NULL ; pfilename++ )
     pfilename= strchr(pfilename,'/');
-    if (!pfilename) break;
-    pfilename++;
-  }
   if (pfilename && pfilename != filename) {
+    pfilenamebuf= (char *)nfmalloc(strlen(pfilename)+5);
     strcpy(pfilenamebuf,".../");
     strcat(pfilenamebuf,pfilename);
     pfilename= pfilenamebuf;