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
47
48
49
50
51
52
|
diff -urN genext2fs-1.4rc1/genext2fs.c genext2fs-1.4rc1.new/genext2fs.c
--- genext2fs-1.4rc1/genext2fs.c 2005-05-17 18:29:10.000000000 +0200
+++ genext2fs-1.4rc1.new/genext2fs.c 2007-01-03 15:21:16.000000000 +0100
@@ -243,48 +243,6 @@
}
#endif // defined SNPRINTF_STORAGE_CLASS
-#if defined(__APPLE__) && defined(__GNUC__)
-// getline() replacement for Darwin, might work on other systems
-// written according to the getline man page included with Debian Linux
-ssize_t
-getline(char **lineptr, size_t *n, FILE *stream)
-{
- char *buf = *lineptr; // could be NULL, in which case we allocate
- size_t bufsize = *n; // current buffer size, adjust if we (re)alloc
-
- char *temp = NULL;
- size_t tempsize = 0;
-
- // temp is not a C string and we don't own the buffer it points into
- // must copy into a malloced buffer and NULL terminate
- temp = fgetln(stream, &tempsize);
- if(!temp) return -1;
-
- tempsize++; // adjust for NULL terminator
- if(buf) {
- // check if we have to reallocate
- if(bufsize < tempsize) {
- bufsize = tempsize;
- buf = (char*)realloc(buf, tempsize);
- if(!buf) return -1;
- }
- } else {
- bufsize = tempsize;
- buf = (char*)malloc(bufsize);
- if(!buf) return -1;
- }
-
- memcpy(buf, temp, tempsize-1);
- buf[tempsize-1] = '\0';
-
- // give new pointer and size back, nondestructive if we didn't change anything..
- *n = bufsize;
- *lineptr = buf;
-
- return (ssize_t)(tempsize-1); // don't include the NULL terminator, per getline man page
-}
-#endif
-
// Convert a numerical string to a float, and multiply the result by an
// SI-style multiplier if provided; supported multipliers are Ki, Mi, Gi, k, M
// and G.
|