implementation of a stack in C
I would advise you not implementing stacks with a linked list because for each char of info you consume 2 * sizeof(void*) because of memory alignment in your struct.  

Because of this you won't be able to handle a big amount of data.

What happens if you push EMPTY_STACK ? Your pop will return a false EMPTY_STACK when going through the if. Isn't there a better way to handle this ?