openwrt-owl/tools/mkimage/patches/100-portability.patch

47 lines
794 B
Diff

--- a/tools/kwbimage.c
+++ b/tools/kwbimage.c
@@ -206,6 +206,30 @@ INVL_DATA:
exit (EXIT_FAILURE);
}
+#ifndef __GLIBC__
+#ifndef __FreeBSD__
+static ssize_t
+getline(char **line, size_t *len, FILE *fd)
+{
+ char *tmp;
+ int tmplen;
+
+ tmp = fgetln(fd, &tmplen);
+ if (!tmp)
+ return -1;
+
+ if (!*line || tmplen > *len) {
+ *len = tmplen + 1;
+ *line = realloc(*line, *len);
+ }
+
+ strncpy(*line, tmp, tmplen);
+ line[tmplen] = 0;
+ return tmplen;
+}
+#endif
+#endif
+
/*
* this function sets the kwbimage header by-
* 1. Abstracting input command line arguments data
--- a/include/image.h
+++ b/include/image.h
@@ -50,6 +50,10 @@
#endif /* USE_HOSTCC */
+#ifndef ulong
+#define ulong unsigned long
+#endif
+
#if defined(CONFIG_FIT)
#include <fdt.h>
#include <libfdt.h>