#import <Foundation/Foundation.h>
#import <utmp.h>
#import <stdlib.h>
#import <stdio.h>
extern int errno;
int main (int argc, const char * argv[]) {
NSAutoreleasePool *pool=[[NSAutoreleasePool alloc] init];
FILE *utmp_file;
struct utmp *utmp_store;
errno=0;
if((utmp_file=fopen(_PATH_UTMP,"rb"))==NULL)
{
perror("csalutd: couldn't open utmp");
exit(EXIT_FAILURE);
}
if((utmp_store=(struct utmp *)malloc(sizeof(utmp_store)))==NULL)
{
perror("csalutd: couldn't malloc struct");
exit(EXIT_FAILURE);
}
while(fread(utmp_store,sizeof(utmp_store),1,utmp_file)==1)
{
printf("That fool %s, over %s way, was responsible.\nIt was at %d
on %s.\n",utmp_store->ut_name,utmp_store->ut_host,utmp_store-
>ut_time,utmp_store->ut_line);
}
fclose(utmp_file);
[pool release];
return 0;
}
[Session started at 2005-12-13 15:32:15 +0000.]
That fool , over way, was responsible.
It was at 0 on .
That fool , over way, was responsible.
It was at 0 on .
That fool , over way, was responsible.
It was at 0 on .
That fool , over way, was responsible.
It was at 0 on .
That fool , over way, was responsible.
It was at 0 on .
That fool , over way, was responsible.
It was at 0 on .
That fool , over way, was responsible.
It was at 0 on .
That fool , over way, was responsible.
It was at 0 on .
That fool , over way, was responsible.
It was at 0 on .
That fool , over way, was responsible.
It was at 0 on cons.
That fool , over way, was responsible.
It was at 0 on ole.
That fool , over way, was responsible.
It was at 0 on leeg.
That fool , over way, was responsible.
It was at 0 on .
That fool , over way, was responsible.
It was at 0 on .
That fool , over way, was responsible.
It was at 0 on \242\213\305X.