{"id":"lyuvml","deleted":false,"future_paste":false,"expired":false,"language":"c","created_at":"2019-07-09 08:57:00","expires_at":null,"content":"\/*\r\n    Gets previews of PDF Documents\r\n*\/\r\nvoid getPDFPreview(char *filepath, int maxy, int maxx)\r\n{\r\n    char imgout[] = \"\/tmp\/prev.jpg\";\r\n    pid_t pid;\r\n    pid = fork();\r\n\r\n    struct sigaction act;\r\n    sigemptyset(&act.sa_mask);\r\n    act.sa_flags = 0;\r\n    act.sa_handler = cb_sig;\r\n\r\n    if(pid == 0)\r\n    {\r\n        execlp(\"pdftoppm\",\"pdftoppm\",\"-l\",\"1\",\"-jpeg\",filepath,\"-singlefile\", \"\/tmp\/prev\", (char *)NULL);\r\n        exit(1);\r\n    }\r\n    else\r\n    {\r\n        \/\/int status;\r\n        \/\/waitpid(pid, &status, 0);\r\n        if (ERR ==  wgetch(current_win))\r\n        {\r\n            printf(\"wgetch interrupted by signal\\n\");\r\n        }\r\n        else\r\n        {\r\n                raise(SIGUSR1);\r\n        }\r\n\r\n        if (raised_signal == SIGUSR1)\r\n        {\r\n                kill(pid, SIGINT);\r\n        }\r\n        else if (raised_signal == SIGCHLD)\r\n        {\r\n                getImgPreview(imgout, maxy, maxx);\r\n                clearFlagImg = 1;\r\n        }\r\n    }\r\n}"}