X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/f52d66ff00b24111f87c274d3d7085ef2e1d27b1..658e7e8470b6d851fb4e119dd7de7a7952e57211:/tools/include/getline.h diff --git a/tools/include/getline.h b/tools/include/getline.h index 219be7520..02df6c2f7 100644 --- a/tools/include/getline.h +++ b/tools/include/getline.h @@ -27,12 +27,12 @@ * SUCH DAMAGE. */ -#ifndef __linux__ #include #include #include #include +#if !defined(__linux__) && !(defined(__APPLE__) && __DARWIN_C_LEVEL >= 200809L) /* * Emulate glibc getline() via BSD fgetln(). * Note that outsize is not changed unless memory is allocated. @@ -40,10 +40,16 @@ static inline ssize_t getline(char **outbuf, size_t *outsize, FILE *fp) { - char *buf; size_t len; +#ifndef __CYGWIN__ + char *buf; buf = fgetln(fp, &len); +#else + char buf[512]; + fgets(buf, sizeof(buf), fp); + len = strlen(buf); +#endif if (buf == NULL) return (-1);