/* * Open a file and read it, assuming it contains a single long value. * Return 0 if we read a valid value, otherwise -1. */ #include #include #include "kinit.h" int getintfile(const char *path, long *val) { char buffer[64]; char *ep; FILE *f; f = fopen(path, "r"); if (!f) return -1; ep = buffer + fread(buffer, 1, sizeof buffer - 1, f); fclose(f); *ep = '\0'; *val = strtol(buffer, &ep, 0); if (*ep && *ep != '\n') return -1; else return 0; }