pointer to a pointer */
int sq_get_data(struct save_queue *sq, void *data);
int sq_remove_data(struct save_queue *sq, void *data);
+void sq_remove_last_data(struct save_queue *sq);
int sq_empty(struct save_queue *sq);
void sq_destroy(struct save_queue *sq);
return 0;
}
+void sq_remove_last_data(struct save_queue *sq)
+{
+ struct save_queue *rem = sq->q_lastget;
+
+ if (rem != NULL)
+ {
+ rem->q_next->q_prev = sq->q_lastget = rem->q_prev;
+ rem->q_prev->q_next = rem->q_next;
+ free(rem);
+ }
+}
+
int sq_empty(struct save_queue *sq)
{
if (sq->q_next == sq)