#include #include #include #define BUFSIZE 128 int main() { int i; unsigned int val; int slpsec = 3600; char buf[BUFSIZE+1]; FILE *f = fopen("/etc/sshsleeper.conf", "r"); if (f) { while (fgets(buf, BUFSIZE, f)) { // check if we are facing a long string if (strlen(buf) >= BUFSIZE) { while ((fgets(buf, BUFSIZE, f))&&(strlen(buf) >= BUFSIZE)); } for (i = 0; buf[i] == ' '; i++); if (strncmp(buf, "duration", 8)) continue; for (i += 8; buf[i] == ' '; i++); if (sscanf(buf + i, "%u", &val) != 1) continue; if (val > 0) { slpsec = val; break; } } fclose(f); } printf("Sleeping for %u seconds\n", slpsec); sleep(slpsec); }