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

void main(int argc, char *argv[])
{	int len,totallines=0,i=0;
	FILE *fp1,*fp2;
	char temp[32];

	if(argc==3 && (len=atoi(argv[1])))
	{	if(fp1=fopen(argv[2],"rb"))
		{	while(!(feof(fp1)))
			{	if(fgetc(fp1)==10)
					totallines++;
			}
			fclose(fp1);
			if(totallines>len)
			{	if(fp1=fopen(argv[2],"rb"))
				{	sprintf(temp,"%s.$tmp",argv[2]);
					if(fp2=fopen(temp,"wb"))
					{	while(i<totallines-len)
						{	if(fgetc(fp1)==10)
								i++;
						}
						while(!(feof(fp1)))
						{	len=fgetc(fp1);
							if(!(feof(fp1)))
								fputc(len,fp2);
						}
						fclose(fp2);
					}
					else
						printf("Unable to open tempfile %s\n",temp);
					fclose(fp1);
					if(i)
					{	remove(argv[2]);
						rename(temp,argv[2]);
					}
				}
			}
		}
		else
			printf("Unable to open %s\n",argv[2]);
	}
	else
		printf("Usage: %s <lines after cut> <filename>\n",argv[0]);
}
