Module Name:    src
Committed By:   tsutsui
Date:           Sun May 19 15:51:30 UTC 2024

Modified Files:
        src/distrib/cdrom/macppc_installboot: Makefile cd9660.c installboot.c
            installboot.h

Log Message:
Sync with src/usr.sbin/installboot/cd9660.c:

- include now properly updated cd9660_extern.h for function prototypes
  and remove them from local installboot.h
- use ISO_MAXNAMLEN rather than (BSD specific and incorrect) MAXNAMLEN
- use proper names for the secondary boot file
- appease several pointer signedness warnings (not fatal on HOST tools)


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 src/distrib/cdrom/macppc_installboot/Makefile
cvs rdiff -u -r1.4 -r1.5 src/distrib/cdrom/macppc_installboot/cd9660.c \
    src/distrib/cdrom/macppc_installboot/installboot.h
cvs rdiff -u -r1.5 -r1.6 src/distrib/cdrom/macppc_installboot/installboot.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/distrib/cdrom/macppc_installboot/Makefile
diff -u src/distrib/cdrom/macppc_installboot/Makefile:1.11 src/distrib/cdrom/macppc_installboot/Makefile:1.12
--- src/distrib/cdrom/macppc_installboot/Makefile:1.11	Tue May  1 19:59:43 2018
+++ src/distrib/cdrom/macppc_installboot/Makefile	Sun May 19 15:51:30 2024
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.11 2018/05/01 19:59:43 christos Exp $
+#	$NetBSD: Makefile,v 1.12 2024/05/19 15:51:30 tsutsui Exp $
 
 .include <bsd.hostinit.mk>
 HOSTPROG=	macppc_installboot
@@ -16,6 +16,7 @@ HOST_CPPFLAGS+=	-I. -I${.CURDIR}
 	${HOST_INSTALL_DIR} fs/cd9660
 	${HOST_LN} -s ${NETBSDSRCDIR}/sys/fs/unicode.h fs
 	${HOST_LN} -s ${NETBSDSRCDIR}/sys/fs/cd9660/iso.h fs/cd9660
+	${HOST_LN} -s ${NETBSDSRCDIR}/sys/fs/cd9660/cd9660_extern.h fs/cd9660
 .endif
 
 cleandir distclean: cleaninc

Index: src/distrib/cdrom/macppc_installboot/cd9660.c
diff -u src/distrib/cdrom/macppc_installboot/cd9660.c:1.4 src/distrib/cdrom/macppc_installboot/cd9660.c:1.5
--- src/distrib/cdrom/macppc_installboot/cd9660.c:1.4	Sat Sep 27 15:21:40 2014
+++ src/distrib/cdrom/macppc_installboot/cd9660.c	Sun May 19 15:51:30 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: cd9660.c,v 1.4 2014/09/27 15:21:40 tsutsui Exp $	*/
+/*	$NetBSD: cd9660.c,v 1.5 2024/05/19 15:51:30 tsutsui Exp $	*/
 
 /*-
  * Copyright (c) 2005 Izumi Tsutsui.  All rights reserved.
@@ -30,7 +30,7 @@
 
 #include <sys/cdefs.h>
 #if defined(__RCSID) && !defined(__lint)
-__RCSID("$NetBSD: cd9660.c,v 1.4 2014/09/27 15:21:40 tsutsui Exp $");
+__RCSID("$NetBSD: cd9660.c,v 1.5 2024/05/19 15:51:30 tsutsui Exp $");
 #endif	/* !__lint */
 
 #include <sys/param.h>
@@ -51,6 +51,7 @@ __RCSID("$NetBSD: cd9660.c,v 1.4 2014/09
 #include <dirent.h>
 
 #include <fs/cd9660/iso.h>
+#include <fs/cd9660/cd9660_extern.h>
 
 #include "installboot.h"
 
@@ -87,7 +88,7 @@ cd9660_match(ib_params *params)
 		return 0;
 	}
 
