Austin Group TC1 Summary Austin-155 Page 1 of 1 Submitted by Andrew Josey, The Open Group. February 20, 2003 Technical Corrigendum Number 1 for the Austin Group Specifications. The IEEE-SA Standards Board approved Technical Corrigendum Number 1 (TC1) on December 10th 2002. The governing board of The Open Group approved the document for on 7 February 2003. The following sections below present an overview of what's been changed by this corrigendum. 1. Issues related to the Base Definitions glob.h Technical Corrigendum Number 1 item XBD/TC1/D6/8 is applied, correcting the glob() prototype definition by removing the restrict qualifier from the function pointer argument. langinfo.h Technical Corrigendum Number 1 item XBD/TC1/D6/9 is applied, adding a sentence to the "Meaning" column entry for the CRNCYSTR constant. This change is to accomodate historic practice. limits.h Technical Corrigendum Number 1 item XBD/TC1/D6/10 is applied, updating the value of _POSIX_CHILD_MAX from 6 to 25. This corrects an editorial error and is for FIPS 151-2 alignment. netdb.h Technical Corrigendum Number 1 item XBD/TC1/D6/11 is applied, adding a description of the NI_NUMERICSCOPE macro and correcting the getnameinfo() function prototype. These changes are for alignment with the IETF IPv6 specification. netinet/in.h Technical Corrigendum Number 1 item XBD/TC1/D6/12 is applied, adding "const" qualifiers to the in6addr_any and in6addr_loopback external variables. pthread.h Technical Corrigendum Number 1 item XBD/TC1/D6/13 is applied, correcting shading errors that were in contradiction with the System Interfaces Volume. signal.h Technical Corrigendum Number 1 item XBD/TC1/D6/14 is applied, changing the descriptive text for members of struct sigaction. Technical Corrigendum Number 1 item XBD/TC1/D6/15 is applied, correcting the definition of the sa_sigaction member of struct sigaction. sys/mman.h Technical Corrigendum Number 1 item XBD/TC1/D6/16 is applied, correcting margin code and shading errors for the mlock() and munlock() functions. sys/stat.h Technical Corrigendum Number 1 item XBD/TC1/D6/17 is applied, adding text regarding the st_blocks members of the stat structure to the RATIONALE. sys/statvfs.h Technical Corrigendum Number 1 item XBD/TC1/D6/18 is applied, changing the description of ST_NOSUID from "Does not support setuid()/setgid() semantics" to "Does not support the semantics of the ST_ISUID and ST_ISGID file mode bits". termios.h Technical Corrigendum Number 1 item XBD/TC1/D6/19 is applied, changing ECHOK to ECHOKE in the APPLICATION USAGE section. unistd.h Technical Corrigendum Number 1 item XBD/TC1/D6/2 is applied, changing "Thread Stack Address Size" to "Thread Stack Size Attribute". Technical Corrigendum Number 1 item XBD/TC1/D6/20 is applied, adding the _POSIX_IPV6, _SC_V6 and _SC_RAW_SOCKETS symbols Technical Corrigendum Number 1 item XBD/TC1/D6/21 is applied, correcting the description in "Constants for Functions" for the _CS_POSIX_V6_LP64_OFF64_CFLAGS, _CS_POSIX_V6_LP64_OFF64_LDFLAGS, and _CS_POSIX_V6_LP64_OFF64_LIBS symbols. Technical Corrigendum Number 1 item XBD/TC1/D6/22 is applied, removing the shading for the _PC* and _SC* constants, since these are mandatory upon all implementations. Technical Corrigendum Number 1 item XBD/TC1/D6/23 is applied, adding the _PC_SYMLINK_MAX and _SC_SYMLOOP_MAX constants. Technical Corrigendum Number 1 item XBD/TC1/D6/24 is applied, correcting the shading and margin code for the fsync() function. Technical Corrigendum Number 1 item XBD/TC1/D6/25 is applied, adding the following text to APPLICATION USAGE "New applications should not use _XOPEN_SHM or _XOPEN_ENH_I18N". wchar.h Technical Corrigendum Number 1 item XBD/TC1/D6/26 is applied, adding the APPLICATION USAGE section. 2. Rationale changes related to the Base Definitions A.4.10 Add to end of A.4.10 Memory Synchronization p37 l 1465 Technical Corrigendum Number 1 item XBD/TC1/D6/4 is applied, adding a new paragraph beneath the table of functions: "The pthread_once() function shall synchronize memory for the first call in each thread for a given pthread_once_t object." A.7.3.3 LC_MONETARY Line 1986, add after "Technical Corrigendum No. 1" , "item XBD/TC1/D6/6" Add another paragraph at end of this section: Technical Corrigendum Number 1 item XBD/TC1/D6/5 is applied, adding the int_[np]_* values to the POSIX locale definition of LC_MONETARY. A.8.3 TZ Add to the end of the TZ section (line 2339) Technical Corrigendum Number 1 item XBD/TC1/D6/7 is applied, adding the ctime_r() and localtime_r() functions to the list of functions that use the TZ environment variable. 3. Issues related to the System Interfaces abort Technical Corrigendum Number 1 item XSH/TC1/D6/10 is applied, changing the DESCRIPTION of abnormal termination processing and adding to the RATIONALE section. bsearch Technical Corrigendum Number 1 item XSH/TC1/D6/11 is applied, adding to the last sentence to the end of the first non-shaded paragraph in the DESCRIPTION and adding the three following paragraphs. The RATIONALE section is also updated. These changes are for alignment with the ISO C standard. close Technical Corrigendum Number 1 item XSH/TC1/D6/12 is applied, correcting the XSI shaded text relating to the master side of a pseudo-terminal. The reason for the change is that the behavior of pseudo-terminals and regular terminals be as much alike as possible in this case; the change achieves that and matches historical behavior. closelog Technical Corrigendum Number 1 item XSH/TC1/D6/13 is applied, correcting the EXAMPLES. dlsym Technical Corrigendum Number 1 item XSH/TC1/D6/14 is applied, correcting an example, and adding text to the RATIONALE describing issues related to conversion of pointers to functions and back again. exec Technical Corrigendum Number 1 item XSH/TC1/D6/15 is applied, adding a new paragraph to the DESCRIPTION and text to the end ofthe APPLICATION USAGE section. This change addresses a security concern, where implementations may want to reopen file descriptors 0,1, and 2 for programs with the set-user-id or set-group-id file mode bits calling the exec family of functions. exit Technical Corrigendum Number 1 item XSH/TC1/D6/16 is applied, correcting grammer in the description. fork Technical Corrigendum Number 1 item XSH/TC1/D6/17 is applied, adding text to the DESCRIPTION and RATIONALE relating to fork handlers registered by the pthread_atfork() function and async-signal safety. fpathconf Technical Corrigendum Number 1 item XSH/TC1/D6/18 is applied, changing the fourth paragraph of the DESCRIPTION and removing shading and margin markers from the table.. This change is needed since implementations are required to support all these symbols. freeaddrinfo Technical Corrigendum Number 1 item XSH/TC1/D6/19 is applied, adding three notes to the DESCRIPTION and adding text to the APPLICATION USAGE related to the term canonical name. A reference to RFC 2181 is also added to the informative references front-matter. Technical Corrigendum Number 1 item XSH/TC1/D6/20 is applied, making changes for alignment with the IETF IPv6 API specification. These include the following: adding AI_V4MAPPED, AI_ALL and AI_ADDRCONFIG to the allowed values for the ai_flags field; adding a description of AI_ADDRCONFIG; and adding a description of the consequences of ignoring the AI_PASSIVE flag. fsetpos Technical Corrigendum Number 1 item XSH/TC1/D6/21 is applied, deleting an erroneous EINVAL error case from the ERRORS section. gai_strerror Technical Corrigendum Number 1 item XSH/TC1/D6/22 is applied, adding the EAI_OVERFLOW error code. getnameinfo Technical Corrigendum Number 1 item XSH/TC1/D6/23 is applied, making various changes in the SYNOPSIS and DESCRIPTION for alignment with the IETF IPv6 specification. Technical Corrigendum Number 1 item XSH/TC1/D6/24 is applied, adding the EAI_OVERFLOW error to the ERRORS section. getrlimit Technical Corrigendum Number 1 item XSH/TC1/D6/25 is applied, changing wording for RLIMIT_NOFILE in the DESCRIPTION related to functions that allocate a file descriptor failing with [EMFILE]. Text is added to the APPLICATION USAGE section noting the consequences of a process attempting to set the hard or soft limit for RLIMIT_NOFILE less than the highest currently open file descriptor+1. getsubopt Technical Corrigendum Number 1 item XSH/TC1/D6/26 is applied, correct an editorial error in the SYNOPSIS. gmtime Technical Corrigendum Number 1 item XSH/TC1/D6/27 is applied, adding the EOVERFLOW error case. if_indextoname Technical Corrigendum Number 1 item XSH/TC1/D6/28 is applied, changing {IFNAMSIZ} to {IF_NAMESIZ} in the DESCRIPTION. inet_ntop Technical Corrigendum Number 1 item XSH/TC1/D6/29 is applied, adding "the address must be in network byte order" to the end of the fourth sentence of the first paragraph in the DESCRIPTION. initstate Technical Corrigendum Number 1 item XSH/TC1/D6/30 is applied, removing rand_r() from the list of suggested functions in the APPLICATION USAGE section. localeconv Technical Corrigendum Number 1 item XSH/TC1/D6/31 is applied, removing references to "int_curr_symbol" and updating the descriptions of p_sep_by_space and n_sep_by_space. These changes are for alignment with the ISO C standard. localtime Technical Corrigendum Number 1 item XSH/TC1/D6/32 is applied, adding the EOVERFLOW error case. makecontext Technical Corrigendum Number 1 item XSH/TC1/D6/33 is applied, clarifying that the arguments passed to func are of type int . mmap Technical Corrigendum Number 1 item XSH/TC1/D6/34 is applied, changing the margin code in the SYNOPSIS from MF|SHM to MC3 (notation for MF|SHM|TYM). modf Technical Corrigendum Number 1 item XSH/TC1/D6/35 is applied, correcting the code example in the APPLICATION USAGE. munmap Technical Corrigendum Number 1 item XSH/TC1/D6/36 is applied, changing the margin code in the SYNOPSIS from MF|SHM to MC3 (notation for MF|SHM|TYM). nanosleep Technical Corrigendum Number 1 item XSH/TC1/D6/37 is applied, updating the SEE ALSO to include the clock_nanosleep() function. pow Technical Corrigendum Number 1 item XSH/TC1/D6/42 is applied, correcting the third paragraph in the RETURN VALUE section. pthread_attr_getstacksize Technical Corrigendum Number 1 item XSH/TC1/D6/43 is applied, correcting the margin code in the SYNOPSIS from TSA to TSS and updating the CHANGE HISTORY from "Thread Stack Address Attribute option" to "Thread Stack Size Attribute option". pthread_create Technical Corrigendum Number 1 item XSH/TC1/D6/44 is applied, adding text that the alternate stack is not inherited. pthread_rwlock_destroy Technical Corrigendum Number 1 item XSH/TC1/D6/45 is applied, adding APPLICATION USAGE relating to priority inversion. putenv Technical Corrigendum Number 1 item XSH/TC1/D6/48 is applied, clarifying wording in the DESCRIPTION and adding a new paragraph into APPLICATION USAGE referring readers to exec. qsort Technical Corrigendum Number 1 item XSH/TC1/D6/49 is applied, adding to the last sentence to the end of the first non-shaded paragraph in the DESCRIPTION and adding the two following paragraphs. The RATIONALE section is also updated. These changes are for alignment with the ISO C standard. readdir Technical Corrigendum Number 1 item XSH/TC1/D6/50 is applied, replacing the EXAMPLES section with a new example. realpath Technical Corrigendum Number 1 item XSH/TC1/D6/51 is applied, adding new text to the DESCRIPTION for the case when resolved_name is a null pointer, changing the EINVAL error case text, adding RATIONALE text and the FUTURE DIRECTIONS text. sched_get_priority_max Technical Corrigendum Number 1 item XSH/TC1/D6/52 is applied, changing the PS margin code in the SYNOPSIS to PS|TPS. sched_rr_get_interval Technical Corrigendum Number 1 item XSH/TC1/D6/53 is applied, changing the PS margin code in the SYNOPSIS to PS|TPS. sem_getvalue Technical Corrigendum Number 1 item XSH/TC1/D6/54 is applied. setenv Technical Corrigendum Number 1 item XSH/TC1/D6/55 is applied, adding references to exec in the APPLICATION USAGE and SEE ALSO sections. setpgid Technical Corrigendum Number 1 item XSH/TC1/D6/56 is applied, changing the wording in the DESCRIPTION from "the process group ID of the indicated process shall be used" to "the process ID of the indicated process shall be used". This change reverts the wording to as in IEEE Std 1003.1-1996;it appeared to be an unintentional change. sigaction Technical Corrigendum Number 1 item XSH/TC1/D6/57 is applied, changing descriptive text in the table describing the sigaction structure. sigaltstack Technical Corrigendum Number 1 item XSH/TC1/D6/58 is applied, updating the first sentence to include "for the current thread" at the end. siginterrupt Technical Corrigendum Number 1 item XSH/TC1/D6/59 is applied, correcting the declaration in the sample implementation given in the DESCRIPTION section. strftime Technical Corrigendum Number 1 item XSH/TC1/D6/60 is applied. strtod Technical Corrigendum Number 1 item XSH/TC1/D6/61 is applied, correcting the second paragraph in the RETURN VALUE section. This change makes it clear the sign of the return value. sysconf Technical Corrigendum Number 1 item XSH/TC1/D6/62 is applied, updating the DESCRIPTION to denote tha the _PC* and _SC* symbols are now required to be supported. A corresponding change has been made in the Base Definitions volume. The deletion in the second paragraph removes some duplicated text. The additions add some symbols drawn from the standard that were accidentally omitted from this page. Technical Corrigendum Number 1 item XSH/TC1/D6/63 is applied, making it clear in the RETURN VALUE that the value returned for sysconf(_SC_OPEN_MAX) may change if a call to setrlimit() adjusts the RLIMIT_NOFILE soft limit. tan Technical Corrigendum Number 1 item XSH/TC1/D6/64 is applied, correcting the last paragraph in the RETURN VALUE section. tgamma Technical Corrigendum Number 1 item XSH/TC1/D6/65 is applied, correcting the third paragraph in the RETURN VALUE section. wcstod Technical Corrigendum Number 1 item XSH/TC1/D6/66 is applied, correcting the second paragraph in the RETURN VALUE section. 4. Rationale changes related to the System Interfaces B.2.2.2 Add to end of B.2.2.2 Technical Corrigendum Number 1 item XSH/TC1/D6/2 is applied, deleting the entries POSIX_, _POSIX_, and posix_ from the column of allowed namespace prefixes for use by an implementation in the first table. The presence of these prefixes was contradicting later text which states that "The prefixes posix_, POSIX_, and _POSIX are reserved for use by IEEE Std 1003.1-2001 and other POSIX standards. Implementations may add symbols to the headers shown in the following table, provided the identifiers ... do not use the reserved prefixes posix_, POSIX_, or _POSIX." Technical Corrigendum Number 1 item XSH/TC1/D6/3 is applied, correcting the reserved macro prefix from "PRI[a-z],SCN[a-z]" to: "PRI[Xa-z],SCN[Xa-z]" in the second table. The change was needed since the C Standard allows implementations to define macros of the form "PRI" or "SCN" followed by any lowercase letter or "X" in . (ISO/IEC 9899:1999 P400, Subclause 7.26.4.) Technical Corrigendum Number 1 item XSH/TC1/D6/4 is applied, adding a new section listing reserved names for the header. This change was for alignment with the C standard. B.2.4.3 Add to the end of B2.4.3 Technical Corrigendum Number 1 item XSH/TC1/D6/5 is applied, reordering the RTS shaded text under the third and fourth paragraphs of the SIG_DFL description. This corrects an earlier editorial error in this section. Technical Corrigendum Number 1 item XSH/TC1/D6/6 is applied, adding the abort() function to the list of async-cancel-safe functions. B.2.8.3 Add new para 2 before "Memory Locking" in 2.8.3 Technical Corrigendum Number 1 item XSH/TC1/D6/7 is applied, correcting the shading and margin markers in the introduction to section 2.8.3.1. B.2.9.5 Add to the end of B.2.9.5 Technical Corrigendum Number 1 item XSH/TC1/D6/8 is applied, adding the pselect() function to the list of functions with Cancelation points. 5. Issues related to Shell and Utilities break,colon,continue,dot,eval,exec,exit,export,readonly,return,set,shift, trap,unset: Technical Corrigendum Number 1 item XCU/TC1/D6/5 is applied, so that the manual page sections use terms as described in the Utility Description Defaults. No change in behavior is intended. export Technical Corrigendum Number 1 item XCU/TC1/D6/6 is applied, adding the following text to the end of the first paragraph of the DESCRIPTION: "If the name of a variable is followed by =word, then the value of that variable shall be set to word." The reason for this change was that the SYNOPSIS for export includes export name[=word]... but the meaning of the optional "=word" is never explained in the text. (ed note: word is in italics) readonly Technical Corrigendum Number 1 item XCU/TC1/D6/7 is applied, adding the following text to the end of the first paragraph of the DESCRIPTION: "If the name of a variable is followed by =word, then the value of that variable shall be set to word." The reason for this change was that the SYNOPSIS for readonly includes readonly name[=word]... but the meaning of the optional "=word" is never explained in the text. (ed note: word is in italics) set Technical Corrigendum Number 1 item XCU/TC1/D6/8 is applied, changing the square brackets in the example in RATIONALE to be in bold which is the typeface used for optional items. times Technical Corrigendum Number 1 item XCU/TC1/D6/9 is applied, changing text in the DESCRIPTION from: "Write the accumulated user and system times for the shell and for all of its child processes ..." to: "The times utility shall write the accumulated user and system times for the shell and for all of its child processes ..." ar Technical Corrigendum Number 1 item XCU/TC1/D6/10 is applied, making corrections to the SYNOPSIS. The change was needed since the -a, -b and -i options are mutually-exclusive, and posname is required if any of these options is specified. Technical Corrigendum Number 1 item XCU/TC1/D6/11 is applied, correcting the description of the two-byte trailer in RATIONALE which had missed out a backquote. The correct trailer is a backquote followed by a . c99 Technical Corrigendum Number 1 item XCU/TC1/D6/12 is applied, correcting the EXTENDED DESCRIPTION section of -l c and -l m. Previously the text did not take into account the presence of the c99 math headers. Technical Corrigendum Number 1 item XCU/TC1/D6/13 is applied, changing the reference to the libxnet library to libxnet.a. cd Technical Corrigendum Number 1 item XCU/TC1/D6/14 is applied, changing the SYNOPSIS to make it clear that the -L and -P options are mutually exclusive. chgrp Technical Corrigendum Number 1 item XCU/TC1/D6/15 is applied, changing the SYNOPSIS to make it clear that the -h and -R options are optional. chmod Technical Corrigendum Number 1 item XCU/TC1/D6/16 is applied, changing XSI shaded text in the EXTENDED DESCRIPTION from: "The perm symbol t shall specify the S_ISVTX bit and shall apply to directories only. The effect when using it with any other file type is unspecified. It can be used with the who symbols o, a, or with no who symbol. It shall not be an error to specify a who symbol of u or g in conjunction with the perm symbol t; it shall be ignored for u and g." to: "The perm symbol t shall specify the S_ISVTX bit. When used with a file of type directory, it can be used with the who symbol a, or with no who symbol. It shall not be an error to specify a who symbol of u, g, or o in conjunction with the perm symbol t, but the meaning of these combinations is unspecified. The effect when using the perm symbol t with any file type other than directory is unspecified." This change is to permit historical behavior. chown Technical Corrigendum Number 1 item XCU/TC1/D6/17 is applied, changing the SYNOPSIS to make it clear that the -h and -R options are optional. cp Technical Corrigendum Number 1 item XCU/TC1/D6/18 is applied, correcting an error in the SEE ALSO section. date Technical Corrigendum Number 1 item XCU/TC1/D6/19 is applied, correcting the CHANGE HISTORY section. diff Technical Corrigendum Number 1 item XCU/TC1/D6/20 is applied, changing the STDOUT section. This changes the specification of 'diff -c' so it agrees with existing practice when contexts contain zero lines or one line. echo Technical Corrigendum Number 1 item XCU/TC1/D6/21 is applied, so that the echo utility can accomodate historical BSD behavior. ed Technical Corrigendum Number 1 item XCU/TC1/D6/22 is applied, adding the text "Any line modified by the command list shall be unmarked." to the G command. This change corresponds to a similar change made to the g command in the 2001 revision. ex Technical Corrigendum Number 1 item XCU/TC1/D6/23 is applied, correcting a URL. false Technical Corrigendum Number 1 item XCU/TC1/D6/24 is applied, changing the STDERR section from "None" to "Not Used" for alignment with the Utility Description Defaults. file Technical Corrigendum Number 1 item XCU/TC1/D6/25 is applied, making major changes to address ambiguitiues raised in defect reports. Technical Corrigendum Number 1 item XCU/TC1/D6/26 is applied, making it clear in the OPTIONS section that the -m, -d, and -M options do not comply with Guideline 11 of the utility Syntax Guidelines. getconf Technical Corrigendum Number 1 item XCU/TC1/D6/27 is applied, correcting the descriptions of path_var and system_var in the OPERANDS section. grep Technical Corrigendum Number 1 item XCU/TC1/D6/28 is applied, correcting the examples using the grep -F option which did not match the normative description of the -F option. iconv Technical Corrigendum Number 1 item XCU/TC1/D6/29 is applied, making changes to address inconsistencies with the iconv() function in the System Interfaces Volume. locale Technical Corrigendum Number 1 item XCU/TC1/D6/30 is applied, correcting an editorial error in the STDOUT section. m4 Technical Corrigendum Number 1 item XCU/TC1/D6/31 is applied, replacing the EXAMPLES section. mailx Technical Corrigendum Number 1 item XCU/TC1/D6/32 is applied, applying a change to the EXTENDED DESCRIPTION, raised by IEEE PASC Interpretation 1003.2-1992 #122 ,which was overlooked in the revision. od Technical Corrigendum Number 1 item XCU/TC1/D6/33 is applied, correcting the examples which were using an undefined "-n" option, which should have been "-N". patch Technical Corrigendum Number 1 item XCU/TC1/D6/34 is applied, clarifying the way that the patch utility performs ifdef selection for the -D option. pax Technical Corrigendum Number 1 item XCU/TC1/D6/35 is applied. This change, which adds the process ID of the pax process into certain fields, provides a method for the implementation to ensure that different instances of pax extracting a file named "/a/b/foo" will not collide when processing the extended header information associated with "foo". Technical Corrigendum Number 1 item XCU/TC1/D6/36 is applied, changing "-x B" to "-x pax" in the OPTIONS section. stty Technical Corrigendum Number 1 item XCU/TC1/D6/37 is applied, applying IEEE PASC Interpretation 1003.2-1992 #133 , fixing an error in the description of "stty nl". test Technical Corrigendum Number 1 item XCU/TC1/D6/38 is applied, XSI margin marking and shading a line in the OPERANDS section referring to the use of parentheses as arguments to the test utility . true Technical Corrigendum Number 1 item XCU/TC1/D6/39 is applied, replacing the terms "None" and "Default" from the STDERR and EXIT STATUS section with terms as defined in the Utility Description Defaults section. uniq Technical Corrigendum Number 1 item XCU/TC1/D6/40 is applied, adding LC_COLLATE to the ENVIRONMENT VARIABLES section, and changing "the application shall ensure that" in the OUTPUT FILES section. vi Technical Corrigendum Number 1 item XCU/TC1/D6/41 is applied, adding "[count] to the Synopsis for "[[". Technical Corrigendum Number 1 item XCU/TC1/D6/42 is applied, adding "[count] to the Synopsis for "]]". 6. Rationale changes related to the Shell and Utilities XRAT Section C.1.9 Utility Limits Add to the end of C.1.9 Technical Corrigendum Number 1 item XCU/TC1/D6/2 is applied, deleting the entry for {POSIX2_VERSION} since it is not a Utility Limit Minimum Value. Technical Corrigendum Number 1 item XCU/TC1/D6/3 is applied, changing the text in Utility Limits from: "utility (see getconf (on page 481)) and through the sysconf() function defined in the System Interfaces volume of IEEE Std 1003.1-2001. The literal names shown in Table 1-3 (on page 17) apply only to the getconf utility; the high-level language binding describes the exact form of each name to be used by the interfaces in that binding." to: "utility (see getconf (on page 481))." C.2.6.3 Add to the end of C.2.6.3 Technical Corrigendum Number 1 item XCU/TC1/D6/4 is applied, changing the text from: "If a command substitution occurs inside double-quotes, it shall not be performed on the results of the substitution." to: "If a command substitution occurs inside double-quotes, field splitting and pathname expansion shall not be performed on the results of the substitution." The replacement text taken from POSIX.2-1992 is clearer about the items that are not performed. ----------------------------------------------------------------