8354 sync regcomp(3C) with upstream (fix make catalog)
[unleashed/tickless.git] / usr / src / lib / libast / common / man / chr.3
blob8d57648b49188f1c491b773a307fa0412a670e43
1 .fp 5 CW
2 .de Af
3 .ds ;G \\*(;G\\f\\$1\\$3\\f\\$2
4 .if !\a\\$4\a\a .Af \\$2 \\$1 "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
5 ..
6 .de aF
7 .ie \a\\$3\a\a .ft \\$1
8 .el \{\
9 .ds ;G \&
10 .nr ;G \\n(.f
11 .Af "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
12 \\*(;G
13 .ft \\n(;G \}
15 .de L
16 .aF 5 \\n(.f "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7"
18 .de LR
19 .aF 5 1 "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7"
21 .de RL
22 .aF 1 5 "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7"
24 .de EX          \" start example
25 .ta 1i 2i 3i 4i 5i 6i
26 .PP
27 .RS 
28 .PD 0
29 .ft 5
30 .nf
32 .de EE          \" end example
33 .fi
34 .ft
35 .PD
36 .RE
37 .PP
39 .TH CHR 3
40 .SH NAME
41 chr \- character constant conversion routines
42 .SH SYNOPSIS
43 .EX
44 #include <ast.h>
46 int          chresc(const char* \fIs\fP, char** \fIe\fP);
47 int          chrtoi(const char* \fIs\fP);
48 .EE
49 .SH DESCRIPTION
50 .L chresc
51 converts and returns the next character constant in the 0-terminated string
52 .IR s .
54 .I e
55 is not 0 then
56 .I *e
57 is set to point to the next character in
58 .I s
59 on return.
60 0 is returned and 
61 .I e
62 is not modified when the end of
63 .I s
64 is reached.
65 .PP
66 .L chrtoi
67 converts the 0-terminated string
68 .I s
69 to an
70 .I int
71 and returns the value.
72 The characters in
73 .I s
74 are converted in order from the left and shifted into the
75 .I int
76 value until up to the number of characters in an
77 .I int
78 is reached.
79 This operation is inherently machine-dependent,
80 but at least its defined in one place.
81 .PP
82 The following 
83 .B \e
84 escape sequences are recognized:
85 .TP
86 .RI \e ooo
87 The character represented by the octal code
88 .IR ooo .
89 .TP
90 .RI \ex xx
91 The character represented by the hex code
92 .IR xx .
93 .TP
94 .L \ea
95 Alert (bell).
96 .TP
97 .L \eb
98 Backspace.
99 .TP
100 .L \ef
101 Formfeed.
103 .L \en
104 Newline.
106 .L \er
107 Carriage return.
109 .L \et
110 Horizontal tab.
112 .L \ev
113 Vertical tab.
115 .L \eE
116 ESC (escape).
118 .L \e\e
119 Backslash.
121 Other characters following
122 .B \e
123 are undefined (although for backwards compatibility they
124 translate to themselves).
125 .SH "SEE ALSO"
126 str(3)