5 extern unsigned char *asmb(unsigned char *s);
7 unsigned char *asmb_ref(unsigned char *s)
10 for (i=0; s[i]; i++) {
11 unsigned char c = s[i];
12 c += (c >= 'A' && c <= 'Z') ? 'a'-'A' : 0;
18 int main(int argc, char **argv) {
19 char *input1[]={"asdfA\0BCDEFGHKL5", "foofuuMUHkk\0AAAA",
20 "AbC\0AAAAAAAAAAAA", "BLA|MUHMKUH|KAA\0",
21 "ASDFASDFasdfasdfaBC\0AAAABBBBCCCC",
22 "ASDFASDFasdfasdfaBC0AAAABBBBCCCCmuhKA\0asASDFasdf"
23 /* 8 16 20 24 28 32 36 40 48 */
35 for(i = 0; i < 6; i++) {
36 input2 = strdup(input1[i]);
37 input3 = strdup(input1[i]);
38 output1 = (char *)asmb_ref((unsigned char *)(input2));
39 output2 = (char *)asmb((unsigned char *)(input3));
43 if(memcmp(output1,output2, len[i])) {
45 if(strncmp(output1,output2, len[i])) {
48 printf("Testfall falsch; Input war: \"%s\"\n", input1[i]);
49 printf("erwartet:\n\t\"%s\"\ntatsaechliches Ergebnis:\n\t\"%s\"\n", output1, output2);
52 for(j = 0; j < 16; j++)
53 printf("%02X", output2[j]);
57 printf("Testfall \"%s\" passt.\n", output1);