|
@@ -0,0 +1,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.
|