[ create a new paste ] login | about

Link: http://codepad.org/LSq6ZkIr    [ raw code | output | fork ]

C, pasted on Jan 3:
#include <stdio.h>


typedef struct stack_s {
  char data[256]; // overflow me!
  unsigned char ptr;
 } stack_t;


int stackInit( stack_t  *this) {

  if (!this) return 1; //error error...
  
  this->ptr = 0;
  
  return 0;  // success!

} 

int stackPush( stack_t *this, char value) {
  this->data[this->ptr] = value;
  this->ptr++;
  return 0; // success!
}


char stackPop( stack_t *this ) {
  this->ptr--;
  return this->data[this->ptr];

}


int main(void) {

  stack_t myStack;
  
  stackInit( &myStack );
  stackPush( &myStack, 'o');
  stackPush( &myStack, 'n');
  stackPush( &myStack, 'a');
  
  printf("%c", stackPop( &myStack));
  printf("%c", stackPop( &myStack));
  printf("%c\n", stackPop( &myStack));
  

  return 0;  // success!
}


Output:
1
ano


Create a new paste based on this one


Comments: