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.
