Lines Matching refs:data

23   struct UTF8DecoderData *data = data_;
25 data->bytes_remaining = 0;
26 data->bytes_total = 0;
33 struct UTF8DecoderData *data = data_;
43 printf(" pos=%zd c=%02x rem=%d\n", *pos, c, data->bytes_remaining);
50 if(data->bytes_remaining)
57 data->bytes_remaining = 0;
61 if(!data->bytes_remaining) {
66 data->this_cp <<= 6;
67 data->this_cp |= c & 0x3f;
68 data->bytes_remaining--;
70 if(!data->bytes_remaining) {
72 printf(" UTF-8 raw char U+%04x bytelen=%d ", data->this_cp, data->bytes_total);
75 switch(data->bytes_total) {
77 if(data->this_cp < 0x0080) data->this_cp = UNICODE_INVALID;
80 if(data->this_cp < 0x0800) data->this_cp = UNICODE_INVALID;
83 if(data->this_cp < 0x10000) data->this_cp = UNICODE_INVALID;
86 if(data->this_cp < 0x200000) data->this_cp = UNICODE_INVALID;
89 if(data->this_cp < 0x4000000) data->this_cp = UNICODE_INVALID;
93 if((data->this_cp >= 0xD800 && data->this_cp <= 0xDFFF) ||
94 data->this_cp == 0xFFFE ||
95 data->this_cp == 0xFFFF)
96 data->this_cp = UNICODE_INVALID;
98 printf(" char: U+%04x\n", data->this_cp);
100 cp[(*cpi)++] = data->this_cp;
105 if(data->bytes_remaining)
108 data->this_cp = c & 0x1f;
109 data->bytes_total = 2;
110 data->bytes_remaining = 1;
114 if(data->bytes_remaining)
117 data->this_cp = c & 0x0f;
118 data->bytes_total = 3;
119 data->bytes_remaining = 2;
123 if(data->bytes_remaining)
126 data->this_cp = c & 0x07;
127 data->bytes_total = 4;
128 data->bytes_remaining = 3;
132 if(data->bytes_remaining)
135 data->this_cp = c & 0x03;
136 data->bytes_total = 5;
137 data->bytes_remaining = 4;
141 if(data->bytes_remaining)
144 data->this_cp = c & 0x01;
145 data->bytes_total = 6;
146 data->bytes_remaining = 5;
160 static void decode_usascii(VTermEncoding *enc, void *data,
185 static void decode_table(VTermEncoding *enc, void *data,