diff options
Diffstat (limited to 'test.c')
-rw-r--r-- | test.c | 33 |
1 files changed, 33 insertions, 0 deletions
@@ -0,0 +1,33 @@ | |||
1 | #include <stdio.h> | ||
2 | #include <string.h> | ||
3 | #include <stdlib.h> | ||
4 | #include <stdint.h> | ||
5 | #include <inttypes.h> | ||
6 | |||
7 | #include "misc.h" | ||
8 | #include "uchars.h" | ||
9 | #include "api.h" | ||
10 | |||
11 | int main(int argc, char **argv) | ||
12 | { | ||
13 | if (argc > 2 && !strcmp(argv[1], "version")) { | ||
14 | const char *filename8 = argv[2]; | ||
15 | char16_t filename16[4096]; | ||
16 | uint32_t filename16size = lenof(filename16); | ||
17 | c16cpy(filename16, &filename16size, filename8); | ||
18 | char16_t version[4096], language[4096]; | ||
19 | uint32_t versionsize = lenof(version), languagesize = lenof(language); | ||
20 | uint32_t retd = | ||
21 | MsiGetFileVersionW(filename16, version, &versionsize, | ||
22 | language, &languagesize); | ||
23 | printf("MsiGetFileVersionW(\"%s\") = %"PRId32"\n", filename8, retd); | ||
24 | if (retd == 0) { | ||
25 | printf(" version = \"%s\"\n language = \"%s\"\n", | ||
26 | ascii(version, false), ascii(language, false)); | ||
27 | } | ||
28 | } else { | ||
29 | fprintf(stderr, "usage: ./test version <file>\n"); | ||
30 | return 1; | ||
31 | } | ||
32 | return 0; | ||
33 | } | ||