This patch fixes collisions between locally defined functions and glibc's fexecve() and getline() functions. Upstream-Status: Inappropriate [Other] Upstream no longer maintains a GPL version of this utility. Signed-off-by: Scott Garman Index: cdrtools-2.01/include/schily.h =================================================================== --- cdrtools-2.01.orig/include/schily.h 2009-06-18 11:30:45.000000000 +0100 +++ cdrtools-2.01/include/schily.h 2009-06-18 11:31:22.000000000 +0100 @@ -108,7 +108,7 @@ /* 6th arg not const, fexecv forces av[ac] = NULL */ extern int fexecv __PR((const char *, FILE *, FILE *, FILE *, int, char **)); -extern int fexecve __PR((const char *, FILE *, FILE *, FILE *, +extern int fexecve_schily __PR((const char *, FILE *, FILE *, FILE *, char * const *, char * const *)); extern int fspawnv __PR((FILE *, FILE *, FILE *, int, char * const *)); extern int fspawnl __PR((FILE *, FILE *, FILE *, @@ -187,7 +187,7 @@ extern char *findbytes __PR((const void *, int, char)); extern int findline __PR((const char *, char, const char *, int, char **, int)); -extern int getline __PR((char *, int)); +extern int getline_schily __PR((char *, int)); extern int getstr __PR((char *, int)); extern int breakline __PR((char *, char, char **, int)); extern int getallargs __PR((int *, char * const**, const char *, ...)); Index: cdrtools-2.01/libscg/scsitransp.c =================================================================== --- cdrtools-2.01.orig/libscg/scsitransp.c 2009-06-18 11:33:57.000000000 +0100 +++ cdrtools-2.01/libscg/scsitransp.c 2009-06-18 11:34:24.000000000 +0100 @@ -323,7 +323,7 @@ js_printf("%s", msg); flush(); - if (getline(okbuf, sizeof (okbuf)) == EOF) + if (getline_schily(okbuf, sizeof (okbuf)) == EOF) exit(EX_BAD); if (streql(okbuf, "y") || streql(okbuf, "yes") || streql(okbuf, "Y") || streql(okbuf, "YES")) Index: cdrtools-2.01/libschily/fexec.c =================================================================== --- cdrtools-2.01.orig/libschily/fexec.c 2009-06-18 11:29:29.000000000 +0100 +++ cdrtools-2.01/libschily/fexec.c 2009-06-18 11:30:36.000000000 +0100 @@ -159,7 +159,7 @@ } while (p != NULL); va_end(args); - ret = fexecve(name, in, out, err, av, env); + ret = fexecve_schily(name, in, out, err, av, env); if (av != xav) free(av); return (ret); @@ -173,11 +173,11 @@ char *av[]; { av[ac] = NULL; /* force list to be null terminated */ - return (fexecve(name, in, out, err, av, environ)); + return (fexecve_schily(name, in, out, err, av, environ)); } EXPORT int -fexecve(name, in, out, err, av, env) +fexecve_schily(name, in, out, err, av, env) const char *name; FILE *in, *out, *err; char * const av[], * const env[]; Index: cdrtools-2.01/libschily/stdio/fgetline.c =================================================================== --- cdrtools-2.01.orig/libschily/stdio/fgetline.c 2009-06-18 11:28:14.000000000 +0100 +++ cdrtools-2.01/libschily/stdio/fgetline.c 2009-06-18 11:28:55.000000000 +0100 @@ -64,7 +64,7 @@ } EXPORT int -getline(buf, len) +getline_schily(buf, len) char *buf; int len; { Index: cdrtools-2.01/readcd/io.c =================================================================== --- cdrtools-2.01.orig/readcd/io.c 2009-06-18 11:33:57.000000000 +0100 +++ cdrtools-2.01/readcd/io.c 2009-06-18 11:34:38.000000000 +0100 @@ -138,7 +138,7 @@ (*prt)(s, *lp, mini, maxi, dp); flush(); line[0] = '\0'; - if (getline(line, 80) == EOF) + if (getline_schily(line, 80) == EOF) exit(EX_BAD); linep = skipwhite(line); @@ -205,7 +205,7 @@ printf("%r", form, args); va_end(args); flush(); - if (getline(okbuf, sizeof(okbuf)) == EOF) + if (getline_schily(okbuf, sizeof(okbuf)) == EOF) exit(EX_BAD); if (okbuf[0] == '?') { printf("Enter 'y', 'Y', 'yes' or 'YES' if you agree with the previous asked question.\n"); Index: cdrtools-2.01/readcd/readcd.c =================================================================== --- cdrtools-2.01.orig/readcd/readcd.c 2009-06-18 11:33:58.000000000 +0100 +++ cdrtools-2.01/readcd/readcd.c 2009-06-18 11:35:03.000000000 +0100 @@ -1651,7 +1651,7 @@ error("Copy from SCSI (%d,%d,%d) disk to file\n", scg_scsibus(scgp), scg_target(scgp), scg_lun(scgp)); error("Enter filename [%s]: ", defname); flush(); - (void) getline(filename, sizeof (filename)); + (void) getline_schily(filename, sizeof (filename)); } if (askrange) { @@ -1820,7 +1820,7 @@ error("Copy from file to SCSI (%d,%d,%d) disk\n", scg_scsibus(scgp), scg_target(scgp), scg_lun(scgp)); error("Enter filename [%s]: ", defname); flush(); - (void) getline(filename, sizeof (filename)); + (void) getline_schily(filename, sizeof (filename)); error("Notice: reading from file always starts at file offset 0.\n"); getlong("Enter starting sector for copy:", &addr, 0L, end-1); Index: cdrtools-2.01/scgcheck/dmaresid.c =================================================================== --- cdrtools-2.01.orig/scgcheck/dmaresid.c 2009-06-18 11:33:59.000000000 +0100 +++ cdrtools-2.01/scgcheck/dmaresid.c 2009-06-18 11:35:43.000000000 +0100 @@ -64,7 +64,7 @@ printf("Ready to start test for working DMA residual count? Enter to continue: "); fprintf(logfile, "**********> Testing for working DMA residual count.\n"); flushit(); - (void) getline(abuf, sizeof (abuf)); + (void) getline_schily(abuf, sizeof (abuf)); printf("**********> Testing for working DMA residual count == 0.\n"); fprintf(logfile, "**********> Testing for working DMA residual count == 0.\n"); @@ -95,7 +95,7 @@ printf("Ready to start test for working DMA residual count == DMA count? Enter to continue: "); fprintf(logfile, "**********> Testing for working DMA residual count == DMA count.\n"); flushit(); - (void) getline(abuf, sizeof (abuf)); + (void) getline_schily(abuf, sizeof (abuf)); passed = TRUE; dmacnt = cnt; ret = xtinquiry(scgp, 0, dmacnt); @@ -130,7 +130,7 @@ printf("Ready to start test for working DMA residual count == 1? Enter to continue: "); fprintf(logfile, "**********> Testing for working DMA residual count == 1.\n"); flushit(); - (void) getline(abuf, sizeof (abuf)); + (void) getline_schily(abuf, sizeof (abuf)); passed = TRUE; dmacnt = cnt+1; ret = xtinquiry(scgp, cnt, dmacnt); Index: cdrtools-2.01/scgcheck/scgcheck.c =================================================================== --- cdrtools-2.01.orig/scgcheck/scgcheck.c 2009-06-18 11:33:59.000000000 +0100 +++ cdrtools-2.01/scgcheck/scgcheck.c 2009-06-18 11:35:31.000000000 +0100 @@ -189,7 +189,7 @@ break; error("Enter SCSI device name for bus scanning [%s]: ", device); flushit(); - (void) getline(device, sizeof (device)); + (void) getline_schily(device, sizeof (device)); if (device[0] == '\0') strcpy(device, "0,6,0"); @@ -227,7 +227,7 @@ do { error("Enter SCSI device name [%s]: ", device); flushit(); - (void) getline(device, sizeof (device)); + (void) getline_schily(device, sizeof (device)); if (device[0] == '\0') strcpy(device, "0,6,0"); @@ -256,7 +256,7 @@ printf("Ready to start test for second SCSI open? Enter to continue: "); flushit(); - (void) getline(abuf, sizeof (abuf)); + (void) getline_schily(abuf, sizeof (abuf)); #define CHECK_SECOND_OPEN #ifdef CHECK_SECOND_OPEN if (!streql(abuf, "n")) { @@ -344,7 +344,7 @@ printf("Ready to start test for succeeded command? Enter to continue: "); flushit(); - (void) getline(abuf, sizeof (abuf)); + (void) getline_schily(abuf, sizeof (abuf)); scgp->verbose++; ret = inquiry(scgp, buf, sizeof (struct scsi_inquiry)); scg_vsetup(scgp); Index: cdrtools-2.01/scgcheck/sense.c =================================================================== --- cdrtools-2.01.orig/scgcheck/sense.c 2009-06-18 11:33:58.000000000 +0100 +++ cdrtools-2.01/scgcheck/sense.c 2009-06-18 11:35:54.000000000 +0100 @@ -66,7 +66,7 @@ printf("Ready to start test for failing command? Enter to continue: "); fprintf(logfile, "**********> Testing for failed SCSI command.\n"); flushit(); - (void)getline(abuf, sizeof(abuf)); + (void)getline_schily(abuf, sizeof(abuf)); /* scgp->verbose++;*/ fillbytes(buf, sizeof(struct scsi_inquiry), '\0'); fillbytes((caddr_t)scgp->scmd, sizeof(*scgp->scmd), '\0'); @@ -82,13 +82,13 @@ printf("the test utility. Otherwise remove any medium from the drive.\n"); printf("Ready to start test for failing command? Enter to continue: "); flushit(); - (void)getline(abuf, sizeof(abuf)); + (void)getline_schily(abuf, sizeof(abuf)); ret = test_unit_ready(scgp); if (ret >= 0 || !scg_cmd_err(scgp)) { printf("Test Unit Ready did not fail.\n"); printf("Ready to eject tray? Enter to continue: "); flushit(); - (void)getline(abuf, sizeof(abuf)); + (void)getline_schily(abuf, sizeof(abuf)); scsi_unload(scgp, (cdr_t *)0); ret = test_unit_ready(scgp); } @@ -127,7 +127,7 @@ printf("Ready to start test for sense data count? Enter to continue: "); fprintf(logfile, "**********> Testing for SCSI sense data count.\n"); flushit(); - (void)getline(abuf, sizeof(abuf)); + (void)getline_schily(abuf, sizeof(abuf)); printf("Testing if at least CCS_SENSE_LEN (%d) is supported...\n", CCS_SENSE_LEN); fprintf(logfile, "**********> Testing if at least CCS_SENSE_LEN (%d) is supported...\n", CCS_SENSE_LEN); ret = sensecount(scgp, CCS_SENSE_LEN);