Lines Matching refs:ip

103 static int putMove(Move* ip)
107 inst = ip->type;
108 inst |= (NBYTE(ip->size)&07) << 3;
109 if(ip->type == DELTA_MOVE)
111 inst |= NBYTE(ip->addr)&07;
113 delputl(NBYTE(ip->size),ip->size) < 0 ||
114 delputl(NBYTE(ip->addr),ip->addr) < 0)
120 delputl(NBYTE(ip->size),ip->size) < 0 ||
121 delputs(ip->size,ip->addr) < 0)
130 register Move *ip = (Move*) malloc(sizeof(Move));
131 if(!ip) return 0;
132 ip->type = type;
133 ip->size = size;
134 ip->addr = addr;
137 last->next = ip;
138 ip->last = last;
140 else ip->last = 0;
141 ip->next = 0;
142 return ip;
146 static Move *delMove(Move* ip)
148 register Move *next = ip->next;
149 register Move *last = ip->last;
154 free(ip);
161 register Move *ip;
163 ip = newMove(DELTA_ADD,(long)(end-beg),(long)(beg-Btar),NiL);
164 if(!ip)
176 NBYTE(ip->size) + ip->size;
177 a_size = ip->size + last->size;
182 ip->size = a_size;
183 ip->addr -= last->size;
190 ip->size += last->size;
191 ip->addr -= last->size;
197 last->next = ip;
198 ip->last = last;
200 return ip;
234 register Move *ip, *last;
240 for(ip = s; ip; ip = ip->next)
244 if(ip->type == DELTA_ADD || ip->size > (M_MAX+A_MAX))
247 m_cost += 1+NBYTE(ip->size)+NBYTE(ip->addr);
248 a_cost += ip->size;
258 if(ip->next && ip->next->type == DELTA_ADD)
260 cost_m += 1 + ip->next->size + NBYTE(ip->next->size);
261 cost_a += ip->next->size;
271 while(ip != s)
273 last = ip->last;
274 s->size += ip->size;
275 delMove(ip);
276 ip = last;
442 register Move *ip;
444 ip = moves;
445 while(ip->last)
446 ip = ip->last;
447 for(; ip; ip = ip->next)
448 if(ip->type == DELTA_MOVE && ip->size <= (M_MAX+A_MAX))
449 moves = ip = optMove(ip);