Package: netpbm-free Version: 2:10.0-12 Severity: important Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu ubuntu-patch karmic
The getline function used in a couple of places in netpbm-free is also defined by POSIX:2008, and so netpbm-free fails to build with newer versions of (e)glibc. Here's a patch to rename it. * Rename getline functions to get_line to avoid conflict with POSIX:2008. --- netpbm-free-10.0.orig/ppm/xvminitoppm.c +++ netpbm-free-10.0/ppm/xvminitoppm.c @@ -14,7 +14,7 @@ #include "ppm.h" #define BUFSIZE 256 -static void getline ARGS((FILE *fp, char *buf)); +static void get_line ARGS((FILE *fp, char *buf)); int main(argc, argv) @@ -48,18 +48,18 @@ i++; } - getline(ifp, buf); + get_line(ifp, buf); if( strncmp(buf, "P7 332", 6) != 0 ) pm_error("bad magic number - not a XV thumbnail picture"); while(1) { - getline(ifp, buf); + get_line(ifp, buf); if( strncmp(buf, "#END_OF_COMMENTS", 16)==0 ) break; if( strncmp(buf, "#BUILTIN", 8)==0 ) pm_error("cannot convert builtin XV thumbnail pictures"); } - getline(ifp, buf); + get_line(ifp, buf); if( sscanf(buf, "%d %d %d", &cols, &rows, &maxval) != 3 ) pm_error("error parsing dimension info"); if( maxval != 255 ) @@ -85,7 +85,7 @@ static void -getline(fp, buf) +get_line(fp, buf) FILE *fp; char *buf; { --- netpbm-free-10.0.orig/ppm/xpmtoppm.c +++ netpbm-free-10.0/ppm/xpmtoppm.c @@ -114,7 +114,7 @@ static void -getline(char * const line, int const size, FILE * const stream) { +get_line(char * const line, int const size, FILE * const stream) { /*---------------------------------------------------------------------------- Read the next line from the input file 'stream', through the one-line buffer lastInputLine[]. @@ -130,7 +130,7 @@ Exit program if the line doesn't fit in the buffer. -----------------------------------------------------------------------------*/ if (size > MAX_LINE+1) - pm_error("INTERNAL ERROR: getline() received 'size' parameter " + pm_error("INTERNAL ERROR: get_line() received 'size' parameter " "which is out of bounds"); if (backup) { @@ -346,7 +346,7 @@ int * const transparentP) { /*---------------------------------------------------------------------------- Read the header of the XPM file on stream 'stream'. Assume the - getline() stream is presently positioned to the beginning of the + get_line() stream is presently positioned to the beginning of the file and it is a Version 3 XPM file. Leave the stream positioned after the header. @@ -377,25 +377,25 @@ *widthP = *heightP = *ncolorsP = *chars_per_pixelP = -1; /* Read the XPM signature comment */ - getline(line, sizeof(line), stream); + get_line(line, sizeof(line), stream); if (strncmp(line, xpm3_signature, strlen(xpm3_signature)) != 0) pm_error("Apparent XPM 3 file does not start with '/* XPM */'. " "First line is '%s'", xpm3_signature); /* Read the assignment line */ - getline(line, sizeof(line), stream); + get_line(line, sizeof(line), stream); if (strncmp(line, "static char", 11) != 0) pm_error("Cannot find data structure declaration. Expected a " "line starting with 'static char', but found the line " "'%s'.", line); /* Read the hints line */ - getline(line, sizeof(line), stream); + get_line(line, sizeof(line), stream); /* skip the comment line if any */ if (!strncmp(line, "/*", 2)) { while (!strstr(line, "*/")) - getline(line, sizeof(line), stream); - getline(line, sizeof(line), stream); + get_line(line, sizeof(line), stream); + get_line(line, sizeof(line), stream); } if (sscanf(line, "\"%d %d %d %d\",", widthP, heightP, ncolorsP, chars_per_pixelP) != 4) @@ -427,10 +427,10 @@ *transparentP = -1; /* initial value */ for (seqNum = 0; seqNum < *ncolorsP; seqNum++) { - getline(line, sizeof(line), stream); + get_line(line, sizeof(line), stream); /* skip the comment line if any */ if (!strncmp(line, "/*", 2)) - getline(line, sizeof(line), stream); + get_line(line, sizeof(line), stream); interpretXpm3ColorTableLine(line, seqNum, *chars_per_pixelP, *colorsP, *ptabP, transparentP); @@ -445,7 +445,7 @@ pixel ** const colorsP, int ** const ptabP) { /*---------------------------------------------------------------------------- Read the header of the XPM file on stream 'stream'. Assume the - getline() stream is presently positioned to the beginning of the + get_line() stream is presently positioned to the beginning of the file and it is a Version 1 XPM file. Leave the stream positioned after the header. @@ -464,7 +464,7 @@ /* Read the initial defines. */ processedStaticChar = FALSE; while (!processedStaticChar) { - getline(line, sizeof(line), stream); + get_line(line, sizeof(line), stream); if (sscanf(line, "#define %s %d", str1, &v) == 2) { char *t1; @@ -512,7 +512,7 @@ /* If there's a monochrome color table, skip it. */ if (!strncmp(t1, "mono", 4)) { for (;;) { - getline(line, sizeof(line), stream); + get_line(line, sizeof(line), stream); if (!strncmp(line, "static char", 11)) break; } @@ -533,7 +533,7 @@ /* Read color table. */ for (i = 0; i < *ncolorsP; ++i) { - getline(line, sizeof(line), stream); + get_line(line, sizeof(line), stream); if ((t1 = strchr(line, '"')) == NULL) pm_error("D error scanning color table"); @@ -569,7 +569,7 @@ "static char ..."). */ for (;;) { - getline(line, sizeof(line), stream); + get_line(line, sizeof(line), stream); if (strncmp(line, "static char", 11) == 0) break; } @@ -660,7 +660,7 @@ backup = FALSE; /* Read the header line */ - getline(line, sizeof(line), stream); + get_line(line, sizeof(line), stream); backup = TRUE; /* back up so next read reads this line again */ rc = sscanf(line, "/* %s */", str1); @@ -681,7 +681,7 @@ pm_error("Could not get %d bytes of memory for image", totalpixels); cursor = *dataP; maxcursor = *dataP + totalpixels - 1; - getline(line, sizeof(line), stream); + get_line(line, sizeof(line), stream); /* read next line (first line may not always start with comment) */ while (cursor <= maxcursor) { if (strncmp(line, "/*", 2) == 0) { @@ -691,7 +691,7 @@ ncolors, ptab, &cursor, maxcursor); } if (cursor <= maxcursor) - getline(line, sizeof(line), stream); + get_line(line, sizeof(line), stream); } if (ptab) free(ptab); } Thanks, -- Colin Watson [cjwat...@ubuntu.com] -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org