Patch Name: PHCO_22228 Patch Description: s700_800 10.20 ex(1),vi(1),expreserve(1) cumulative patch Creation Date: 01/01/24 Post Date: 01/02/08 Hardware Platforms - OS Releases: s700: 10.20 s800: 10.20 Products: N/A Filesets: TextEditors.EDITORS Automatic Reboot?: No Status: General Release Critical: No Path Name: /hp-ux_patches/s700_800/10.X/PHCO_22228 Symptoms: PHCO_22228: 1. exrecover(1) functionality corrected. 2. vi(1) cannot handle tags longer than 30 characters. 3. vi(1) is not matching the patterns correctly in case of multi-byte locales. 4. vi(1) does not handle window size change signal (SIGWINCH) in case of piped commands. 5. Line number information was not being reset whenever a fresh file was being opened after alternation between files for e# command. PHCO_13667: 1. Incomplete fix in PHCO_12335. Word anchoring in global substitution not handled correctly. vi fails for the specific case - g/\/s//globals/g 2. vi command reports incorrect number of characters for multibyte locales. PHCO_12335: 1. End of Word anchoring (\>) in substitution causes a loss of punctuation and white space. PHCO_11678: 1. %s/\/xx_\1/g does not work. PHCO_9490: 1. Begin of Word anchoring (\<) under a global substitution causes an unexpected truncation of the string. 2. End of Word anchoring (\>) in substitution causes a loss of punctuation and white space. PHCO_8654: Permission of /usr/lib/expreserve should be 0555. Defect Description: PHCO_22228: 1. exrecover(1) functionality corrected. Resolution: Code has been modified to take care of this issue. 2. vi(1) cannot handle tags longer than 30 characters. Resolution: Now the code is modified to handle the tags longer than 30 characters. 3. vi(1) is not matching the patterns correctly in case of multi-byte locales, because vi(1) is not substituting the newline in a multi-byte locale. Resolution: The code has been modified to take care of the newline substitution in case of multi-byte locales. 4. The signal handler for "SIGWINCH" was not activated for piped commands to vi(1). Resolution: Now the code is modified to take care of signal handler for SIGWINCH while piping. 5. The vi(1) behaves differently between 9.X and 10.X because line number information was not being reset whenever a fresh file was being opened after alternation between files . Resolution: Now the code has been modified to reset the line number information properly when a fresh file was being opened after alternation between files. PHCO_13667: 1. Incomplete fix in PHCO_12335. Word anchoring in global substitution causes a loss of punctuation and white space. vi fails for the specific case - g/\/s//globals/g 2. vi command reports incorrect number of characters for multibyte locales. vi used to report the number of bytes instead of the number of characters in the file. PHCO_12335: vi does not recognize that ";" does not belong to a word. PHCO_11678: The PHCO_9490 version of ex(1) translates incorrectly. PHCO_9490: Since 10.01, vi(1)/ex(1) fails to correctly interpret/process \< and \> in substitute commands. This worked OK in 9.04. PHCO_8654: Permission of /usr/lib/expreserve should be 0555. SR: 8606156264 8606100309 4701385112 1653249524 1653280651 1653251314 1653240234 4701379339 5003398289 1653213132 1653201574 1653181115 4701329391 Patch Files: /usr/bin/e /usr/bin/edit /usr/bin/ex /usr/bin/vedit /usr/bin/vi /usr/bin/view /usr/lib/nls/msg/C/exrecover.cat /usr/lbin/exrecover /usr/lbin/expreserve what(1) Output: /usr/bin/e: $Revision: 78.2.1.21 $ 32-bit NLS $ PATCH_10_20: hpux_rel.o ex.o ex_addr.o ex_cmds.o ex_ cmds2.o ex_cmdsub.o ex_data.o ex_extern.o ex _get.o ex_io.o ex_put.o ex_re.o ex_rldata.o ex_set.o ex_subr.o ex_temp.o ex_tty.o ex_uni x.o ex_v.o ex_vadj.o ex_vget.o ex_vmain.o ex _voper.o ex_vops.o ex_vops2.o ex_vops3.o ex_ vput.o ex_vwind.o printf.o bcopy.o ex_crypt. o 01/01/24 /usr/bin/edit: $Revision: 78.2.1.21 $ 32-bit NLS $ PATCH_10_20: hpux_rel.o ex.o ex_addr.o ex_cmds.o ex_ cmds2.o ex_cmdsub.o ex_data.o ex_extern.o ex _get.o ex_io.o ex_put.o ex_re.o ex_rldata.o ex_set.o ex_subr.o ex_temp.o ex_tty.o ex_uni x.o ex_v.o ex_vadj.o ex_vget.o ex_vmain.o ex _voper.o ex_vops.o ex_vops2.o ex_vops3.o ex_ vput.o ex_vwind.o printf.o bcopy.o ex_crypt. o 01/01/24 /usr/bin/ex: $Revision: 78.2.1.21 $ 32-bit NLS $ PATCH_10_20: hpux_rel.o ex.o ex_addr.o ex_cmds.o ex_ cmds2.o ex_cmdsub.o ex_data.o ex_extern.o ex _get.o ex_io.o ex_put.o ex_re.o ex_rldata.o ex_set.o ex_subr.o ex_temp.o ex_tty.o ex_uni x.o ex_v.o ex_vadj.o ex_vget.o ex_vmain.o ex _voper.o ex_vops.o ex_vops2.o ex_vops3.o ex_ vput.o ex_vwind.o printf.o bcopy.o ex_crypt. o 01/01/24 /usr/bin/vedit: $Revision: 78.2.1.21 $ 32-bit NLS $ PATCH_10_20: hpux_rel.o ex.o ex_addr.o ex_cmds.o ex_ cmds2.o ex_cmdsub.o ex_data.o ex_extern.o ex _get.o ex_io.o ex_put.o ex_re.o ex_rldata.o ex_set.o ex_subr.o ex_temp.o ex_tty.o ex_uni x.o ex_v.o ex_vadj.o ex_vget.o ex_vmain.o ex _voper.o ex_vops.o ex_vops2.o ex_vops3.o ex_ vput.o ex_vwind.o printf.o bcopy.o ex_crypt. o 01/01/24 /usr/bin/vi: $Revision: 78.2.1.21 $ 32-bit NLS $ PATCH_10_20: hpux_rel.o ex.o ex_addr.o ex_cmds.o ex_ cmds2.o ex_cmdsub.o ex_data.o ex_extern.o ex _get.o ex_io.o ex_put.o ex_re.o ex_rldata.o ex_set.o ex_subr.o ex_temp.o ex_tty.o ex_uni x.o ex_v.o ex_vadj.o ex_vget.o ex_vmain.o ex _voper.o ex_vops.o ex_vops2.o ex_vops3.o ex_ vput.o ex_vwind.o printf.o bcopy.o ex_crypt. o 01/01/24 /usr/bin/view: $Revision: 78.2.1.21 $ 32-bit NLS $ PATCH_10_20: hpux_rel.o ex.o ex_addr.o ex_cmds.o ex_ cmds2.o ex_cmdsub.o ex_data.o ex_extern.o ex _get.o ex_io.o ex_put.o ex_re.o ex_rldata.o ex_set.o ex_subr.o ex_temp.o ex_tty.o ex_uni x.o ex_v.o ex_vadj.o ex_vget.o ex_vmain.o ex _voper.o ex_vops.o ex_vops2.o ex_vops3.o ex_ vput.o ex_vwind.o printf.o bcopy.o ex_crypt. o 01/01/24 /usr/lib/nls/msg/C/exrecover.cat: None /usr/lbin/exrecover: $Revision: 78.2.1.21 $ 32-bit NLS $ $Revision: 76.2.2.1 $ PATCH_10_20: hpux_rel.o exrecover.o ex_extern.o 01/0 1/24 /usr/lbin/expreserve: $Revision: 78.2.1.21 $ 32-bit NLS $ $Revision: 76.2 $ PATCH_10_20: hpux_rel.o expreserve.o ex_extern.o 01/ 01/24 cksum(1) Output: 408415990 237568 /usr/bin/e 408415990 237568 /usr/bin/edit 408415990 237568 /usr/bin/ex 408415990 237568 /usr/bin/vedit 408415990 237568 /usr/bin/vi 408415990 237568 /usr/bin/view 3071133312 558 /usr/lib/nls/msg/C/exrecover.cat 1038296614 20480 /usr/lbin/exrecover 2973467466 16384 /usr/lbin/expreserve Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHCO_13667 PHCO_12335 PHCO_11678 PHCO_9490 PHCO_8654 Equivalent Patches: PHCO_22229: s700: 11.00 s800: 11.00 PHCO_22848: s700: 10.10 s800: 10.10 PHCO_22849: s700: 10.01 s800: 10.01 Patch Package Size: 330 KBytes Installation Instructions: Please review all instructions and the Hewlett-Packard SupportLine User Guide or your Hewlett-Packard support terms and conditions for precautions, scope of license, restrictions, and, limitation of liability and warranties, before installing this patch. ------------------------------------------------------------ 1. Back up your system before installing a patch. 2. Login as root. 3. Copy the patch to the /tmp directory. 4. Move to the /tmp directory and unshar the patch: cd /tmp sh PHCO_22228 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHCO_22228.depot By default swinstall will archive the original software in /var/adm/sw/patch/PHCO_22228. If you do not wish to retain a copy of the original software, you can create an empty file named /var/adm/sw/patch/PATCH_NOSAVE. WARNING: If this file exists when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. It is recommended that you move the PHCO_22228.text file to /var/adm/sw/patch for future reference. To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHCO_22228.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None