val - validate SCCS files (DEVELOPMENT)
[XSI] val -
val [-s] [-m name] [-r SID] [-y type] file...
The val utility shall determine whether the specified file is an SCCS file meeting the characteristics specified by the options.
The val utility shall conform to XBD Utility Syntax Guidelines , except that the usage of the '-' operand is not strictly as intended by the guidelines (that is, reading options and operands from standard input).
The following options shall be supported:
- -m name
- Specify a name, which is compared with the SCCS %M% keyword in file; see get.
- -r SID
- Specify a SID (SCCS Identification String), an SCCS delta number. A check shall be made to determine whether the SID is ambiguous (for example, -r 1 is ambiguous because it physically does not exist but implies 1.1, 1.2, and so on, which may exist) or invalid (for example, -r 1.0 or -r 1.1.0 are invalid because neither case can exist as a valid delta number). If the SID is valid and not ambiguous, a check shall be made to determine whether it actually exists.
- -s
- Silence the diagnostic message normally written to standard output for any error that is detected while processing each named file on a given command line.
- -y type
- Specify a type, which shall be compared with the SCCS %Y% keyword in file; see get.
The following operands shall be supported:
- file
- A pathname of an existing SCCS file. If exactly one file operand appears, and it is '-', the standard input shall be read: each line shall be independently processed as if it were a command line argument list. (However, the line is not subjected to any of the shell word expansions, such as parameter expansion or quote removal.)
The standard input shall be a text file used only when the file operand is specified as '-'.
Any SCCS files processed shall be files of an unspecified format.
The following environment variables shall affect the execution of val:
- LANG
- Provide a default value for the internationalization variables that are unset or null. (See XBD Internationalization Variables for the precedence of internationalization variables used to determine the values of locale categories.)
- LC_ALL
- If set to a non-empty string value, override the values of all the other internationalization variables.
- LC_CTYPE
- Determine the locale for the interpretation of sequences of bytes of text data as characters (for example, single-byte as opposed to multi-byte characters in arguments and input files).
- LC_MESSAGES
- Determine the locale that should be used to affect the format and contents of diagnostic messages written to standard error, and informative messages written to standard output.
- NLSPATH
- Determine the location of message catalogs for the processing of LC_MESSAGES.
Default.
The standard output shall consist of informative messages about either:
Each file processed
Each command line read from standard input
If the standard input is not used, for each file operand yielding a discrepancy, the output line shall have the following format:
"%s: %s\n", <pathname>, <unspecified string>If the standard input is used, for each input line yielding a discrepancy, the output shall have the following format:
"%s\n\n %s: %s\n", <input>, <pathname>, <unspecified string>where <input> is the input line minus its terminating <newline>.
Not used.
None.
None.
The 8-bit code returned by val shall be a disjunction of the possible errors; that is, it can be interpreted as a bit string where set bits are interpreted as follows:
0x80
=
Missing file argument.
0x40
=
Unknown or duplicate option.
0x20
=
Corrupted SCCS file.
0x10
=
Cannot open file or file not SCCS.
0x08
=
SID is invalid or ambiguous.
0x04
=
SID does not exist.
0x02
=
%Y%, -y mismatch.
0x01
=
%M%, -m mismatch.
Note that val can process two or more files on a given command line and can process multiple command lines (when reading the standard input). In these cases an aggregate code shall be returned: a logical OR of the codes generated for each command line and file processed.
Default.
Since the val exit status sets the 0x80 bit, shell applications checking "$?" cannot tell if it terminated due to a missing file argument or receipt of a signal.
In a directory with three SCCS files- s.x (of t type "text"), s.y, and s.z (a corrupted file)-the following command could produce the output shown:
val - <<EOF -y source s.x -m y s.y s.z EOF -y source s.x
s.x: %Y%, -y mismatch s.z
s.z: corrupted SCCS file
None.
None.
First released in Issue 2.
The Open Group Corrigendum U025/4 is applied, correcting a typographical error in the EXIT STATUS.
SD5-XCU-ERN-97 is applied, updating the SYNOPSIS.
POSIX.1-2008, Technical Corrigendum 1, XCU/TC1-2008/0147 [416] and XCU/TC1-2008/0148 [416] are applied.
return to top of page