1 #include <stdio.h>
2 #include <unistd.h>
3 #include <stdlib.h>
4
main()5 int main()
6 {
7 char swch;
8 char test[100] = {0};
9 unsigned int val0, val1, val2;
10 read(0, &swch, 1);
11
12 if (swch == 'x') {
13 scanf("%04x.%04x.%04x", &val0, &val1, &val2);
14 if (val0 == 0xaaaa && val1 == 0xbbbb && val2 == 0xcccc) {
15 // 0xaaaa
16 puts("%%04x.%%04x.%%04x");
17 } else if (val0 == -0xcd && val1 == -0xcd && val2 == -0xcd) {
18 // -0xcdcd
19 puts("%%04x.%%04x.%%04x and negative numbers");
20 } else {
21 puts("nope 0");
22 }
23 } else if (swch == 'd') {
24 scanf("%d.%d.%d", &val0, &val1, &val2);
25 if (val0 == 133337 && val1 == 1337 && val2 == 13337) {
26 // 1333337
27 puts("%%d.%%d.%%d");
28 } else if (val0 == -1337 && val1 == -1337 && val2 == -1337) {
29 // -1337
30 puts("%%d.%%d.%%d and negative numbers");
31 } else {
32 puts("nope 1");
33 }
34 } else if (swch == 'u') {
35 scanf("%u.%u.%u", &val0, &val1, &val2);
36 if (val0 == 0xaaaa && val1 == 0xbbbb && val2 == 0xcccc) {
37 // 43690
38 puts("%%u.%%u.%%u");
39 } else if (val0 == -0xcdcd && val1 == -0xcdcd && val2 == -0xcdcd) {
40 // -52685
41 puts("%%u and negative numbers");
42 } else {
43 puts("nope 2");
44 }
45 } else {
46 puts("Unsupported switch");
47 }
48
49 return 0;
50 }
51