rem: static  void process_lumps(	struct lump* l,	char* new_buf, int* new_buf_offs, char* orig, int* orig_offs)
add: static inline void process_lumps(	struct lump* l,	char* new_buf, unsigned int* new_buf_offs, char* orig, unsigned int* orig_offs)
context: static /*inline*/ void process_lumps(	struct lump* l,	char* new_buf, 									int* new_buf_offs, char* orig,									int* orig_offs){	struct lump *t;	struct lump *r;	int size;	int offset;	int s_offset;		offset=*new_buf_offs;	s_offset=*orig_offs;		for (t=l;t;t=t->next){		switch(t->op){			case LUMP_ADD:				/* just add it here! */				/* process before  */				for(r=t->before;r;r=r->before){					switch (r->op){						case LUMP_ADD:							/*just add it here*/							memcpy(new_buf+offset, r->u.value, r->len);							offset+=r->len;							break;						default:							/* only ADD allowed for before/after */							LOG(L_CRIT, "BUG:process_lumps: "									"invalid op for data lump (%x)\n", r->op);					}				}				/* copy "main" part */				memcpy(new_buf+offset, t->u.value, t->len);				offset+=t->len;				/* process after */				for(r=t->after;r;r=r->after){					switch (r->op){						case LUMP_ADD:							/*just add it here*/							memcpy(new_buf+offset, r->u.value, r->len);							offset+=r->len;							break;						default:							/* only ADD allowed for before/after */							LOG(L_CRIT, "BUG:process_lumps: "									"invalid op for data lump (%x)\n", r->op);					}				}				break;			case LUMP_NOP:			case LUMP_DEL:				/* copy till offset */				if (s_offset>t->u.offset){					DBG("Warning: (%d) overlapped lumps offsets,"						" ignoring(%x, %x)\n", t->op, s_offset,t->u.offset);					/* this should've been fixed above (when computing len) */					/* just ignore it*/					break;				}				size=t->u.offset-s_offset;				if (size){					memcpy(new_buf+offset, orig+s_offset,size);					offset+=size;					s_offset+=size;				}				/* process before  */				for(r=t->before;r;r=r->before){					switch (r->op){						case LUMP_ADD:							/*just add it here*/							memcpy(new_buf+offset, r->u.value, r->len);							offset+=r->len;							break;						default:							/* only ADD allowed for before/after */							LOG(L_CRIT, "BUG:process_lumps: "									"invalid op for data lump (%x)\n",r->op);					}				}				/* process main (del only) */				if (t->op==LUMP_DEL){					/* skip len bytes from orig msg */					s_offset+=t->len;				}				/* process after */				for(r=t->after;r;r=r->after){					switch (r->op){						case LUMP_ADD:							/*just add it here*/							memcpy(new_buf+offset, r->u.value, r->len);							offset+=r->len;							break;						default:							/* only ADD allowed for before/after */							LOG(L_CRIT, "BUG:process_lumps: "									"invalid op for data lump (%x)\n", r->op);					}				}				break;			default:					LOG(L_CRIT, "BUG: process_lumps: "							"unknown op (%x)\n", t->op);		}	}	*new_buf_offs=offset;	*orig_offs=s_offset;}