8354 sync regcomp(3C) with upstream (fix make catalog)
[unleashed/tickless.git] / usr / src / lib / libast / common / man / streval.3
blob2b491c8595443d32889993a0b76fab32c1a8619e
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 STREVAL 3
40 .SH NAME
41 streval \- long integer arithmetic expression evaluator
42 .SH SYNOPSIS
43 .L "long streval(char* s, char** e, long (*conv)(char* cs, char** ce))"
44 .SH DESCRIPTION
45 .I streval
46 evaluates the long integer arithmetic expression in the nul-terminated string
47 .I s
48 and returns the result.
50 .I e
51 is not 0 then
52 .I *e
53 is set to point to the first unknown character in the expression.
54 .PP
56 .I conv
57 is not 0 then it is called when an unknown token is encountered in
58 .IR s .
59 .I cs
60 points to the beginning of the unknown token.
61 The return value is the long integer value of the unknown token and
62 .I ce
63 must be set to point to the first character after the unknown token.
64 If an expression syntax error is encountered the
65 .I conv
66 is called with
67 .I cs
68 set to 0 and
69 .I *ce
70 pointing to the error message text.
71 .PP
72 In addition to the normal C expressions and integer constant styles,
73 numbers in any base
74 .I b
75 <= 2 <=36
76 may be represented as
77 .IR b # nnnn ,
78 where the extra digits in
79 .I nnnn
80 are taken from
81 .BR [A-Z] .
82 .SH "SEE ALSO"
83 strtol(3)