Backports Fury :)

Chris Pressey cpressey at catseye.mine.nu
Sun Feb 29 14:57:41 PST 2004


All of these obtained from FreeBSD.

ffsinfo.8.diff
Clarify ffsinfo(8)'s man page.

  src/sbin/ffsinfo/ffsinfo.8		1.6.2.6

fdisk.c.diff
Add more parition types to fdisk(8)'s knowledge.

  src/sbin/i386/fdisk/fdisk.c		1.36.2.12, 1.36.2.13

vfscanf.c.diff
Fix handling of negative hexadecimal integers.  Originally from NetBSD

  src/lib/libc/stdio/vfscanf.c		1.35

jobs.c.diff
"Only use return value from system call if system call succeeded."

  src/bin/sh/jobs.c			1.66


Build world with all these (very small) changes in progress, will
report back if anything fishy occurs.

-Chris
Index: sbin/ffsinfo/ffsinfo.8
===================================================================
RCS file: /home/dcvs/src/sbin/ffsinfo/ffsinfo.8,v
retrieving revision 1.2
diff -u -r1.2 ffsinfo.8
--- sbin/ffsinfo/ffsinfo.8	17 Jun 2003 04:27:32 -0000	1.2
+++ sbin/ffsinfo/ffsinfo.8	29 Feb 2004 14:13:20 -0000
@@ -59,7 +59,7 @@
 .Xr dumpfs 8
 utility.
 .Pp
-The output is generated into the file
+The output is appended to the file
 .Pa outfile .
 Also expect the output file to be rather large.
 Up to 2 percent of the size of the specified file system is not uncommon.
Index: sbin/i386/fdisk/fdisk.c
===================================================================
RCS file: /home/dcvs/src/sbin/i386/fdisk/fdisk.c,v
retrieving revision 1.7
diff -u -r1.7 fdisk.c
--- sbin/i386/fdisk/fdisk.c	10 Feb 2004 13:27:55 -0000	1.7
+++ sbin/i386/fdisk/fdisk.c	29 Feb 2004 14:28:37 -0000
@@ -150,24 +150,47 @@
 	,{0x0E, "Primary 'big' DOS (> 32MB, LBA)"}
 	,{0x0F, "Extended DOS, LBA"}
 	,{0x10, "OPUS"}
+	,{0x11, "OS/2 BM: hidden DOS with 12-bit FAT"}
+	,{0x12, "Compaq diagnostics"}
+	,{0x14, "OS/2 BM: hidden DOS with 16-bit FAT (< 32MB)"}
+	,{0x16, "OS/2 BM: hidden DOS with 16-bit FAT (>= 32MB)"}
+	,{0x17, "OS/2 BM: hidden IFS (e.g. HPFS)"}
+	,{0x18, "AST Windows swapfile"}
+	,{0x24, "NEC DOS"}
 	,{0x39, "plan9"}
+	,{0x3C, "PartitionMagic recovery"}
 	,{0x40, "VENIX 286"}
+	,{0x41, "Linux/MINIX (sharing disk with DRDOS)"}
+	,{0x42, "SFS or Linux swap (sharing disk with DRDOS)"}
+	,{0x43, "Linux native (sharing disk with DRDOS)"}
 	,{0x4D, "QNX 4.2 Primary"}
 	,{0x4E, "QNX 4.2 Secondary"}
 	,{0x4F, "QNX 4.2 Tertiary"}
 	,{0x50, "DM"}
 	,{0x51, "DM"}
 	,{0x52, "CP/M or Microport SysV/AT"}
+	,{0x53, "DM6 Aux3"}
+	,{0x54, "DM6"}
+	,{0x55, "EZ-Drive (disk manager)"}
 	,{0x56, "GB"}
+	,{0x5C, "Priam Edisk (disk manager)"} /* according to S. Widlake */
 	,{0x61, "Speed"}
 	,{0x63, "ISC UNIX, other System V/386, GNU HURD or Mach"}
 	,{0x64, "Novell Netware 2.xx"}
 	,{0x65, "Novell Netware 3.xx"}
+	,{0x70, "DiskSecure Multi-Boot"}
 	,{0x75, "PCIX"}
