Wczytywanie komend - getline

0

Witam, otóż mam następujący problem. Chciałbym wczytywać do bufora z stdin komendy i potem porównywać z wzorcem. Np użytkonik wpisuje start, program startuje, exit - wylacza sie itd. Użyłem do tego funkcji getlin w pętli i za każdym razem porównuje funkcją strstr. Wszystko fajnie tylko gdy użytkownik wpisze powiedzmy AAAAA a następnie, coś krótszego to końcówka będzie z poprzedniej komendy tj :
AAAAA -> AAAAA
BB -> BBAAA
dodam że po każdym wywołaniu mam free( bufor) ; bufor = NULL;

char* line =NULL;
while(1)
	{
	    printf(">");
	    getline(&line, &sizecommand, stdin); // pobranie komendy
	    if(strcmp(line, "startup") == 0)
	    {
	        printf("startup \n");
	    }
free(line); line = NULL;         
}

czy robię coś źle , czy po prostu tak jest i muszę to zrobić inaczej? Proszę o pomoc.Pozdrawiam

0

Getline nie wymaga przypadkiem jako parametru zaalokiwanego już bufora?

1 użytkowników online, w tym zalogowanych: 0, gości: 1