8 static int logfd = -1, orig_fd1 = -1;
10 int init_logger(const char *fname)
12 if(logfd != -1) return -1;
14 if((logfd = open(fname, O_CREAT | O_WRONLY | O_TRUNC, 0644)) == -1) {
15 fprintf(stderr, "init_logger: failed to open %s: %s\n", fname, strerror(errno));
27 void stop_logger(void)
42 int print_tail(const char *fname)
49 if(!(fp = fopen(fname, "r"))) {
54 while(fgets(buf, sizeof buf, fp)) {
55 lineoffs[wr] = ftell(fp);
62 fseek(fp, lineoffs[rd], SEEK_SET);
63 while((c = fgetc(fp)) != -1) {