summaryrefslogtreecommitdiffstats
path: root/src/util.vala
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@gmail.com>2013-01-03 17:58:06 +0100
committerMarc-André Lureau <marcandre.lureau@gmail.com>2013-01-06 16:38:26 +0100
commit951c6b1bcfcc5ddc8575ffd32cb0ebed532a428b (patch)
treee70f63f512f32a97548a0dac52603759ea73396b /src/util.vala
parentd43a0c5613c3c88a845fdf183ed403bd95072cf4 (diff)
downloadmsitools-951c6b1bcfcc5ddc8575ffd32cb0ebed532a428b.tar.gz
msitools-951c6b1bcfcc5ddc8575ffd32cb0ebed532a428b.tar.xz
msitools-951c6b1bcfcc5ddc8575ffd32cb0ebed532a428b.zip
Populate Registry table
Diffstat (limited to 'src/util.vala')
-rw-r--r--src/util.vala18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/util.vala b/src/util.vala
index 0dfdd36..9ad72e2 100644
--- a/src/util.vala
+++ b/src/util.vala
@@ -67,4 +67,22 @@ namespace Wixl {
return indented;
}
+ public string generate_id (string prefix, uint n, ...) {
+ var l = va_list ();
+ var args = new string[n];
+
+ for (var i = 0; n > 0; n--) {
+ string? val = l.arg ();
+ if (val == null)
+ continue;
+ args[i] = val; // FIXME: misc vala bug when +=
+ i += 1;
+ }
+ var data = string.joinv ("|", args);
+ var hash = Checksum.compute_for_string (ChecksumType.MD5, data);
+ var str = prefix + hash[0:32].up ();
+
+ return str;
+ }
+
} // Wixl