asma: erstes geruest
[uebersetzerbau-ss10.git] / asma / main.c
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <string.h>
4
5 extern unsigned char *asma(unsigned char *s);
6
7 unsigned char *asma_ref(unsigned char *s)
8 {
9         int i;
10         for (i=0; i<16; i++) {
11                 unsigned char c = s[i];
12                 c += (c >= 'A' && c <= 'Z') ? 'a'-'A' : 0;
13                 s[i] = c;
14         }
15         return s;
16 }
17
18 int main(int argc, char **argv) {
19         char *input1[]={"asdfABCDEFGHKL54", "foofuuMUHkk"};
20         char *output1;
21         char *output2;
22         char *input2;
23         char *input3;
24         int i;
25
26         for(i = 0; i < 2; i++) {
27                 input2 = strdup(input1[i]);
28                 input3 = strdup(input1[i]);
29                 output1 = (unsigned char*) asma_ref((unsigned char *)(input2));
30                 output2 = (unsigned char*) asma((unsigned char *)(input3));
31
32                 output1[16]='\0';
33                 output2[16]='\0';
34
35                 if(memcmp(output1,output2, 16)) {
36                         printf("Testfall falsch; erwartet:\n\t\"%s\"\ntatsaechliches Ergebnis:\n\t\"%s\"\n", output1, output2);
37                 } else {
38                         printf("Testfall \"%s\" passt.\n", output1);
39                 }
40
41                 free(input2);
42                 free(input3);
43         }
44
45         return 0;
46 }
47