~ilidrissi.amine/gesturetest/621600-no-args

« back to all changes in this revision

Viewing changes to src/main.c

  • Committer: Mohamed Amine IL Idrissi
  • Date: 2010-09-25 18:15:36 UTC
  • Revision ID: ilidrissiamine@gmail.com-20100925181536-d294v2kjjpi0ka9t
Fixed the code.

Show diffs side-by-side

added added

removed removed

Lines of Context:
40
40
                      uint32_t **mask) {
41
41
        unsigned long long int tmp;
42
42
        char *end;
43
 
        int i;
 
43
    int i;
44
44
 
45
45
        switch(argc) {
46
 
        case 0:
47
 
                *window = (xcb_window_t)0;
48
 
                *device_id = (uint16_t)0;
49
 
                *mask_len = 2;
50
 
                *mask = malloc(sizeof(uint32_t) * *mask_len);
51
 
                (*mask)[0] = 0xffffffff;
52
 
                (*mask)[1] = 0xffffffff;
53
 
                break;
54
 
        case 4:
55
 
                tmp = strtoul(argv[1], &end, 0);
56
 
                if (*end != '\0' || tmp > UINT_MAX) {
57
 
                        usage(argv[0]);
58
 
                        return -1;
59
 
                }
60
 
                *window = (xcb_window_t)tmp;
61
 
 
62
 
                tmp = strtoul(argv[2], &end, 0);
63
 
                if (*end != '\0' || tmp > USHRT_MAX) {
64
 
                        usage(argv[0]);
65
 
                        return -1;
66
 
                }
67
 
                *device_id = (uint16_t)tmp;
68
 
 
69
 
                tmp = strtoull(argv[3], &end, 0);
70
 
                if (*end != '\0') {
71
 
                        usage(argv[0]);
72
 
                        return -1;
73
 
                }
74
 
                *mask_len = (tmp > UINT_MAX) ? 2 : 1;
75
 
                
76
 
                *mask = malloc(sizeof(uint32_t) * *mask_len);
77
 
                if (!*mask) {
78
 
                        perror("Error: Failed to allocate event mask");
79
 
                        return -1;
80
 
                }
81
 
 
82
 
                for (i = 0; i < *mask_len; i++)
83
 
                        (*mask)[i] = tmp >> (32 * i);
84
 
 
85
 
                break;
86
 
        default:
87
 
                        usage(argv[0]);
88
 
                        return -1;
 
46
                case 1:
 
47
                        *window = (xcb_window_t)0;
 
48
                        *device_id = (uint16_t)0;
 
49
                        *mask_len = 2;
 
50
                        *mask = malloc(sizeof(uint32_t) * *mask_len);
 
51
                        (*mask)[0] = 0xffffffff;
 
52
                        (*mask)[1] = 0xffffffff;
 
53
                        break;
 
54
                case 4:
 
55
                        tmp = strtoul(argv[1], &end, 0);
 
56
                        if (*end != '\0' || tmp > UINT_MAX) {
 
57
                                usage(argv[0]);
 
58
                                return -1;
 
59
                        }
 
60
                        *window = (xcb_window_t)tmp;
 
61
 
 
62
                        tmp = strtoul(argv[2], &end, 0);
 
63
                        if (*end != '\0' || tmp > USHRT_MAX) {
 
64
                                usage(argv[0]);
 
65
                                return -1;
 
66
                        }
 
67
                        *device_id = (uint16_t)tmp;
 
68
 
 
69
                        tmp = strtoull(argv[3], &end, 0);
 
70
                        if (*end != '\0') {
 
71
                                usage(argv[0]);
 
72
                                return -1;
 
73
                        }
 
74
                        *mask_len = (tmp > UINT_MAX) ? 2 : 1;
 
75
                        
 
76
                        *mask = malloc(sizeof(uint32_t) * *mask_len);
 
77
                        if (!*mask) {
 
78
                                perror("Error: Failed to allocate event mask");
 
79
                                return -1;
 
80
                        }
 
81
 
 
82
                        for (i = 0; i < *mask_len; i++)
 
83
                                (*mask)[i] = tmp >> (32 * i);
 
84
 
 
85
                        break;
 
86
                default:
 
87
                                usage(argv[0]);
 
88
                                return -1;
 
89
        }
89
90
 
90
91
 
91
92
        return 0;