Lines Matching defs:data

22   struct UTF8DecoderData *data = data_;

24 data->bytes_remaining = 0;
25 data->bytes_total = 0;
32 struct UTF8DecoderData *data = data_;
42 printf(" pos=%zd c=%02x rem=%d\n", *pos, c, data->bytes_remaining);
49 if(data->bytes_remaining)
56 data->bytes_remaining = 0;
60 if(!data->bytes_remaining) {
65 data->this_cp <<= 6;
66 data->this_cp |= c & 0x3f;
67 data->bytes_remaining--;
69 if(!data->bytes_remaining) {
71 printf(" UTF-8 raw char U+%04x bytelen=%d ", data->this_cp, data->bytes_total);
74 switch(data->bytes_total) {
76 if(data->this_cp < 0x0080) data->this_cp = UNICODE_INVALID; break;
78 if(data->this_cp < 0x0800) data->this_cp = UNICODE_INVALID; break;
80 if(data->this_cp < 0x10000) data->this_cp = UNICODE_INVALID; break;
82 if(data->this_cp < 0x200000) data->this_cp = UNICODE_INVALID; break;
84 if(data->this_cp < 0x4000000) data->this_cp = UNICODE_INVALID; break;
87 if((data->this_cp >= 0xD800 && data->this_cp <= 0xDFFF) ||
88 data->this_cp == 0xFFFE ||
89 data->this_cp == 0xFFFF)
90 data->this_cp = UNICODE_INVALID;
92 printf(" char: U+%04x\n", data->this_cp);
94 cp[(*cpi)++] = data->this_cp;
99 if(data->bytes_remaining)
102 data->this_cp = c & 0x1f;
103 data->bytes_total = 2;
104 data->bytes_remaining = 1;
108 if(data->bytes_remaining)
111 data->this_cp = c & 0x0f;
112 data->bytes_total = 3;
113 data->bytes_remaining = 2;
117 if(data->bytes_remaining)
120 data->this_cp = c & 0x07;
121 data->bytes_total = 4;
122 data->bytes_remaining = 3;
126 if(data->bytes_remaining)
129 data->this_cp = c & 0x03;
130 data->bytes_total = 5;
131 data->bytes_remaining = 4;
135 if(data->bytes_remaining)
138 data->this_cp = c & 0x01;
139 data->bytes_total = 6;
140 data->bytes_remaining = 5;
154 static void decode_usascii(VTermEncoding *enc, void *data,
177 static void decode_table(VTermEncoding *enc, void *data,