int main() { ssize_t r; const int in = 0; char buf[MAX_CMD_LEN]; long flags = fcntl(in, F_GETFL, 0); if (flags < 0) { fprintf(stderr, "Unable to get flags for stdin: %s\n", strerror(errno)); exit(1); } if (fcntl(in, F_SETFL, flags | O_NONBLOCK) != 0) { fprintf(stderr, "Unable to set non-blocking flag for stdin: %s\n", strerror(errno)); exit(1); } strcpy(command, "sync"); banner(); printf("Connecting..."); fflush(NULL); ltServerInit(); int t = 0; while (!ltServerIsReady()) { ltServerStep(); usleep(DELAY); if (t % 30 == 0) { printf("."); fflush(NULL); } t++; } printf("\nConnection established.\n"); prompt(); while (true) { r = read(in, buf, MAX_CMD_LEN); if (r < 0) { if (errno != EAGAIN) { fprintf(stderr, "Error reading from stdin: %s\n", strerror(errno)); exit(1); } } if (r > 0) { buf[r] = '\0'; if (buf[r - 1] == '\n') { buf[r - 1] = '\0'; need_nl_before_logs = false; } if (buf[0] != '\0') { strcpy(command, buf); } execute_command(); } ltServerStep(); print_logs(); usleep(DELAY); prompt(); } }
int main(int argc, char **argv) { char offset_file[MAX_FILE_NAME]; char *file_name, *prog; ino_t inode; off_t offset; prog = argv[0]; if (argc != 2) { fprintf(stderr, "no filename specified\n"); usage(prog); return 1; } file_name = argv[1]; if (strlen(OFFSET_EXT) + strlen(file_name) + 1 > MAX_FILE_NAME) { fprintf(stderr, "%s: filename too long (max is %ld)\n", prog, MAX_FILE_NAME - strlen(OFFSET_EXT) - 1); return 1; } strncat(offset_file, file_name, sizeof(offset_file) - strlen(offset_file) - 1); strncat(offset_file, OFFSET_EXT, sizeof(offset_file) - strlen(offset_file) - 1); if (read_offset(offset_file, &inode, &offset) != 0) { fprintf(stderr, "%s: can't open offset file: %s\n", prog, strerror(errno)); return 1; } if (print_logs(file_name, &inode, &offset) != 0) { fprintf(stderr, "%s: can't read '%s': %s\n", prog, file_name, strerror(errno)); return 1; } if (write_offset(offset_file, inode, offset) != 0) { fprintf(stderr, "%s: can't write offset file: %s\n", prog, strerror(errno)); return 1; } return 0; }
int main(int argc_m, char *argv_m[]) { int ret,argc=0; char argstr[200]; int total_cases,cur_case=0,fail=0; char **argv=NULL; char openssltestnum[20]; FILE *arg_fp; if(openssl_init()) { return 1; } if(argc_m > 1) arg_fp = fopen(argv_m[1],"r+"); else return 1; // filename needed as argument. if(!arg_fp) { return 1; } while(!feof(arg_fp)&&!fail) { memset(argstr,0,200); fgets(argstr, 200, arg_fp); strip(argstr); argv = create_params(argstr,&argc); strcpy(openssltestnum,argv[1]); if(!strcmp(argv[2],"test_log")) { print_logs(argc,argv); } else if(!strcmp(argv[2],"compare")) { ret = compare_files(argv[3],argv[4]); if(ret) { testResultXml(openssltestnum, ret); fail=1; } } else if(!strcmp(argv[2],"append")) { ret = append(argv[3],argv[4],argv[5]); if(ret) { testResultXml(openssltestnum, ret); fail=1; } } else if(!strcmp(argv[2],"delete")) { delete_file(argv[3]); } else { ret = openssl_main(argc-2,argv+2); if(ret) { testResultXml(openssltestnum, ret); fail=1; } } //delete_params(argv,argc); }//while if(!fail&&!ret) testResultXml(openssltestnum, fail); fclose(arg_fp); openssl_deinit(); return ret; }