-	blocksize = isonum_723((char *)ipd.logical_block_size);
+	blocksize = isonum_723((u_char *)ipd.logical_block_size);
 	if (blocksize != ISO_DEFAULT_BLOCK_SIZE) {
 		warnx("Invalid blocksize %d in `%s'",
 		    blocksize, params->filesystem);
@@ -104,10 +105,11 @@ int
 cd9660_findstage2(ib_params *params, uint32_t *maxblk, ib_block *blocks)
 {
 	uint8_t buf[ISO_DEFAULT_BLOCK_SIZE];
-	char name[MAXNAMLEN];
-	char *ofwboot;
+	char name[ISO_MAXNAMLEN];
+	char *stage2;
 	off_t loc;
-	int rv, blocksize, found, i;
+	int rv, blocksize, found;
+	u_int i;
 	struct iso_primary_descriptor ipd;
 	struct iso_directory_record *idr;
 
@@ -122,20 +124,20 @@ cd9660_findstage2(ib_params *params, uin
 #endif
 
 	/* The secondary bootstrap must be clearly in /. */
-	strlcpy(name, params->stage2, MAXNAMLEN);
-	ofwboot = name;
-	if (ofwboot[0] == '/')
-		ofwboot++;
-	if (strchr(ofwboot, '/') != NULL) {
+	strlcpy(name, params->stage2, ISO_MAXNAMLEN);
+	stage2 = name;
+	if (stage2[0] == '/')
+		stage2++;
+	if (strchr(stage2, '/') != NULL) {
 		warnx("The secondary bootstrap `%s' must be in / "
 		    "on filesystem `%s'", params->stage2, params->filesystem);
 		return 0;
 	}
-	if (strchr(ofwboot, '.') == NULL) {
+	if (strchr(stage2, '.') == NULL) {
 		/*
 		 * XXX should fix isofncmp()?
 		 */
-		strlcat(ofwboot, ".", MAXNAMLEN);
+		strlcat(name, ".", ISO_MAXNAMLEN);
 	}
 
 	rv = pread(params->fsfd, &ipd, sizeof(ipd),
@@ -148,7 +150,7 @@ cd9660_findstage2(ib_params *params, uin
 		   params->filesystem);
 		return 0;
 	}
-	blocksize = isonum_723((char *)ipd.logical_block_size);
+	blocksize = isonum_723((u_char *)ipd.logical_block_size);
 
 	idr = (void *)ipd.root_directory_record;
 	loc = (off_t)isonum_733(idr->extent) * blocksize;
@@ -205,8 +207,9 @@ cd9660_findstage2(ib_params *params, uin
 			printf("\n");
 		}
 #endif
-		if (isofncmp(ofwboot, strlen(ofwboot),
-		    idr->name, isonum_711(idr->name_len), 0) == 0) {
+		if (isofncmp((u_char *)stage2, strlen(stage2),
+		    (u_char *)idr->name,
+		    isonum_711((u_char *)idr->name_len), 0) == 0) {
 			found = 1;
 			/* ISO filesystem always has contiguous file blocks */
 			blocks[0].block = (int64_t)isonum_733(idr->extent);
Index: src/distrib/cdrom/macppc_installboot/installboot.h
diff -u src/distrib/cdrom/macppc_installboot/installboot.h:1.4 src/distrib/cdrom/macppc_installboot/installboot.h:1.5
--- src/distrib/cdrom/macppc_installboot/installboot.h:1.4	Wed Mar  9 15:44:49 2016
+++ src/distrib/cdrom/macppc_installboot/installboot.h	Sun May 19 15:51:30 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: installboot.h,v 1.4 2016/03/09 15:44:49 christos Exp $	*/
+/*	$NetBSD: installboot.h,v 1.5 2024/05/19 15:51:30 tsutsui Exp $	*/
 
 /*-
  * Copyright (c) 2002 The NetBSD Foundation, Inc.
@@ -43,10 +43,6 @@
 #include <sys/stat.h>
 #include <stdint.h>
 
-#ifndef MAXNAMLEN
-#define MAXNAMLEN	511
-#endif
-
 typedef enum {
 				/* flags from global options */
 	IB_VERBOSE =	1<<0,		/* verbose operation */
@@ -135,7 +131,4 @@ struct bbinfo_params {
 int		cd9660_match(ib_params *);
 int		cd9660_findstage2(ib_params *, uint32_t *, ib_block *);
 
-int isofncmp(const u_char *, size_t, const u_char *, size_t, int);
-void isofntrans(const u_char *, int, u_char *, u_short *, int, int, int, int);
-
 #endif	/* _INSTALLBOOT_H */

Index: src/distrib/cdrom/macppc_installboot/installboot.c
diff -u src/distrib/cdrom/macppc_installboot/installboot.c:1.5 src/distrib/cdrom/macppc_installboot/installboot.c:1.6
--- src/distrib/cdrom/macppc_installboot/installboot.c:1.5	Thu Mar 27 16:34:37 2014
+++ src/distrib/cdrom/macppc_installboot/installboot.c	Sun May 19 15:51:30 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: installboot.c,v 1.5 2014/03/27 16:34:37 apb Exp $	*/
+/*	$NetBSD: installboot.c,v 1.6 2024/05/19 15:51:30 tsutsui Exp $	*/
 
 /*-
  * Copyright (c) 2005 Izumi Tsutsui.  All rights reserved.
@@ -87,7 +87,7 @@ main(int argc, char **argv)
 	if (pread(params->fsfd, &pme, sizeof pme, BSIZE * 2) != sizeof(pme))
 		err(1, "read pme from file system `%s'", params->filesystem);
 
-	if (strcmp(pme.pmPartName, "NetBSD_BootBlock"))
+	if (strcmp((char *)pme.pmPartName, "NetBSD_BootBlock"))
 		err(1, "invalid partition map in file system `%s'",
 		    params->filesystem);
 

Reply via email to