Lines Matching refs:last
46 struct _m_ *last; /* doubly linked list for easy insert/delete */
128 static Move *newMove(int type, long size, long addr, Move* last)
135 if(last)
137 last->next = ip;
138 ip->last = last;
140 else ip->last = 0;
149 register Move *last = ip->last;
150 if(last)
151 last->next = next;
153 next->last = last;
155 return next ? next : last;
159 static Move *makeAdd(char* beg, char* end, Move* last)
168 while(last)
172 if(last->type == DELTA_ADD)
175 cost_m = NBYTE(last->size) + NBYTE(last->addr) +
177 a_size = ip->size + last->size;
183 ip->addr -= last->size;
184 last = delMove(last);
188 if(last && last->type == DELTA_ADD)
190 ip->size += last->size;
191 ip->addr -= last->size;
192 last = delMove(last);
195 if(last)
197 last->next = ip;
198 ip->last = last;
234 register Move *ip, *last;
236 add = (s->last && s->last->type == DELTA_ADD) ? s->last->size : 0;
273 last = ip->last;
276 ip = last;
280 if((last = s->last) && last->type == DELTA_ADD)
282 last->size += s->size;
284 s = last;
304 Move *moves, *last;
323 /* initialize list and last block */
325 last = 0;
363 last = newMove(DELTA_MOVE,size,addr,NiL);
364 if(!last)
419 if(last && chkMove(last->size,last->addr,(long)(tar-tp)) <= 0)
421 tar += last->size;
422 last = delMove(last);
428 if(last)
430 moves->next = last;
431 last->last = moves;
445 while(ip->last)
446 ip = ip->last;
451 while(moves->last)
452 moves = moves->last;