aboutsummaryrefslogtreecommitdiffstats
path: root/man3/libsimple_strnchr_inv.3
blob: e75e5070d7d804f8d4ccf44d36cc495a36f8e1b8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
.TH LIBSIMPLE_STRNCHR_INV 3 libsimple
.SH NAME
libsimple_strnchr_inv \- find a different character in a string

.SH SYNOPSIS
.nf
#include <libsimple.h>

char *libsimple_strnchr_inv(const char *\fIs\fP, int \fIc\fP, size_t \fIn\fP);

#ifndef strnchr_inv
# define strnchr_inv libsimple_strnchr_inv
#endif
.fi
.PP
Link with
.IR \-lsimple .

.SH DESCRIPTION
The
.BR libsimple_strnchr_inv ()
function scans the string
.IR s ,
truncated to
.I n
bytes unless it is shorter,
for the first occurence of any character
other than
.I c
(it is converted to a
.BR char ).
If no such character exist in the string,
the string's end is returned.
.PP
The comparison is case-sensitive.

.SH RETURN VALUE
The
.BR libsimple_strnchr_inv ()
function returns the pointer
.I s
with a minimal offset such that
.IR *r!=c ,
where
.I r
is the returned pointer, if no such
offset less than
.I n
exists, it returns
.BR NULL .

.SH ERRORS
The
.BR libsimple_strnchr_inv ()
function cannot fail.

.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.TS
allbox;
lb lb lb
l l l.
Interface	Attribute	Value
T{
.BR libsimple_strnchr_inv ()
T}	Thread safety	MT-Safe
T{
.BR libsimple_strnchr_inv ()
T}	Async-signal safety	AS-Safe
T{
.BR libsimple_strnchr_inv ()
T}	Async-cancel safety	AC-Safe
.TE

.SH EXAMPLES
None.

.SH APPLICATION USAGE
None.

.SH RATIONALE
None.

.SH FUTURE DIRECTIONS
None.

.SH NOTES
None.

.SH HISTORY
libsimple 1.1

.SH BUGS
None.

.SH SEE ALSO
.BR libsimple_strnchr (3),
.BR libsimple_strnchrnul_inv (3),
.BR libsimple_strncasechr_inv (3),
.BR libsimple_strrnchr_inv (3),
.BR libsimple_strchr_inv (3),
.BR libsimple_memchr_inv (3)