ca04394acce90b69ecfb2f9082677329a226f6b6
[samba.git] / source3 / torture / t_push_ucs2.c
1 /*
2  * Copyright (C) 2003 by Martin Pool
3  * Copyright (C) 2003 by Andrew Bartlett
4  *
5  * Test harness for push_ucs2
6  */
7
8 #include "includes.h"
9
10 static int check_push_ucs2(const char *orig) 
11 {
12         smb_ucs2_t *dest = NULL;
13         char *orig2 = NULL;
14         int ret;
15
16         push_ucs2_allocate(&dest, orig);
17         pull_ucs2_allocate(&orig2, dest);
18         ret = strcmp(orig, orig2);
19         if (ret) {
20                 fprintf(stderr, "orig: %s\n", orig);
21                 fprintf(stderr, "orig (UNIX -> UCS2 -> UNIX): %s\n", orig2);
22         }
23
24         SAFE_FREE(dest);
25         SAFE_FREE(orig2);
26
27         return ret;
28 }
29
30 int main(int argc, char *argv[])
31 {
32         int i, ret = 0;
33         
34         if (argc != 2) {
35                 fprintf(stderr, "usage: %s STRING1\n"
36                         "Converts a string, prints the results of strcmp\n",
37                         argv[0]);
38                 return 2;
39         }
40
41         for (i = 0; ((i < 10000) && (!ret)); i++)
42                 ret = check_push_ucs2(argv[1]);
43
44         printf("%d\n", ret);
45         
46         return 0;
47 }