#include <stdio.h>
#include <stdlib.h>
#define line_size 80
void main(int argc, char* argv[])
{
enum {search, show_tag} state = search;
char line[line_size] = {'\0'};
int result = 0;
if( argc < 2 )
{
printf("usage: %s <tag> < <source_file>\n", argv[0]);
exit(1);
}
while( gets(line) )
{
switch(state)
{
case search:
if( line[0] == '#' )
{
result = strcmp(line + 1, argv[1]);
if( result == 0 )
state = process;
}
break;
case show_tag:
if( line[0] == '#' && line[1] == '/')
{
result = strcmp(line + 2, argv[1]);
if( result == 0 )
goto done;
} else
puts(line);
break;
}
}
done:
exit(0);
}