summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Hughes <richard@hughsie.com>2015-11-12 16:42:16 +0000
committerRichard Hughes <richard@hughsie.com>2015-11-12 16:42:16 +0000
commitbc645ec63525248a974a5c31cd6167cd77d34c4f (patch)
tree90b4a397d29a935a04b7b83a07f54b0132001ae1
parent1f100b43a4b719893b20792ffb1f3a0d07c4af38 (diff)
downloadappstream-glib-bc645ec63525248a974a5c31cd6167cd77d34c4f.tar.gz
Add as_utils_version_from_uint16()
This allows us to get a printable version of a USB release.
-rw-r--r--libappstream-glib/as-utils.c19
-rw-r--r--libappstream-glib/as-utils.h2
2 files changed, 21 insertions, 0 deletions
diff --git a/libappstream-glib/as-utils.c b/libappstream-glib/as-utils.c
index 53d9e82..730b08e 100644
--- a/libappstream-glib/as-utils.c
+++ b/libappstream-glib/as-utils.c
@@ -1691,6 +1691,25 @@ as_utils_version_from_uint32 (guint32 val, AsVersionParseFlag flags)
}
/**
+ * as_utils_version_from_uint16:
+ * @val: A uint16le version number
+ * @flags: flags used for formatting, e.g. %AS_VERSION_PARSE_FLAG_USE_TRIPLET
+ *
+ * Returns a dotted decimal version string from a 16 bit number.
+ *
+ * Returns: A version number, e.g. "1.3"
+ *
+ * Since: 0.5.2
+ **/
+gchar *
+as_utils_version_from_uint16 (guint16 val, AsVersionParseFlag flags)
+{
+ return g_strdup_printf ("%i.%i",
+ (val >> 8) & 0xff,
+ val & 0xff);
+}
+
+/**
* as_utils_version_parse:
* @version: A version number
*
diff --git a/libappstream-glib/as-utils.h b/libappstream-glib/as-utils.h
index bfc4a38..44bfa39 100644
--- a/libappstream-glib/as-utils.h
+++ b/libappstream-glib/as-utils.h
@@ -165,6 +165,8 @@ gboolean as_utils_guid_is_valid (const gchar *guid);
gchar *as_utils_guid_from_string (const gchar *str);
gchar *as_utils_version_from_uint32 (guint32 val,
AsVersionParseFlag flags);
+gchar *as_utils_version_from_uint16 (guint16 val,
+ AsVersionParseFlag flags);
gchar *as_utils_version_parse (const gchar *version);
G_END_DECLS