
/*
 * Przykladowe zastosowanie stosu
 * [c] piotao, 20051105
 * Ten program korzysta z pliku naglowkowego Stos.h, ktory musi byc
 * dostepny dla kompilatora. Program wczytuje plik i wypisuje jego
 * wiersze w odwrotnej kolejnosci. Nalezy programowi podac nazwe pliku.
 */

#include <stdio.h>
#include <stdlib.h>

#include "Stosstr.h"

#define MAX_LINE_LENGTH 1024


int main(int argc, char **argv){

	FILE  *plik;
	Stack *stos;
	char* wiersz = (char*) malloc(MAX_LINE_LENGTH);
	
	if( argc != 2 ){
		printf("Podaj jako argument nazwe pliku tekstowego.\n");
		exit(0);
	}
	else{
		if( (plik = fopen( argv[1], "r" )) ){
			while( fgets(wiersz,MAX_LINE_LENGTH,plik) ){
				stos = pushStack(stos,wiersz);
			}
			fclose(plik);
		}
		else{
			printf("Nie mozna otworzyc pliku '%s'!\n",argv[1]);
			exit(1);
		}
	}
	while( stos != NULL ){
		wiersz = popStack(&stos);
		printf("%s",wiersz);
		if(wiersz) free(wiersz);
	}

}
