summaryrefslogtreecommitdiff
path: root/tools/mkimage/patches/100-portability.patch
blob: 052a584cbb1156b6e20d1e4330145be75641b90e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
--- 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>