Pastie now auto-senses if line-wrap is a bad or good idea. Feedback?
## mark a section (Learn more)
## queue.c #include <stdio.h> #include <stdlib.h> #include "include/queue.h" /* ** Queue.c */ struct entry_struct *unqueue(q) struct queue_struct *q; { struct entry_struct *entry; if (q==NULL) return(NULL); if (q->head == NULL) return(NULL); entry = q->head; q->head = entry->next; if (q->head == NULL) q->tail = NULL; entry->next = NULL; entry->prev = NULL; return(entry); } void queue(q,entry) struct queue_struct *q; struct entry_struct *entry; { if (q==NULL) return; if (entry == NULL) return; entry->next = NULL; entry->prev = NULL; if (q->head == NULL){ q->head = entry; q->tail = entry; return; } entry->prev = q->tail; q->tail->next = entry; q->tail = entry; return; } struct queue_struct *init_queue(void) { struct queue_struct *q; q = (struct queue_struct *)malloc(sizeof(struct queue_struct *)); q->head = NULL; q->tail = NULL; return(q); } ## queue.h /* ** Queue.h */ struct entry_struct { struct entry_struct *next; struct entry_struct *prev; }; struct queue_struct { struct entry_struct *head; struct entry_struct *tail; }; struct entry_struct *unqueue(struct queue_struct *); void queue(struct queue_struct *, struct entry_struct *); struct queue_struct *init_queue(void);
This paste will be private.
From the Design Piracy series on my blog: