Lines Matching refs:ip
29 #define TEST_IP (ip < ip_end)
40 static void copy2(lzo_bytep ip, const lzo_bytep m_pos, lzo_uint off)
43 ip[0] = m_pos[0];
45 ip[1] = m_pos[0];
47 ip[1] = m_pos[1];
51 static void copy3(lzo_bytep ip, const lzo_bytep m_pos, lzo_uint off)
54 ip[0] = m_pos[0];
57 ip[2] = ip[1] = m_pos[0];
61 ip[1] = m_pos[1];
62 ip[2] = m_pos[0];
66 ip[1] = m_pos[1];
67 ip[2] = m_pos[2];
82 lzo_bytep ip;
98 ip = in;
101 if (*ip > 17)
103 t = *ip++ - 17;
108 assert(*ip < 16 || (*ip == 17 && in_len == 3));
112 t = *ip++;
116 litp = ip - 1;
120 while (*ip == 0)
121 t += 255, ip++;
122 t += *ip++;
127 *op++ = *ip++; *op++ = *ip++; *op++ = *ip++;
129 do *op++ = *ip++; while (--t > 0);
132 t = *ip++;
142 m_pos -= *ip++ << 2;
154 m_pos -= *ip++ << 2;
161 assert(litp == ip - 2 - lit - 2);
163 nl = ip[-2] & 3;
165 if (nl == 0 && lit == 1 && ip[0] >= 16)
172 copy2(ip-2,m_pos,pd(op,m_pos));
176 else if (nl == 0 && ip[0] < 16 && ip[0] != 0 &&
177 (lit + 2 + ip[0] < 16))
179 t = *ip++;
183 copy2(ip-3+1,m_pos,pd(op,m_pos));
207 m_pos -= *ip++ << 3;
211 m_pos -= *ip++ << 2;
217 nl = ip[-2] & 3;
220 ip[0] < 16 && ip[0] != 0 && (lit + 3 + ip[0] < 16))
223 t = *ip++;
225 copy3(ip-1-2,m_pos,pd(op,m_pos));
242 while (*ip == 0)
243 t += 255, ip++;
244 t += *ip++;
247 m_pos -= *ip++ >> 2;
248 m_pos -= *ip++ << 6;
258 while (*ip == 0)
259 t += 255, ip++;
260 t += *ip++;
262 m_pos -= *ip++ >> 2;
263 m_pos -= *ip++ << 6;
271 nl = ip[-2] & 3;
273 if (t == 1 && lit == 0 && nl == 0 && ip[0] >= 16)
275 assert(litp == ip - 3 - lit - 2);
282 copy3(ip-3,m_pos,pd(op,m_pos));
287 ip[0] < 16 && ip[0] != 0 && (lit + 3 + ip[0] < 16))
289 assert(litp == ip - 3 - lit - 2);
291 t = *ip++;
295 copy3(ip-4+1,m_pos,pd(op,m_pos));
317 t = ip[-2] & 3;
319 litp = ip - 2;
329 do *op++ = *ip++; while (--t > 0);
330 t = *ip++;
347 return (ip == ip_end ? LZO_E_OK :
348 (ip < ip_end ? LZO_E_INPUT_NOT_CONSUMED : LZO_E_INPUT_OVERRUN));