2011-04-25 19:48:47 +00:00
|
|
|
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 <scott.a.garman@intel.com>
|
|
|
|
|
2009-06-18 12:21:05 +00:00
|
|
|
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 <CR> 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 <CR> 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 <CR> 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 <CR> 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 <CR> 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 <CR> 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 <CR> 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 <CR> 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 <CR> 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);
|