diff options
-rw-r--r-- | libsimple/str.h | 4 | ||||
-rw-r--r-- | libsimple/strn.h | 4 | ||||
l--------- | man3/libsimple_stpnset.3 | 1 | ||||
l--------- | man3/libsimple_stpset.3 | 1 | ||||
-rw-r--r-- | man3/libsimple_strnset.3 | 93 | ||||
-rw-r--r-- | man3/libsimple_strset.3 | 89 |
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) |