2012-08-03 10:03:17 +00:00
|
|
|
#include <stdio.h>
|
|
|
|
#include <string.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include <time.h>
|
2014-06-28 13:38:48 +00:00
|
|
|
#include <errno.h>
|
2014-03-31 20:46:58 +00:00
|
|
|
|
|
|
|
#include "util.h"
|
2012-08-03 10:03:17 +00:00
|
|
|
|
|
|
|
int
|
2013-05-20 17:32:59 +00:00
|
|
|
main(void) {
|
2012-08-03 10:03:17 +00:00
|
|
|
char *line = NULL, *fields[FieldLast];
|
|
|
|
time_t parsedtime, comparetime;
|
|
|
|
size_t size = 0;
|
|
|
|
|
|
|
|
comparetime = time(NULL) - (3600 * 24); /* 1 day is old news */
|
2013-05-20 17:32:22 +00:00
|
|
|
while(parseline(&line, &size, fields, FieldLast, '\t', stdin) > 0) {
|
2014-06-28 13:38:48 +00:00
|
|
|
errno = 0;
|
2012-08-03 10:03:17 +00:00
|
|
|
parsedtime = (time_t)strtol(fields[FieldUnixTimestamp], NULL, 10);
|
2014-06-28 13:38:48 +00:00
|
|
|
if(errno != 0)
|
|
|
|
parsedtime = 0;
|
2014-03-31 21:17:16 +00:00
|
|
|
if(parsedtime >= comparetime)
|
|
|
|
fputs(" N ", stdout);
|
|
|
|
else
|
|
|
|
fputs(" ", stdout);
|
2012-08-03 10:03:17 +00:00
|
|
|
if(fields[FieldFeedName][0] != '\0')
|
|
|
|
printf("%-15.15s ", fields[FieldFeedName]);
|
2014-03-31 21:17:16 +00:00
|
|
|
printf("%-30.30s ", fields[FieldTimeFormatted]);
|
2014-11-11 18:11:56 +00:00
|
|
|
printutf8pad(stdout, fields[FieldTitle], 70, ' ');
|
2012-08-03 10:03:17 +00:00
|
|
|
fputs(" ", stdout);
|
2012-08-03 12:57:22 +00:00
|
|
|
if(fields[FieldBaseSiteUrl][0] != '\0')
|
2013-05-20 17:32:22 +00:00
|
|
|
printlink(fields[FieldLink], fields[FieldBaseSiteUrl], stdout);
|
2012-08-03 12:57:22 +00:00
|
|
|
else
|
2013-05-20 17:32:22 +00:00
|
|
|
printlink(fields[FieldLink], fields[FieldFeedUrl], stdout);
|
2012-08-03 10:03:17 +00:00
|
|
|
putchar('\n');
|
|
|
|
}
|
|
|
|
free(line);
|
2014-05-13 10:07:52 +00:00
|
|
|
line = NULL;
|
2012-08-03 10:03:17 +00:00
|
|
|
return EXIT_SUCCESS;
|
|
|
|
}
|