Explorar el Código

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 hace 16 años
padre
commit
b4efb601b4
Se han modificado 4 ficheros con 16 adiciones y 11 borrados
  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],