SOURCES: cdrtools-scan.patch (NEW), cdrtools-nodebug.patch (NEW), ...

arekm arekm at pld-linux.org
Sat Oct 1 14:46:37 CEST 2005


Author: arekm                        Date: Sat Oct  1 12:46:36 2005 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- new from fc

---- Files affected:
SOURCES:
   cdrtools-scan.patch (NONE -> 1.1)  (NEW), cdrtools-nodebug.patch (NONE -> 1.1)  (NEW), cdrtools-mkisofs-padsize-123548.patch (NONE -> 1.1)  (NEW), cdrtools-mkisofs-iconv-10.patch (NONE -> 1.1)  (NEW), cdrtools-dvd-fix.patch (NONE -> 1.1)  (NEW), cdrtools-dvd-2.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/cdrtools-scan.patch
diff -u /dev/null SOURCES/cdrtools-scan.patch:1.1
--- /dev/null	Sat Oct  1 14:46:36 2005
+++ SOURCES/cdrtools-scan.patch	Sat Oct  1 14:46:31 2005
@@ -0,0 +1,429 @@
+--- cdrtools-2.01/libscg/scsi-linux-sg.c.scan	2004-09-22 12:57:24.313986568 +0200
++++ cdrtools-2.01/libscg/scsi-linux-sg.c	2004-09-22 12:57:24.327984440 +0200
+@@ -287,6 +287,8 @@
+ 	return (0);
+ }
+ 
++#include <glob.h>
++
+ LOCAL int
+ scgo_open(scgp, device)
+ 	SCSI	*scgp;
+@@ -301,8 +303,9 @@
+ 	register int	t;
+ 	register int	l;
+ 	register int	nopen = 0;
+-	char		devname[64];
+-		BOOL	use_ata = FALSE;
++	char		*devname;
++	BOOL	use_ata = FALSE;
++	glob_t globbuf;
+ 
+ 	if (busno >= MAX_SCG || tgt >= MAX_TGT || tlun >= MAX_LUN) {
+ 		errno = EINVAL;
+@@ -383,103 +386,91 @@
+ 	 * look silly but there may be users that did boot from a SCSI hdd
+ 	 * and connected 4 CD/DVD writers to both IDE cables in the PC.
+ 	 */
+-	if (use_ata) for (i = 0; i <= 25; i++) {
+-		js_snprintf(devname, sizeof (devname), "/dev/hd%c", i+'a');
+-					/* O_NONBLOCK is dangerous */
+-		f = open(devname, O_RDWR | O_NONBLOCK);
+-		if (f < 0) {
+-			/*
+-			 * Set up error string but let us clear it later
+-			 * if at least one open succeeded.
+-			 */
+-			if (scgp->errstr)
+-				js_snprintf(scgp->errstr, SCSI_ERRSTR_SIZE,
+-							"Cannot open '/dev/hd*'");
+-			if (errno != ENOENT && errno != ENXIO && errno != ENODEV) {
++	if (use_ata) {
++		glob("/dev/hd[a-z]", GLOB_NOSORT, NULL, &globbuf);
++		
++		for (i = 0; globbuf.gl_pathv && globbuf.gl_pathv[i] != NULL ; i++) {
++			devname = globbuf.gl_pathv[i];
++			f = open(devname, O_RDWR | O_NONBLOCK);
++			if (f < 0) {
++				/*
++				 * Set up error string but let us clear it later
++				 * if at least one open succeeded.
++				 */
+ 				if (scgp->errstr)
+ 					js_snprintf(scgp->errstr, SCSI_ERRSTR_SIZE,
+-							"Cannot open '%s'", devname);
+-				return (0);
+-			}
+-		} else {
+-			int	iparm;
+-
+-			if (ioctl(f, SG_GET_TIMEOUT, &iparm) < 0) {
+-				if (scgp->errstr)
+-					js_snprintf(scgp->errstr, SCSI_ERRSTR_SIZE,
+-							"SCSI unsupported with '/dev/hd*'");
+-				close(f);
+-				continue;
++						    "Cannot open '/dev/hd*'");
++				if (errno != ENOENT && errno != ENXIO && errno != ENODEV && errno != EACCES) {
++					if (scgp->errstr)
++						js_snprintf(scgp->errstr, SCSI_ERRSTR_SIZE,
++							    "Cannot open '%s'", devname);
++					globfree(&globbuf);
++					return (0);
++				}
++			} else {
++				int	iparm;
++				
++				if (ioctl(f, SG_GET_TIMEOUT, &iparm) < 0) {
++					if (scgp->errstr)
++						js_snprintf(scgp->errstr, SCSI_ERRSTR_SIZE,
++							    "SCSI unsupported with '/dev/hd*'");
++					close(f);
++					continue;
++				}
++				sg_clearnblock(f);	/* Be very proper about this */
++				if (sg_setup(scgp, f, busno, tgt, tlun, devname[7]-'a')) {
++					globfree(&globbuf);
++					return (++nopen);
++				}
++				if (busno < 0 && tgt < 0 && tlun < 0)
++					nopen++;
+ 			}
+-			sg_clearnblock(f);	/* Be very proper about this */
+-			if (sg_setup(scgp, f, busno, tgt, tlun, i))
+-				return (++nopen);
+-			if (busno < 0 && tgt < 0 && tlun < 0)
+-				nopen++;
+ 		}
++		globfree(&globbuf);
+ 	}
+ 	if (use_ata && nopen == 0)
+ 		return (0);
+ 	if (nopen > 0 && scgp->errstr)
+ 		scgp->errstr[0] = '\0';
+ 
+-	if (nopen == 0) for (i = 0; i < 32; i++) {
+-		js_snprintf(devname, sizeof (devname), "/dev/sg%d", i);
+-					/* O_NONBLOCK is dangerous */
+-		f = open(devname, O_RDWR | O_NONBLOCK);
+-		if (f < 0) {
+-			/*
+-			 * Set up error string but let us clear it later
+-			 * if at least one open succeeded.
+-			 */
+-			if (scgp->errstr)
+-				js_snprintf(scgp->errstr, SCSI_ERRSTR_SIZE,
+-							"Cannot open '/dev/sg*'");
+-			if (errno != ENOENT && errno != ENXIO && errno != ENODEV) {
++	if (nopen == 0) {
++		glob("/dev/scd[0-9]", GLOB_NOSORT, NULL, &globbuf);
++		glob("/dev/scd[0-9][0-9]", GLOB_NOSORT|GLOB_APPEND, NULL, &globbuf);
++		/*glob("/dev/sg[a-z]", GLOB_NOSORT|GLOB_APPEND, NULL, &globbuf);*/
++		
++		for (i = 0; globbuf.gl_pathv && globbuf.gl_pathv[i] != NULL ; i++) {
++			devname = globbuf.gl_pathv[i];
++
++			f = open(devname, O_RDWR | O_NONBLOCK);
++			if (f < 0) {
++				/*
++				 * Set up error string but let us clear it later
++				 * if at least one open succeeded.
++				 */
+ 				if (scgp->errstr)
+ 					js_snprintf(scgp->errstr, SCSI_ERRSTR_SIZE,
+-							"Cannot open '%s'", devname);
+-				return (0);
++						    "Cannot open '/dev/scd*'");
++				if (errno != ENOENT && errno != ENXIO && errno != ENODEV) {
++					if (scgp->errstr)
++						js_snprintf(scgp->errstr, SCSI_ERRSTR_SIZE,
++							    "Cannot open '%s'", devname);
++					globfree(&globbuf);
++					return (0);
++				}
++			} else {
++				sg_clearnblock(f);	/* Be very proper about this */
++				if (sg_setup(scgp, f, busno, tgt, tlun, -1)) {
++					globfree(&globbuf);
++					return (++nopen);
++				}
++				if (busno < 0 && tgt < 0 && tlun < 0)
++					nopen++;
+ 			}
+-		} else {
+-			sg_clearnblock(f);	/* Be very proper about this */
+-			if (sg_setup(scgp, f, busno, tgt, tlun, -1))
+-				return (++nopen);
+-			if (busno < 0 && tgt < 0 && tlun < 0)
+-				nopen++;
+ 		}
+ 	}
+ 	if (nopen > 0 && scgp->errstr)
+ 		scgp->errstr[0] = '\0';
+ 
+-	if (nopen == 0) for (i = 0; i <= 25; i++) {
+-		js_snprintf(devname, sizeof (devname), "/dev/sg%c", i+'a');
+-					/* O_NONBLOCK is dangerous */
+-		f = open(devname, O_RDWR | O_NONBLOCK);
+-		if (f < 0) {
+-			/*
+-			 * Set up error string but let us clear it later
+-			 * if at least one open succeeded.
+-			 */
+-			if (scgp->errstr)
+-				js_snprintf(scgp->errstr, SCSI_ERRSTR_SIZE,
+-							"Cannot open '/dev/sg*'");
+-			if (errno != ENOENT && errno != ENXIO && errno != ENODEV) {
+-				if (scgp->errstr)
+-					js_snprintf(scgp->errstr, SCSI_ERRSTR_SIZE,
+-							"Cannot open '%s'", devname);
+-				return (0);
+-			}
+-		} else {
+-			sg_clearnblock(f);	/* Be very proper about this */
+-			if (sg_setup(scgp, f, busno, tgt, tlun, -1))
+-				return (++nopen);
+-			if (busno < 0 && tgt < 0 && tlun < 0)
+-				nopen++;
+-		}
+-	}
+-	if (nopen > 0 && scgp->errstr)
+-		scgp->errstr[0] = '\0';
+ 
+ openbydev:
+ 	if (device != NULL && *device != '\0') {
+--- cdrtools-2.01/libscg/scsi-linux-ata.c.scan	2004-06-12 12:48:12.000000000 +0200
++++ cdrtools-2.01/libscg/scsi-linux-ata.c	2004-09-22 12:57:24.330983984 +0200
+@@ -267,7 +267,7 @@
+ 			starget,
+ 			slun;
+ 
+-		f = open(device, O_RDONLY | O_NONBLOCK);
++		f = open(device, O_RDWR | O_NONBLOCK);
+ 
+ 		if (f < 0) {
+ 			if (scgp->errstr)
+@@ -283,6 +283,9 @@
+ 	return (nopen);
+ }
+ 
++#include <glob.h>
++
++
+ LOCAL int
+ scan_internal(scgp, nopen)
+ 	SCSI	*scgp;
+@@ -293,118 +296,62 @@
+ 	int	schilly_bus,
+ 		target,
+ 		lun;
+-	char	device[128];
++	char	*device;
++        glob_t globbuf;
++
+ 	/*
+ 	 * try always with devfs
+ 	 * unfortunatelly the solution with test of existing
+ 	 * of '/dev/.devfsd' don't work, because it root.root 700
+ 	 * and i don't like run suid root
+ 	 */
+-	BOOL	DEVFS = TRUE;
++	BOOL	DEVFS = FALSE;
+ 
+-	if (DEVFS) {
+-		for (i = 0; ; i++) {
+-			sprintf(device, "/dev/cdroms/cdrom%i", i);
+-			if ((f = open(device, O_RDONLY | O_NONBLOCK)) < 0) {
+-				if (errno != ENOENT && errno != ENXIO && errno != ENODEV && errno != EACCES) {
+-					if (scgp->debug > 4) {
+-						js_fprintf((FILE *) scgp->errfile,
+-						"try open(%s) return %i, errno %i, cancel\n", device, f, errno);
+-					}
+-					return (-2);
+-				} else if (errno == ENOENT || errno == ENODEV) {
+-					if (scgp->debug > 4) {
+-						js_fprintf((FILE *) scgp->errfile,
+-						"try open(%s) return %i, errno %i\n", device, f, errno);
+-					}
+-					if (0 == i) {
+-						DEVFS = FALSE;
+-						if (scgp->debug > 4) {
+-							js_fprintf((FILE *) scgp->errfile,
+-							"DEVFS not detected, continuing with old dev\n");
+-						}
+-					}
+-					break;
+-				}
++	glob("/dev/cdroms/cdrom*", 
++	     GLOB_NOSORT, 
++	     NULL, &globbuf);
++	glob("/dev/hd[a-z]", 
++	     GLOB_NOSORT|GLOB_APPEND, 
++	     NULL, &globbuf);
++	/*glob("/dev/scd*",  
++	     GLOB_NOSORT|GLOB_APPEND, 
++	     NULL, &globbuf);*/
++
++	for (i = 0; globbuf.gl_pathv && globbuf.gl_pathv[i] != NULL ; i++) {
++		device = globbuf.gl_pathv[i];
++		if ((f = open(device, O_RDWR | O_NONBLOCK)) < 0) {
++			if (errno != ENOENT && errno != ENXIO && errno != ENODEV && errno != EACCES) {
+ 				if (scgp->debug > 4) {
+-					if (errno == EACCES) {
+-						js_fprintf((FILE *) scgp->errfile,
+-						"errno (EACCESS), you don't have the needed rights for %s\n",
+-						device);
+-					}
+ 					js_fprintf((FILE *) scgp->errfile,
+-					"try open(%s) return %i, errno %i, trying next cdrom\n",
+-					device, f, errno);
++						   "try open(%s) return %i, errno %i, cancel\n", device, f, errno);
+ 				}
+-			} else {
+-				if (scgp->debug > 4) {
++				globfree(&globbuf);
++				return (-2);
++			} 
++			if (scgp->debug > 4) {
++				if (errno == EACCES) {
+ 					js_fprintf((FILE *) scgp->errfile,
+-					"try open(%s) return %i errno %i calling sg_mapdev(...)\n",
+-					device, f, errno);
+-				}
+-				if (sg_amapdev(scgp, f, device, &schilly_bus, &target, &lun)) {
+-					(++(*nopen));
+-				} else {
+-					close(f);
++						   "errno (EACCESS), you don't have the needed rights for %s\n",
++						   device);
+ 				}
++				js_fprintf((FILE *) scgp->errfile,
++					   "try open(%s) return %i, errno %i, trying next cdrom\n",
++					   device, f, errno);
+ 			}
+-		}
+-	}
+-	if (!DEVFS) {
+-		/* for /dev/sr0 - /dev/sr? */
+-		for (i = 0; ; i++) {
+-			sprintf(device, "/dev/sr%i", i);
+-			if ((f = open(device, O_RDONLY | O_NONBLOCK)) < 0) {
+-				if (errno != ENOENT && errno != ENXIO && errno != ENODEV && errno != EACCES) {
+-					if (scgp->debug > 4) {
+-						js_fprintf((FILE *) scgp->errfile,
+-						"try open(%s) return %i, errno %i, cancel\n",
+-						device, f, errno);
+-					}
+-					return (-2);
+-				} else if (errno == ENOENT || errno == ENODEV) {
+-					break;
+-				}
+-			} else {
+-				if (sg_amapdev(scgp, f, device, &schilly_bus, &target, &lun)) {
+-					(++(*nopen));
+-				} else {
+-					close(f);
+-				}
++		} else {
++			if (scgp->debug > 4) {
++				js_fprintf((FILE *) scgp->errfile,
++					   "try open(%s) return %i errno %i calling sg_mapdev(...)\n",
++					   device, f, errno);
+ 			}
+-		}
+-
+-		/* for /dev/hda - /dev/hdz */
+-		for (i = 'a'; i <= 'z'; i++) {
+-			sprintf(device, "/dev/hd%c", i);
+-			if ((f = open(device, O_RDONLY | O_NONBLOCK)) < 0) {
+-				if (errno != ENOENT && errno != ENXIO && errno != EACCES) {
+-					if (scgp->debug > 4) {
+-						js_fprintf((FILE *) scgp->errfile,
+-						"try open(%s) return %i, errno %i, cancel\n",
+-						device, f, errno);
+-					}
+-					return (-2);
+-				} else if (errno == ENOENT || errno == ENODEV) {
+-					break;
+-				}
++			if (sg_amapdev(scgp, f, device, &schilly_bus, &target, &lun)) {
++				(++(*nopen));
+ 			} else {
+-				/* ugly hack, make better, when you can. Alex */
+-				if (0 > ioctl(f, CDROM_DRIVE_STATUS, CDSL_CURRENT)) {
+-					if (scgp->debug > 4) {
+-						js_fprintf((FILE *) scgp->errfile,
+-						"%s is not a cdrom, skipping\n",
+-						device);
+-					}
+-					close(f);
+-				} else if (sg_amapdev(scgp, f, device, &schilly_bus, &target, &lun)) {
+-					(++(*nopen));
+-				} else {
+-					close(f);
+-				}
++				close(f);
+ 			}
+ 		}
+ 	}
++	globfree(&globbuf);
+ 	return (0);
+ }
+ 
+--- cdrtools-2.01/libscg/scsi-linux-pg.c.scan	2004-01-15 01:54:36.000000000 +0100
++++ cdrtools-2.01/libscg/scsi-linux-pg.c	2004-09-22 12:59:04.107815600 +0200
+@@ -130,6 +130,8 @@
+ 	return (0);
+ }
+ 
++#include <glob.h>
++
+ LOCAL int
+ scgo_open(scgp, device)
+ 	SCSI	*scgp;
+@@ -146,6 +148,8 @@
+ #endif
+ 	register int	nopen = 0;
+ 	char		devname[32];
++        glob_t globbuf;
++        int i;
+ 
+ 	if (busno >= MAX_SCG || tgt >= MAX_TGT || tlun >= MAX_LUN) {
+ 		errno = EINVAL;
+@@ -217,10 +221,14 @@
+ 		scglocal(scgp)->scgfiles[busno][tgt][tlun] = f;
+ 		return (1);
+ 	} else {
++		const char *dev;
+ 		tlun = 0;
+-		for (tgt = 0; tgt < MAX_TGT; tgt++) {
+-			js_snprintf(devname, sizeof (devname), "/dev/pg%d", tgt);
+-			f = open(devname, O_RDWR | O_NONBLOCK);
++		glob("/dev/pg[0-9]", GLOB_NOSORT, NULL, &globbuf);
++		glob("/dev/pg[0-9][0-9]", GLOB_NOSORT|GLOB_APPEND, NULL, &globbuf);
++		for (i = 0; globbuf.gl_pathv && globbuf.gl_pathv[i] != NULL ; i++) {
++		        dev = globbuf.gl_pathv[i];
++			tgt = atoi(&dev[7]);
++			f = open(dev, O_RDWR | O_NONBLOCK);
+ 			if (f < 0) {
+ 				/*
+ 				 * Set up error string but let us clear it later
+@@ -232,7 +240,8 @@
+ 				if (errno != ENOENT && errno != ENXIO && errno != ENODEV) {
+ 					if (scgp->errstr)
+ 						js_snprintf(scgp->errstr, SCSI_ERRSTR_SIZE,
+-							"Cannot open '%s'", devname);
++							"Cannot open '%s'", dev);
++					globfree(&globbuf);
+ 					return (0);
+ 				}
+ 			} else {
+@@ -240,6 +249,8 @@
+ 				nopen++;
+ 			}
+ 		}
++		globfree(&globbuf);
++
+ 	}
+ 	if (nopen > 0 && scgp->errstr)
+ 		scgp->errstr[0] = '\0';

================================================================
Index: SOURCES/cdrtools-nodebug.patch
diff -u /dev/null SOURCES/cdrtools-nodebug.patch:1.1
--- /dev/null	Sat Oct  1 14:46:36 2005
+++ SOURCES/cdrtools-nodebug.patch	Sat Oct  1 14:46:31 2005
@@ -0,0 +1,15 @@
+--- cdrtools-2.01/cdrecord/drv_jvc.c.nodebug	2004-03-01 10:57:37.000000000 +0100
++++ cdrtools-2.01/cdrecord/drv_jvc.c	2004-09-22 00:52:08.000000000 +0200
+@@ -1286,10 +1286,10 @@
+ 	if (scg_cmd(scgp) < 0)
+ 		return (-1);
+ 
+-/*	if (scgp->verbose) {*/
++	if (scgp->verbose) {
+ 		scg_prbytes("WRa Data", xx, sizeof (xx) - scg_getresid(scgp));
+ 		printf("Buffer cap: %ld\n", a_to_u_3_byte(&xx[1]));
+-/*	}*/
++	}
+ 	return (a_to_u_3_byte(&xx[1]));
+ /*	return (0);*/
+ #endif

================================================================
Index: SOURCES/cdrtools-mkisofs-padsize-123548.patch
diff -u /dev/null SOURCES/cdrtools-mkisofs-padsize-123548.patch:1.1
--- /dev/null	Sat Oct  1 14:46:36 2005
+++ SOURCES/cdrtools-mkisofs-padsize-123548.patch	Sat Oct  1 14:46:31 2005
@@ -0,0 +1,57 @@
+--- cdrtools-2.01/mkisofs/mkisofs.c.sopwith	2005-04-06 13:45:44.374388145 -0400
++++ cdrtools-2.01/mkisofs/mkisofs.c	2005-04-06 13:51:59.163713250 -0400
+@@ -129,7 +129,7 @@
+ int	dirmode_to_use = 0;	/* if non-zero, when rationalizing dir mode */
+ int	new_dir_mode = 0555;
+ int	generate_tables = 0;
+-int	dopad = 1;	/* Now default to do padding */
++int	dopad = 1, padsize=150;	/* Now default to do padding */
+ int	print_size = 0;
+ int	split_output = 0;
+ char	*icharset = NULL;	/* input charset to convert to UNICODE */
+@@ -375,6 +375,7 @@
+ 
+ #define	OPTION_ALLOW_LEADING_DOTS	1070
+ #define	OPTION_PUBLISHER		1071
++#define	OPTION_PAD_SIZE			1072
+ 
+ #ifdef UDF
+ #define	OPTION_UDF			1500
+@@ -563,6 +564,8 @@
+ 	0, NULL, "Pad output to a multiple of 32k (default)", ONE_DASH},
+ 	{{"no-pad", no_argument, NULL, OPTION_NOPAD},
+ 	0, NULL, "Do not pad output to a multiple of 32k", ONE_DASH},
++	{{"pad-size", required_argument, NULL, OPTION_PAD_SIZE},
++	0, "SIZE", "Pad output to a multiple of SIZE kilobytes", ONE_DASH},
+ 	{{"prev-session", required_argument, NULL, 'M'},
+ 	'M', "FILE", "Set path to previous session to merge", ONE_DASH},
+ 	{{"dev", required_argument, NULL, 'M'},
+@@ -1596,6 +1599,9 @@
+ 		case OPTION_NOPAD:
+ 			dopad = 0;
+ 			break;
++		case OPTION_PAD_SIZE:
++			padsize = atoi(optarg);
++			break;
+ 		case OPTION_P_LIST:
+ 			pathnames = optarg;
+ 			break;
+--- cdrtools-2.01/mkisofs/stream.c.sopwith	2005-04-06 13:49:45.432343629 -0400
++++ cdrtools-2.01/mkisofs/stream.c	2005-04-06 13:50:44.995801016 -0400
+@@ -64,6 +64,7 @@
+ {
+ 	int	n;
+ extern	int	dopad;
++extern	int	padsize;
+ 
+ 	stream_extent = last_extent;	/* Start of stream file content */
+ 
+@@ -76,7 +77,7 @@
+ 		n = 50;			/* Make net. size easy to compute */
+ 	}
+ 	if (dopad)
+-		n += 150;		/* Room for final padding */
++		n += padsize;		/* Room for final padding */
+ 	avail_extent -= n;
+ 
+ 	last_extent += avail_extent + stream_pad;

================================================================
Index: SOURCES/cdrtools-mkisofs-iconv-10.patch
diff -u /dev/null SOURCES/cdrtools-mkisofs-iconv-10.patch:1.1
--- /dev/null	Sat Oct  1 14:46:36 2005
+++ SOURCES/cdrtools-mkisofs-iconv-10.patch	Sat Oct  1 14:46:31 2005
@@ -0,0 +1,619 @@
+diff -urN --exclude-from=- cdrtools-2.01/include/unls.h cdrtools-2.01-jh/include/unls.h
+--- cdrtools-2.01/include/unls.h	2003-06-16 00:41:23.000000000 +0300
++++ cdrtools-2.01-jh/include/unls.h	2004-02-02 18:31:22.000000000 +0200
+@@ -30,6 +30,10 @@
+ #include <prototyp.h>
+ #endif
+ 
++#ifdef USE_ICONV
++#include <iconv.h>
++#endif
++
+ #ifdef	__cplusplus
+ extern "C" {
+ #endif
+@@ -43,6 +47,9 @@
+ 	char *charset;
+ 	unsigned char **page_uni2charset;
+ 	struct nls_unicode *charset2uni;
++#ifdef USE_ICONV
++	iconv_t iconv_d;
++#endif
+ 
+ 	void (*inc_use_count) 	__PR((void));
+ 	void (*dec_use_count) 	__PR((void));
+@@ -58,6 +65,9 @@
+ extern void 		unload_nls		__PR((struct nls_table *));
+ extern struct nls_table *load_nls_default	__PR((void));
+ extern int		init_nls_file		__PR((char * name));
++#ifdef USE_ICONV
++extern int		init_nls_iconv		__PR((char * name));
++#endif
+ 
+ #ifdef	__cplusplus
+ }
+diff -urN --exclude-from=- cdrtools-2.01/libunls/libunls.mk cdrtools-2.01-jh/libunls/libunls.mk
+--- cdrtools-2.01/libunls/libunls.mk	2000-03-25 14:51:56.000000000 +0200
++++ cdrtools-2.01-jh/libunls/libunls.mk	2004-02-02 18:31:22.000000000 +0200
+@@ -8,6 +8,7 @@
+ INSDIR=		lib
+ TARGETLIB=	unls
+ #CPPOPTS +=	-Istdio
++CPPOPTS +=	-DUSE_ICONV
+ include		Targets
+ LIBS=		
+ 
+diff -urN --exclude-from=- cdrtools-2.01/libunls/nls.h cdrtools-2.01-jh/libunls/nls.h
+--- cdrtools-2.01/libunls/nls.h	2002-12-03 02:34:27.000000000 +0200
++++ cdrtools-2.01-jh/libunls/nls.h	2004-02-02 18:31:22.000000000 +0200
+@@ -111,5 +111,8 @@
+ extern int init_nls_cp10079	__PR((void));
+ extern int init_nls_cp10081	__PR((void));
+ extern int init_nls_file	__PR((char * name));
++#ifdef USE_ICONV
++extern int init_nls_iconv	__PR((char * name));
++#endif
+ 
+ #endif	/* _NLS_H */
+diff -urN --exclude-from=- cdrtools-2.01/libunls/nls_iconv.c cdrtools-2.01-jh/libunls/nls_iconv.c
+--- cdrtools-2.01/libunls/nls_iconv.c	1970-01-01 02:00:00.000000000 +0200
++++ cdrtools-2.01-jh/libunls/nls_iconv.c	2004-02-02 18:31:22.000000000 +0200
+@@ -0,0 +1,96 @@
++/* @(#)nls_iconv.c	1.0 02/04/20 2002 J. Schilling  */
++#ifndef lint
++static	char sccsid[] =
++	"@(#)nls_iconv.c	1.0 02/01/20 2002 J. Schilling";
++#endif
++/*
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2, or (at your option)
++ * any later version.
++ *
<<Diff was trimmed, longer than 597 lines>>



More information about the pld-cvs-commit mailing list