aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libsimple/strn.h4
-rw-r--r--man/libsimple_strcasecmpnul.33
-rw-r--r--man/libsimple_strcmpnul.33
-rw-r--r--man/libsimple_strncasecmpnul.391
-rw-r--r--man/libsimple_strncmpnul.391
5 files changed, 188 insertions, 4 deletions
diff --git a/libsimple/strn.h b/libsimple/strn.h
index 03c849a..7aec11b 100644
--- a/libsimple/strn.h
+++ b/libsimple/strn.h
@@ -260,7 +260,7 @@ char *libsimple_strrncasestr(const char *, const char *, size_t); /* TODO doc */
*/
_LIBSIMPLE_GCC_ONLY(__attribute__((__pure__, __warn_unused_result__)))
static inline int libsimple_strncmpnul(const char *__a, const char *__b, size_t __n)
-{ return (!__a || !__b) ? !__b - !__a : strncmp(__a, __b, __n); } /* TODO doc */
+{ return (!__a || !__b) ? !__b - !__a : strncmp(__a, __b, __n); }
#ifndef strncmpnul
# define strncmpnul libsimple_strncmpnul
#endif
@@ -279,7 +279,7 @@ static inline int libsimple_strncmpnul(const char *__a, const char *__b, size_t
* 0 otherwise
*/
_LIBSIMPLE_GCC_ONLY(__attribute__((__pure__, __warn_unused_result__)))
-static inline int libsimple_strncasecmpnul(const char *__a, const char *__b, size_t __n) /* TODO doc */
+static inline int libsimple_strncasecmpnul(const char *__a, const char *__b, size_t __n)
{ return (!__a || !__b) ? !__b - !__a : strncasecmp(__a, __b, __n); }
#ifndef strncasecmpnul
# define strncasecmpnul libsimple_strncasecmpnul
diff --git a/man/libsimple_strcasecmpnul.3 b/man/libsimple_strcasecmpnul.3
index 197cac7..07be013 100644
--- a/man/libsimple_strcasecmpnul.3
+++ b/man/libsimple_strcasecmpnul.3
@@ -1,4 +1,4 @@
-.TH LIBSIMPLE_STRCASECMPNUL 3 2018-10-21 libsimple
+.TH LIBSIMPLE_STRCASECMPNUL 3 2018-10-23 libsimple
.SH NAME
libsimple_strcasecmpnul \- compare two strings
.SH SYNOPSIS
@@ -81,4 +81,5 @@ None.
.SH SEE ALSO
.BR libsimple_strcmpnul (3),
.BR libsimple_strcaseeqnul (3),
+.BR libsimple_strncasecmpnul (3),
.BR strcasecmp (3)
diff --git a/man/libsimple_strcmpnul.3 b/man/libsimple_strcmpnul.3
index ea962d7..9f6ec47 100644
--- a/man/libsimple_strcmpnul.3
+++ b/man/libsimple_strcmpnul.3
@@ -1,4 +1,4 @@
-.TH LIBSIMPLE_STRCMPNUL 3 2018-10-21 libsimple
+.TH LIBSIMPLE_STRCMPNUL 3 2018-10-23 libsimple
.SH NAME
libsimple_strcmpnul \- compare two strings
.SH SYNOPSIS
@@ -81,4 +81,5 @@ None.
.SH SEE ALSO
.BR libsimple_strcasecmpnul (3),
.BR libsimple_streqnul (3),
+.BR libsimple_strncmpnul (3),
.BR strcmp (3)
diff --git a/man/libsimple_strncasecmpnul.3 b/man/libsimple_strncasecmpnul.3
new file mode 100644
index 0000000..4fda1b7
--- /dev/null
+++ b/man/libsimple_strncasecmpnul.3
@@ -0,0 +1,91 @@
+.TH LIBSIMPLE_STRNCASECMPNUL 3 2018-10-23 libsimple
+.SH NAME
+libsimple_strncasecmpnul \- compare two strings
+.SH SYNOPSIS
+.nf
+#include <libsimple.h>
+
+static inline int libsimple_strncasecmpnul(const char *\fIa\fP, const char *\fIb\fP, size_t \fIn\fP);
+
+#ifndef strncasecmpnul
+# define strncasecmpnul libsimple_strncasecmpnul
+#endif
+.fi
+.PP
+Link with
+.IR \-lsimple .
+.SH DESCRIPTION
+The
+.BR libsimple_strncasecmpnul ()
+function compares the strings
+.IR a ,
+truncated to
+.I n
+bytes unless it is shorter,
+and
+.IR b ,
+truncated to
+.I n
+bytes unless it is shorter,
+both of which may be
+.BR NULL ,
+which is treated as less than the empty string.
+.PP
+If one of the strings begins with the other string
+but is longer, the longer string is treated as
+greater than the shorter string.
+.PP
+The comparison is case-insensitive and made as
+if the strings were converted to lowercase and as
+.IR "unsigned char *" s.
+.SH RETURN VALUE
+The
+.BR libsimple_strncasecmpnul ()
+function returns a negative value if
+.I a
+is less than
+.IR b ,
+a positive value if
+.I a
+is greater than
+.IR b ,
+and 0 otherwise.
+.SH ERRORS
+The
+.BR libsimple_strncasecmpnul ()
+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_strncasecmpnul ()
+T} Thread safety MT-Safe
+T{
+.BR libsimple_strncasecmpnul ()
+T} Async-signal safety AS-Safe
+T{
+.BR libsimple_strncasecmpnul ()
+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 BUGS
+None.
+.SH SEE ALSO
+.BR libsimple_strncmpnul (3),
+.BR libsimple_strncaseeqnul (3),
+.BR libsimple_strcasecmpnul (3),
+.BR strncasecmp (3)
diff --git a/man/libsimple_strncmpnul.3 b/man/libsimple_strncmpnul.3
new file mode 100644
index 0000000..b482e58
--- /dev/null
+++ b/man/libsimple_strncmpnul.3
@@ -0,0 +1,91 @@
+.TH LIBSIMPLE_STRNCMPNUL 3 2018-10-23 libsimple
+.SH NAME
+libsimple_strncmpnul \- compare two strings
+.SH SYNOPSIS
+.nf
+#include <libsimple.h>
+
+static inline int libsimple_strncmpnul(const char *\fIa\fP, const char *\fIb\fP, size_t \fIn\fP);
+
+#ifndef strncmpnul
+# define strncmpnul libsimple_strncmpnul
+#endif
+.fi
+.PP
+Link with
+.IR \-lsimple .
+.SH DESCRIPTION
+The
+.BR libsimple_strncmpnul ()
+function compares the strings
+.IR a ,
+truncated to
+.I n
+bytes unless it is shorter,
+and
+.IR b ,
+truncated to
+.I n
+bytes unless it is shorter,
+both of which may be
+.BR NULL ,
+which is treated as less than the empty string.
+.PP
+If one of the strings begins with the other string
+but is longer, the longer string is treated as
+greater than the shorter string.
+.PP
+The comparison is case-sensitive and made as if
+the strings were
+.IR "unsigned char *" s.
+.SH RETURN VALUE
+The
+.BR libsimple_strncmpnul ()
+function returns a negative value if
+.I a
+is less than
+.IR b ,
+a positive value if
+.I a
+is greater than
+.IR b ,
+and 0 otherwise.
+.SH ERRORS
+The
+.BR libsimple_strncmpnul ()
+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_strncmpnul ()
+T} Thread safety MT-Safe
+T{
+.BR libsimple_strncmpnul ()
+T} Async-signal safety AS-Safe
+T{
+.BR libsimple_strncmpnul ()
+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 BUGS
+None.
+.SH SEE ALSO
+.BR libsimple_strncasecmpnul (3),
+.BR libsimple_strneqnul (3),
+.BR libsimple_strcmpnul (3),
+.BR strncmp (3)