Module Name:    src
Committed By:   nonaka
Date:           Wed Nov 23 15:49:58 UTC 2011

Modified Files:
        src/sys/arch/hpc/stand/hpcboot: file_ufs.cpp
        src/sys/arch/hpc/stand/hpcboot/menu: menu.cpp
        src/sys/arch/hpc/stand/hpcboot/res: hpcmenu.rc resource.h

Log Message:
modify for PSION NETBOOK PRO.
- ignore "Network" directory when finding the directory for configuration files.
- as the device name "SMC" (SD-MMC) to allow.
- add "SMC1:/" entry to kernel directory.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/hpc/stand/hpcboot/file_ufs.cpp
cvs rdiff -u -r1.12 -r1.13 src/sys/arch/hpc/stand/hpcboot/menu/menu.cpp
cvs rdiff -u -r1.20 -r1.21 src/sys/arch/hpc/stand/hpcboot/res/hpcmenu.rc
cvs rdiff -u -r1.12 -r1.13 src/sys/arch/hpc/stand/hpcboot/res/resource.h

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

Modified files:

Index: src/sys/arch/hpc/stand/hpcboot/file_ufs.cpp
diff -u src/sys/arch/hpc/stand/hpcboot/file_ufs.cpp:1.4 src/sys/arch/hpc/stand/hpcboot/file_ufs.cpp:1.5
--- src/sys/arch/hpc/stand/hpcboot/file_ufs.cpp:1.4	Mon Apr 28 20:23:20 2008
+++ src/sys/arch/hpc/stand/hpcboot/file_ufs.cpp	Wed Nov 23 15:49:57 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: file_ufs.cpp,v 1.4 2008/04/28 20:23:20 martin Exp $	*/
+/*	$NetBSD: file_ufs.cpp,v 1.5 2011/11/23 15:49:57 nonaka Exp $	*/
 
 /*-
  * Copyright (c) 2001, 2002 The NetBSD Foundation, Inc.
@@ -67,15 +67,23 @@ BOOL
 UfsFile::setRoot(TCHAR *drive)
 {
 	char name[MAX_PATH];
-	int unit;
+	char devname[4] = "DSK";
+	int unit = 1;
 
 	_to_ascii(name, drive, MAX_PATH);
 	if ('1' <= name[0] && name[0] <= '9' && name[1] == ':')
 		unit = name[0] - '0';
-	else
-		unit = 1;
+	else if (isalpha((unsigned char)name[0]) &&
+	    isalpha((unsigned char)name[1]) &&
+	    isalpha((unsigned char)name[2]) &&
+	    '1' <= name[3] && name[3] <= '9' && name[4] == ':') {
+		devname[0] = name[0];
+		devname[1] = name[1];
+		devname[2] = name[2];
+		unit = name[3] - '0';
+	}
 
-	winblkopen(_f, "DSK", unit, 0);
+	winblkopen(_f, devname, unit, 0);
 
 	return TRUE;
 }

Index: src/sys/arch/hpc/stand/hpcboot/menu/menu.cpp
diff -u src/sys/arch/hpc/stand/hpcboot/menu/menu.cpp:1.12 src/sys/arch/hpc/stand/hpcboot/menu/menu.cpp:1.13
--- src/sys/arch/hpc/stand/hpcboot/menu/menu.cpp:1.12	Tue Apr  6 16:20:28 2010
+++ src/sys/arch/hpc/stand/hpcboot/menu/menu.cpp	Wed Nov 23 15:49:58 2011
@@ -1,4 +1,4 @@
-/* -*-C++-*-	$NetBSD: menu.cpp,v 1.12 2010/04/06 16:20:28 nonaka Exp $	*/
+/* -*-C++-*-	$NetBSD: menu.cpp,v 1.13 2011/11/23 15:49:58 nonaka Exp $	*/
 
 /*-
  * Copyright (c) 2001 The NetBSD Foundation, Inc.
@@ -549,6 +549,22 @@ ConsoleTabWindow::_open_log_file()
 //
 // Common utility
 //
+static BOOL
+is_ignore_directory(TCHAR *filename)
+{
+	static const TCHAR *dirs[] = {
+		// Network (in Japanese)
+		(const TCHAR *)"\xcd\x30\xc3\x30\xc8\x30\xef\x30\xfc\x30\xaf\x30\x00\x00",
+	};
+
+	for (int i = 0; i < sizeof(dirs) / sizeof(dirs[0]); i++) {
+		if (wcscmp(filename, dirs[i]) == 0) {
+			return TRUE;
+		}
+	}
+	return FALSE;
+}
+
 BOOL
 _find_pref_dir(TCHAR *path)
 {
@@ -562,7 +578,8 @@ _find_pref_dir(TCHAR *path)
 		do {
 			int attr = fd.dwFileAttributes;
 			if ((attr & FILE_ATTRIBUTE_DIRECTORY) &&
-			    (attr & FILE_ATTRIBUTE_TEMPORARY)) {
+			    (attr & FILE_ATTRIBUTE_TEMPORARY) &&
+			    !is_ignore_directory(fd.cFileName)) {
 				wcscpy(path, fd.cFileName);
 				FindClose(find);
 				return TRUE;

Index: src/sys/arch/hpc/stand/hpcboot/res/hpcmenu.rc
diff -u src/sys/arch/hpc/stand/hpcboot/res/hpcmenu.rc:1.20 src/sys/arch/hpc/stand/hpcboot/res/hpcmenu.rc:1.21
--- src/sys/arch/hpc/stand/hpcboot/res/hpcmenu.rc:1.20	Wed Sep 28 14:19:13 2011
+++ src/sys/arch/hpc/stand/hpcboot/res/hpcmenu.rc	Wed Nov 23 15:49:58 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: hpcmenu.rc,v 1.20 2011/09/28 14:19:13 nonaka Exp $	*/
+/*	$NetBSD: hpcmenu.rc,v 1.21 2011/11/23 15:49:58 nonaka Exp $	*/
 
 /*-
  * Copyright (c) 2001 The NetBSD Foundation, Inc.
@@ -44,6 +44,7 @@ STRINGTABLE DISCARDABLE
 	IDS_HPCMENU			"HPCBOOT"
 	IDS_DIR_FFS_ROOT1		"/"
 	IDS_DIR_FFS_ROOT2		"2:/"
+	IDS_DIR_FFS_SMC_ROOT1		"SMC1:/"
 	IDS_DIR_FAT_ROOT		"\\"
 	IDS_DIR_FAT_MY_DOCUMENTS	"\\My Documents\\"
 	IDS_DIR_CARD_EN			"\\Storage Card\\"

Index: src/sys/arch/hpc/stand/hpcboot/res/resource.h
diff -u src/sys/arch/hpc/stand/hpcboot/res/resource.h:1.12 src/sys/arch/hpc/stand/hpcboot/res/resource.h:1.13
--- src/sys/arch/hpc/stand/hpcboot/res/resource.h:1.12	Wed Sep 28 14:19:13 2011
+++ src/sys/arch/hpc/stand/hpcboot/res/resource.h	Wed Nov 23 15:49:58 2011
@@ -1,4 +1,4 @@
-/* -*-C++-*-	$NetBSD: resource.h,v 1.12 2011/09/28 14:19:13 nonaka Exp $	*/
+/* -*-C++-*-	$NetBSD: resource.h,v 1.13 2011/11/23 15:49:58 nonaka Exp $	*/
 
 /*-
  * Copyright (c) 2001 The NetBSD Foundation, Inc.
@@ -114,19 +114,20 @@
 
 #define	IDS_DIR_FFS_ROOT1		10004
 #define	IDS_DIR_FFS_ROOT2		10006
-#define	IDS_DIR_FAT_ROOT		10008
-#define	IDS_DIR_FAT_MY_DOCUMENTS	10010
-#define	IDS_DIR_CARD_EN			10012
-#define	IDS_DIR_CARD_EN1		10014
-#define	IDS_DIR_CARD_EN2		10016
-#define	IDS_DIR_CARD_JP			10018
-#define	IDS_DIR_CARD_JP1		10020
-#define	IDS_DIR_CARD_JP2		10022
-#define	IDS_DIR_CARD_MMCARD		10024
-#define	IDS_DIR_CARD_SDMMCARD		10026
-#define	IDS_DIR_CARD_MINISD_JP		10028
-#define	IDS_DIR_CARD_MICROSD_JP		10030
-#define	IDS_DIR_USER_DEFINED		10032
+#define	IDS_DIR_FFS_SMC_ROOT1		10008
+#define	IDS_DIR_FAT_ROOT		10010
+#define	IDS_DIR_FAT_MY_DOCUMENTS	10012
+#define	IDS_DIR_CARD_EN			10014
+#define	IDS_DIR_CARD_EN1		10016
+#define	IDS_DIR_CARD_EN2		10018
+#define	IDS_DIR_CARD_JP			10020
+#define	IDS_DIR_CARD_JP1		10022
+#define	IDS_DIR_CARD_JP2		10024
+#define	IDS_DIR_CARD_MMCARD		10026
+#define	IDS_DIR_CARD_SDMMCARD		10028
+#define	IDS_DIR_CARD_MINISD_JP		10030
+#define	IDS_DIR_CARD_MICROSD_JP		10032
+#define	IDS_DIR_USER_DEFINED		10034
 
 
 #define	IDS_DIR_START			IDS_DIR_FFS_ROOT1

Reply via email to