diff options
Diffstat (limited to 'tools/ext2fs/patches/01-remove_getline.patch')
-rw-r--r-- | tools/ext2fs/patches/01-remove_getline.patch | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/tools/ext2fs/patches/01-remove_getline.patch b/tools/ext2fs/patches/01-remove_getline.patch new file mode 100644 index 0000000000..d09404c0c5 --- /dev/null +++ b/tools/ext2fs/patches/01-remove_getline.patch @@ -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. |