+	,{0x77, "QNX4.x"}
+	,{0x78, "QNX4.x 2nd part"}
+	,{0x79, "QNX4.x 3rd part"}
 	,{0x80, "Minix 1.1 ... 1.4a"}
 	,{0x81, "Minix 1.4b ... 1.5.10"}
 	,{0x82, "Linux swap or Solaris x86"}
 	,{0x83, "Linux filesystem"}
+	,{0x84, "OS/2 hidden C: drive"}
+	,{0x85, "Linux extended"}
+	,{0x86, "NTFS volume set??"}
+	,{0x87, "NTFS volume set??"}
 	,{0x93, "Amoeba filesystem"}
 	,{0x94, "Amoeba bad block table"}
 	,{0x9F, "BSD/OS"}
@@ -176,15 +199,25 @@
 	,{0xA6, "OpenBSD"}
 	,{0xA7, "NEXTSTEP"}
 	,{0xA9, "NetBSD"}
+	,{0xAC, "IBM JFS"}
 	,{0xB7, "BSDI BSD/386 filesystem"}
 	,{0xB8, "BSDI BSD/386 swap"}
+	,{0xBE, "Solaris x86 boot"}
+	,{0xC1, "DRDOS/sec with 12-bit FAT"}
+	,{0xC4, "DRDOS/sec with 16-bit FAT (< 32MB)"}
+	,{0xC6, "DRDOS/sec with 16-bit FAT (>= 32MB)"}
+	,{0xC7, "Syrinx"}
 	,{0xDB, "Concurrent CPM or C.DOS or CTOS"}
 	,{0xE1, "Speed"}
 	,{0xE3, "Speed"}
 	,{0xE4, "Speed"}
+	,{0xEB, "BeOS file system"}
+	,{0xEE, "EFI GPT"}
+	,{0xEF, "EFI System Partition"}
 	,{0xF1, "Speed"}
 	,{0xF2, "DOS 3.3+ Secondary"}
 	,{0xF4, "Speed"}
+	,{0xFE, "SpeedStor >1024 cyl. or LANstep"}
 	,{0xFF, "BBT (Bad Blocks Table)"}
 };
 
Index: lib/libc/stdio/vfscanf.c
===================================================================
RCS file: /home/dcvs/src/lib/libc/stdio/vfscanf.c,v
retrieving revision 1.2
diff -u -r1.2 vfscanf.c
--- lib/libc/stdio/vfscanf.c	17 Jun 2003 04:26:46 -0000	1.2
+++ lib/libc/stdio/vfscanf.c	29 Feb 2004 14:37:48 -0000
@@ -84,6 +84,7 @@
 
 #define	PFXOK		0x100	/* 0x prefix is (still) legal */
 #define	NZDIGITS	0x200	/* no zero digits detected */
+#define	HAVESIGN	0x10000	/* sign detected */
 
 /*
  * Conversion types.
@@ -502,13 +503,18 @@
 				case '+': case '-':
 					if (flags & SIGNOK) {
 						flags &= ~SIGNOK;
+						flags |= HAVESIGN;
 						goto ok;
 					}
 					break;
-
-				/* x ok iff flag still set & 2nd char */
+					
+				/*
+				 * x ok iff flag still set & 2nd char (or
+				 * 3rd char if we have a sign).
+				 */
 				case 'x': case 'X':
-					if (flags & PFXOK && p == buf + 1) {
+					if (flags & PFXOK && p ==
+					    buf + 1 + !!(flags & HAVESIGN)) {
 						base = 16;	/* if %i */
 						flags &= ~PFXOK;
 						goto ok;
Index: bin/sh/jobs.c
===================================================================
RCS file: /home/dcvs/src/bin/sh/jobs.c,v
retrieving revision 1.4
diff -u -r1.4 jobs.c
--- bin/sh/jobs.c	14 Oct 2003 23:03:08 -0000	1.4
+++ bin/sh/jobs.c	29 Feb 2004 14:47:41 -0000
@@ -922,7 +922,7 @@
 		pid = waitproc(block, &status);
 		TRACE(("wait returns %d, status=%d\n", (int)pid, status));
 	} while ((pid == -1 && errno == EINTR && breakwaitcmd == 0) ||
-	    (WIFSTOPPED(status) && !iflag));
+	    (pid > 0 && WIFSTOPPED(status) && !iflag));
 	in_dowait--;
 	if (breakwaitcmd != 0) {
 		breakwaitcmd = 0;




More information about the Submit mailing list