static const char *generate2(const imc_packet * p) { char *temp; char newpath[IMC_PATH_LENGTH]; if (!p->type[0] || !p->i.from[0] || !p->i.to[0]) { imc_logerror("BUG: generate2: bad packet!"); imc_logerror("type: %s from: %s to: %s",p->type,p->i.from,p->i.to); imc_logerror("path: %s data:",p->i.path,printkeys(&p->data)); return NULL; /* catch bad packets here */ } if (!p->i.path[0]) strcpy(newpath, imc_name); else sprintf(newpath, "%s!%s", p->i.path, imc_name); temp=imc_getsbuf(IMC_PACKET_LENGTH); sprintf(temp, "%s %lu %s %s %s %s", p->i.from, p->i.sequence, newpath, p->type, p->i.to, printkeys(&p->data)); imc_shrinksbuf(temp); return temp; }
int main(int argc, char* argv[]) { struct node *ptr1, *ptr2; listinitialize(); ptr1 = insertafter(1, head); ptr2 = insertafter(2, ptr1); ptr1 = insertafter(3, ptr2); printkeys(); printf("\n"); exchange(head, ptr2); printkeys(); printf("\n"); movenexttofront(ptr2); printkeys(); printf("\n"); deletenext(head); printkeys(); return 0; }