Selaa lähdekoodia

libdpkg: Add new pkg_priority_name() function

Guillem Jover 12 vuotta sitten
vanhempi
commit
9e639d62c0
4 muutettua tiedostoa jossa 20 lisäystä ja 3 poistoa
  1. 2 0
      lib/dpkg/dpkg-db.h
  2. 1 3
      lib/dpkg/dump.c
  3. 1 0
      lib/dpkg/libdpkg.map
  4. 16 0
      lib/dpkg/pkg-show.c

+ 2 - 0
lib/dpkg/dpkg-db.h

@@ -361,6 +361,8 @@ const char *pkg_want_name(const struct pkginfo *pkg);
 const char *pkg_status_name(const struct pkginfo *pkg);
 const char *pkg_eflag_name(const struct pkginfo *pkg);
 
+const char *pkg_priority_name(const struct pkginfo *pkg);
+
 /*** from dump.c ***/
 
 void writerecord(FILE*, const char*,

+ 1 - 3
lib/dpkg/dump.c

@@ -234,9 +234,7 @@ w_priority(struct varbuf *vb,
   assert(pkg->priority <= pri_unknown);
   if (flags&fw_printheader)
     varbuf_add_str(vb, "Priority: ");
-  varbuf_add_str(vb, pkg->priority == pri_other ?
-                     pkg->otherpriority :
-                     priorityinfos[pkg->priority].name);
+  varbuf_add_str(vb, pkg_priority_name(pkg));
   if (flags&fw_printheader)
     varbuf_add_char(vb, '\n');
 }

+ 1 - 0
lib/dpkg/libdpkg.map

@@ -247,6 +247,7 @@ LIBDPKG_PRIVATE {
 	pkg_want_name;
 	pkg_eflag_name;
 	pkg_status_name;
+	pkg_priority_name;
 
 	# Package list handling
 	pkg_list_new;

+ 16 - 0
lib/dpkg/pkg-show.c

@@ -206,6 +206,22 @@ pkg_status_name(const struct pkginfo *pkg)
 	return statusinfos[pkg->status].name;
 }
 
+/**
+ * Return a string representation of the package priority name.
+ *
+ * @param pkg The package to consider.
+ *
+ * @return The string representation.
+ */
+const char *
+pkg_priority_name(const struct pkginfo *pkg)
+{
+	if (pkg->priority == pri_other)
+		return pkg->otherpriority;
+	else
+		return priorityinfos[pkg->priority].name;
+}
+
 /**
  * Compare a package to be sorted by non-ambiguous name and architecture.
  *