Parcourir la source

Convert limiteddescription() to pkg_summary()

Move clamping of summary size to callers. This makes the function more
generic so that it can be reused in other contexts.
Guillem Jover il y a 16 ans
Parent
commit
b4efb601b4
4 fichiers modifiés avec 16 ajouts et 11 suppressions
  1. 4 1
      src/enquiry.c
  2. 1 2
      src/main.h
  3. 8 7
      src/pkg-show.c
  4. 3 1
      src/query.c

+ 4 - 1
src/enquiry.c

@@ -118,7 +118,10 @@ static void describebriefly(struct pkginfo *pkg) {
   maxl= 57;
   l= strlen(pkg->name);
   if (l>20) maxl -= (l-20);
-  limiteddescription(pkg,maxl,&pdesc,&l);
+
+  pkg_summary(pkg, &pdesc, &l);
+  l = min(l, maxl);
+
   printf(" %-20s %.*s\n",pkg->name,l,pdesc);
 }
 

+ 1 - 2
src/main.h

@@ -171,8 +171,7 @@ void printarch(const char *const *argv);
 void printinstarch(const char *const *argv);
 void cmpversions(const char *const *argv) DPKG_ATTR_NORET;
 
-void limiteddescription(struct pkginfo *pkg,
-                        int maxl, const char **pdesc_r, int *l_r);
+void pkg_summary(struct pkginfo *pkg, const char **pdesc_ret, int *len_ret);
 
 /* from select.c */
 

+ 8 - 7
src/pkg-show.c

@@ -31,19 +31,20 @@
 #include "main.h"
 
 void
-limiteddescription(struct pkginfo *pkg,
-                   int maxl, const char **pdesc_r, int *l_r)
+pkg_summary(struct pkginfo *pkg, const char **pdesc_r, int *len_ret)
 {
-	const char *pdesc, *p;
+	const char *pdesc;
+	size_t len;
 
 	pdesc = pkg->installed.description;
 	if (!pdesc)
 		pdesc = _("(no description available)");
-	p = strchr(pdesc, '\n');
-	if (!p)
-		p = pdesc + strlen(pdesc);
 
-	*l_r = min(p - pdesc, maxl);
+	len = strcspn(pdesc, "\n");
+	if (len == 0)
+		len = strlen(pdesc);
+
+	*len_ret = len;
 	*pdesc_r = pdesc;
 }
 

+ 3 - 1
src/query.c

@@ -124,7 +124,9 @@ Desired=Unknown/Install/Remove/Purge/Hold\n\
     *head = true;
   }
 
-  limiteddescription(pkg,dw,&pdesc,&l);
+  pkg_summary(pkg, &pdesc, &l);
+  l = min(l, dw);
+
   printf(format,
          "uihrp"[pkg->want],
          "ncHUFWti"[pkg->status],