summaryrefslogtreecommitdiff
path: root/test/iconv.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/iconv.c')
-rw-r--r--test/iconv.c36
1 files changed, 32 insertions, 4 deletions
diff --git a/test/iconv.c b/test/iconv.c
index 0732040..cd0bfa3 100644
--- a/test/iconv.c
+++ b/test/iconv.c
@@ -1,17 +1,45 @@
#include <stdio.h>
+#include <string.h>
#include <iconv-internal/iconv.h>
#include "testutils.h"
+#ifdef __riscos__
+#define ALIASES_FILE "Files.Aliases"
+#else
+#define ALIASES_FILE "Files/Aliases"
+#endif
+
int main(int argc, char **argv)
{
- if (argc != 2) {
- printf("Usage: %s <aliases_file>\n", argv[0]);
- return 1;
+ const char *ucpath;
+ int alen;
+ char aliases[4096];
+
+ UNUSED(argc);
+ UNUSED(argv);
+
+#ifdef __riscos__
+ ucpath = "Unicode:";
+#else
+ ucpath = getenv("UNICODE_DIR");
+#endif
+
+ assert(ucpath != NULL);
+
+ strncpy(aliases, ucpath, sizeof(aliases));
+ alen = strlen(aliases);
+#ifndef __riscos__
+ if (aliases[alen - 1] != '/') {
+ strncat(aliases, "/", sizeof(aliases) - alen - 1);
+ alen += 1;
}
+#endif
+ strncat(aliases, ALIASES_FILE, sizeof(aliases) - alen - 1);
+ aliases[sizeof(aliases) - 1] = '\0';
- assert(iconv_initialise(argv[1]) == 1);
+ assert(iconv_initialise(aliases) == 1);
iconv_finalise();