ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/test/strings-memmove.c
Revision: 1.1
Committed: Mon Nov 24 17:28:08 2003 UTC (20 years, 7 months ago) by pcg
Content type: text/plain
Branch: MAIN
CVS Tags: rel-2_1_0, rel-4_8, rxvt-2-0, rel-4_4, rel-4_6, rel-4_7, rel-4_0, rel-4_1, rel-4_2, rel-4_3, rel-3_7, rel-3_6, rel-3_5, rel-3_4, rel-3_3, rel-3_2, rel-2_8, rel-3_0, rel-2_7, rel-2_4, rel-2_5, rel-2_2, rel-2_3, rel-2_0, rel-3_8, rel-1-9, stable, rel-1-3, rel-1-2, rel-1_9, before_astyle, after_astyle
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 pcg 1.1 #include "../../config.h"
2     #include "../rxvt.h"
3    
4     # /* hack! */ define memset rmemset
5     # /* hack! */ define memmove rmemmove
6     void *memset __PROTO((void *p, int c1, size_t len));
7     void *memmove __PROTO((void *d, const void *s, size_t len));
8     # /* hack! */ include "../strings.c"
9     # /* hack! */ undef memmove
10     # /* hack! */ undef memset
11    
12     #define OFF 16
13     #define BUFSZ 300
14    
15     unsigned char buf1[BUFSZ], buf2[BUFSZ], buf3[BUFSZ];
16    
17     int
18     main()
19     {
20     int i, j, k, a;
21     int res;
22    
23     res = 0;
24     for (i = 0; i < OFF; i++)
25     for (j = 0; j < OFF; j++)
26     for (k = 0; k < OFF; k++) {
27    
28     memset(buf2, 127, BUFSZ);
29     memset(buf3, 127, BUFSZ);
30     for (a = 1; a < 256; a++)
31     buf1[OFF + i + a - 1] = a;
32     rmemmove(buf2 + OFF + k, buf1 + OFF + i, 256 - OFF + j);
33     memmove(buf3 + OFF + k, buf1 + OFF + i, 256 - OFF + j);
34     for (a = 0; a < (int)sizeof buf2; a++)
35     if (buf2[a] != buf3[a]) {
36     res = 1;
37     printf("Test BAD, Start = +%d, Size = +%d, Dest =+ %d: ",
38     i, j, k);
39     printf(" -1=%02x, 0=%02x, %d=%02x, %d=%02x\n",
40     buf2[OFF + k - 1], buf2[OFF + k],
41     255 - OFF + j, buf2[k + 255 + j],
42     256 - OFF + j, buf2[k + 256 + j]);
43     break;
44     }
45     }
46     if (res == 0)
47     printf("OK\n");
48     exit(res);
49     }