aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--libsimple/str.h4
-rw-r--r--libsimple/strn.h4
l---------man3/libsimple_stpnset.31
l---------man3/libsimple_stpset.31
-rw-r--r--man3/libsimple_strnset.393
-rw-r--r--man3/libsimple_strset.389
6 files changed, 188 insertions, 4 deletions
diff --git a/libsimple/str.h b/libsimple/str.h
index afa0190..01ce0f7 100644
--- a/libsimple/str.h
+++ b/libsimple/str.h
@@ -511,7 +511,7 @@ static inline char *libsimple_stpmove(char *__d, const char *__s)
*/
_LIBSIMPLE_GCC_ONLY(__attribute__((__nonnull__)))
static inline char *
-libsimple_strset(char *__s, int __c_) /* TODO man */
+libsimple_strset(char *__s, int __c_)
{
char __c = (char)__c_, *__r = __s;
while (*__s) *__s++ = __c;
@@ -531,7 +531,7 @@ libsimple_strset(char *__s, int __c_) /* TODO man */
*/
_LIBSIMPLE_GCC_ONLY(__attribute__((__nonnull__)))
static inline char *
-libsimple_stpset(char *__s, int __c_) /* TODO man */
+libsimple_stpset(char *__s, int __c_)
{
char __c = (char)__c_;
while (*__s) *__s++ = __c;
diff --git a/libsimple/strn.h b/libsimple/strn.h
index 370ac8b..d9d67ff 100644
--- a/libsimple/strn.h
+++ b/libsimple/strn.h
@@ -584,7 +584,7 @@ libsimple_stpnmove(char *__d, const char *__s, size_t __n)
*/
_LIBSIMPLE_GCC_ONLY(__attribute__((__nonnull__)))
static inline char *
-libsimple_strnset(char *__s, int __c_, size_t __n) /* TODO man */
+libsimple_strnset(char *__s, int __c_, size_t __n)
{
char __c = (char)__c_, *__r = __s;
for (; __n && *__s; __n--) *__s++ = __c;
@@ -605,7 +605,7 @@ libsimple_strnset(char *__s, int __c_, size_t __n) /* TODO man */
*/
_LIBSIMPLE_GCC_ONLY(__attribute__((__nonnull__)))
static inline char *
-libsimple_stpnset(char *__s, int __c_, size_t __n) /* TODO man */
+libsimple_stpnset(char *__s, int __c_, size_t __n)
{
char __c = (char)__c_;
for (; __n && *__s; __n--) *__s++ = __c;
diff --git a/man3/libsimple_stpnset.3 b/man3/libsimple_stpnset.3
new file mode 120000
index 0000000..0e4427d
--- /dev/null
+++ b/man3/libsimple_stpnset.3
@@ -0,0 +1 @@
+libsimple_strnset.3 \ No newline at end of file
diff --git a/man3/libsimple_stpset.3 b/man3/libsimple_stpset.3
new file mode 120000
index 0000000..dc775b8
--- /dev/null
+++ b/man3/libsimple_stpset.3
@@ -0,0 +1 @@
+libsimple_strset.3 \ No newline at end of file
diff --git a/man3/libsimple_strnset.3 b/man3/libsimple_strnset.3
new file mode 100644
index 0000000..3807917
--- /dev/null
+++ b/man3/libsimple_strnset.3
@@ -0,0 +1,93 @@
+.TH LIBSIMPLE_STRNSET 3 2018-11-25 libsimple
+.SH NAME
+libsimple_strnset, libsimple_stpnset \- fill a string with a character
+.SH SYNOPSIS
+.nf
+#include <libsimple.h>
+
+static inline char *libsimple_strnset(char *\fIs\fP, int \fIc\fP, size_t \fIn\fP);
+static inline char *libsimple_stpnset(char *\fIs\fP, int \fIc\fP, size_t \fIn\fP);
+
+#ifndef strnset
+# define strnset libsimple_strnset
+#endif
+#ifndef stpnset
+# define stpnset libsimple_stpnset
+#endif
+.fi
+.PP
+Link with
+.IR \-lsimple .
+.SH DESCRIPTION
+The
+.BR libsimple_strnset ()
+and
+.BR libsimple_stpnset ()
+functions replace the
+.I n
+characters in the string
+.I s
+(or all characters if
+.I s
+is shorter) with the character
+.IR c .
+.SH RETURN VALUE
+The
+.BR libsimple_strnset ()
+function returns the pointer
+.IR s .
+The
+.BR libsimple_strnset ()
+function returns the end of
+.I s
+(that is
+.IR &s[strnlen(s,n)] ,
+as evaluated before the function call.
+.SH ERRORS
+The
+.BR libsimple_strnset ()
+and
+.BR libsimple_stpnset ()
+functions 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_strnset (),
+.br
+.BR libsimple_stpnset ()
+T} Thread safety MT-Safe
+T{
+.BR libsimple_strnset (),
+.br
+.BR libsimple_stpnset ()
+T} Async-signal safety AS-Safe
+T{
+.BR libsimple_strnset (),
+.br
+.BR libsimple_stpnset ()
+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_strset (3),
+.BR libsimple_mempset (3),
+.BR strncpy (3),
+.BR stpncpy (3),
+.BR memset (3)
diff --git a/man3/libsimple_strset.3 b/man3/libsimple_strset.3
new file mode 100644
index 0000000..d504edf
--- /dev/null
+++ b/man3/libsimple_strset.3
@@ -0,0 +1,89 @@
+.TH LIBSIMPLE_STRSET 3 2018-11-25 libsimple
+.SH NAME
+libsimple_strset, libsimple_stpset \- fill a string with a character
+.SH SYNOPSIS
+.nf
+#include <libsimple.h>
+
+static inline char *libsimple_strset(char *\fIs\fP, int \fIc\fP);
+static inline char *libsimple_stpset(char *\fIs\fP, int \fIc\fP);
+
+#ifndef strset
+# define strset libsimple_strset
+#endif
+#ifndef stpset
+# define stpset libsimple_stpset
+#endif
+.fi
+.PP
+Link with
+.IR \-lsimple .
+.SH DESCRIPTION
+The
+.BR libsimple_strset ()
+and
+.BR libsimple_stpset ()
+functions replace all characters in the string
+.I s
+with the character
+.IR c .
+.SH RETURN VALUE
+The
+.BR libsimple_strset ()
+function returns the pointer
+.IR s .
+The
+.BR libsimple_strset ()
+function returns the end of
+.I s
+(that is
+.IR &s[strlen(s)] ,
+as evaluated before the function call.
+.SH ERRORS
+The
+.BR libsimple_strset ()
+and
+.BR libsimple_stpset ()
+functions 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_strset (),
+.br
+.BR libsimple_stpset ()
+T} Thread safety MT-Safe
+T{
+.BR libsimple_strset (),
+.br
+.BR libsimple_stpset ()
+T} Async-signal safety AS-Safe
+T{
+.BR libsimple_strset (),
+.br
+.BR libsimple_stpset ()
+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_strnset (3),
+.BR libsimple_mempset (3),
+.BR strcpy (3),
+.BR stpcpy (3),
+.BR memset (3)