Просмотр исходного кода

libdpkg: Add new dpkg_arch_describe() function

Guillem Jover лет назад: 13
Родитель
Сommit
bc92c31742
3 измененных файлов с 17 добавлено и 0 удалено
  1. 14 0
      lib/dpkg/arch.c
  2. 2 0
      lib/dpkg/arch.h
  3. 1 0
      lib/dpkg/libdpkg.map

+ 14 - 0
lib/dpkg/arch.c

@@ -226,6 +226,20 @@ varbuf_add_archqual(struct varbuf *vb, const struct dpkg_arch *arch)
 	varbuf_add_str(vb, arch->name);
 }
 
+/**
+ * Return a descriptive architecture name.
+ */
+const char *
+dpkg_arch_describe(const struct dpkg_arch *arch)
+{
+	if (arch->type == arch_none)
+		return C_("architecture", "<none>");
+	if (arch->type == arch_empty)
+		return C_("architecture", "<empty>");
+
+	return arch->name;
+}
+
 /**
  * Add a new foreign dpkg_arch architecture.
  */

+ 2 - 0
lib/dpkg/arch.h

@@ -57,6 +57,8 @@ struct dpkg_arch *dpkg_arch_get(enum dpkg_arch_type type);
 struct dpkg_arch *dpkg_arch_get_list(void);
 void dpkg_arch_reset_list(void);
 
+const char *dpkg_arch_describe(const struct dpkg_arch *arch);
+
 struct dpkg_arch *dpkg_arch_add(const char *name);
 void dpkg_arch_unmark(struct dpkg_arch *arch);
 void dpkg_arch_load_list(void);

+ 1 - 0
lib/dpkg/libdpkg.map

@@ -195,6 +195,7 @@ LIBDPKG_PRIVATE {
 
 	# Architecture database
 	dpkg_arch_name_is_illegal;
+	dpkg_arch_describe;
 	dpkg_arch_find;
 	dpkg_arch_get;
 	dpkg_arch_get_list;