Advertisement
Guest User

Untitled

a guest
May 30th, 2016
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.45 KB | None | 0 0
  1. stack *stack_duplicate(stack *s) {
  2.   stack *s2 = stack_empty();
  3.   if (s2 == NULL) {
  4.     return NULL;
  5.   }
  6.   cstack **pp2 = &(s2 -> head);
  7.   cstack *p = s -> head;
  8.   while (p != NULL) {
  9.     *pp2 = malloc(sizeof **pp2);
  10.     if (*pp2 == NULL) {
  11.       stack_dispose(&s2);
  12.       return NULL;
  13.     }
  14.     (*pp2) -> value = p -> value;
  15.     pp2 = &((*pp2) -> next);
  16.     p = p -> next;
  17.   }
  18.   *pp2 = NULL;
  19.   s2 -> height = s -> height;
  20.   return s2;
  21. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement