NAME
kjb_strncat - Catenates one string to another
SYNOPSIS
#include "l/l_string.h"
Example compile flags (system dependent):
-DLINUX_X86_64 -DLINUX_X86_64_OPTERON -DGNU_COMPILER
-I/home/kobus/include
-L/home/kobus/misc/load/linux_x86_64_opteron -L/usr/lib/x86_64-linux-gnu
-lKJB -lfftw3 -lgsl -lgslcblas -ljpeg -lSVM -lstdc++ -lpthread -lSLATEC -lg2c -lacml -lacml_mv -lblas -lg2c -lncursesw
void kjb_strncat
(
char *s1,
const char *s2,
size_t max_len
);
DESCRIPTION
kjb_strncat is similar to strncat but s1 always gets null terminated - IE
max_len includes the null. Also, assuming that max_len is the size of the
storage for s1, this routine will not write beyond that storage, including
the null.
This routine needs to be able to stop copying based on max_len, even if the
source string has more characters. For a version that returns ERROR on
possible buffer overflow, see kjb_buff_cat().
RETURNS
Unlike strncat(), this routine does not return anything.
MACROS
BUFF_CAT(char s1[], char* s2)
The buffer size parameter is set to sizeof(s1). Using sizeof to set the
buffer size is recomended where applicable, as the code will not be
broken if the buffer size changes. HOWEVER, neither this method, nor the
macro, is applicable if s1 is NOT a character array. If s1 is declared
by "char* s1", then the size of s1 is the number of bytes in a character
pointer (usually 8 or 4), which is NOT what is normally intended. In
development mode we print a warning if the buffer size is the same as that
of a pointer.
RELATED
kjb_buff_cat, kjb_buff_cpy, kjb_strncpy
DISCLAIMER
This software is not adequatedly tested. It is recomended that
results are checked independantly where appropriate.
AUTHOR
Kobus Barnard
DOCUMENTER
Kobus Barnard
SEE ALSO
signed_strlen
,
trim_beg
,
const_trim_beg
,
trim_end
,
trim_len
,
gen_trim_beg
,
const_gen_trim_beg
,
gen_trim_end
,
extended_uc_lc
,
extended_lc_uc
,
extended_n_uc_lc
,
extended_n_lc_uc
,
extended_tolower
,
extended_toupper
,
void_strcmp
,
kjb_strcmp
,
kjb_memcmp
,
kjb_strncmp
,
kjb_ic_strcmp
,
kjb_ic_strncmp
,
head_cmp
,
ic_head_cmp
,
ptr_strcmp
,
ptr_strncmp
,
ptr_ic_strcmp
,
ptr_head_cmp
,
ptr_ic_head_cmp
,
rpad
,
rpad_cpy
,
kjb_strdup
,
str_trunc_cpy
,
str_trunc_cat
,
trunc_quote_cpy
,
kjb_buff_cpy
,
kjb_strncpy
,
kjb_memcpy
,
extended_lc_strncpy
,
extended_uc_strncpy
,
kjb_buff_cat
,
cap_first_letter_cpy
,
str_build
,
str_n_build
,
str_char_build
,
byte_build
,
increment_byte_copy
,
fill_with_blanks
,
find_string
,
find_char
,
n_find_char
,
find_char_pair
,
count_char
,
word_in_phrase
,
char_for_char_translate
,
remove_duplicate_chars
,
str_delete
,
str_insert
,
sget_line
,
const_sget_line
,
sget_line_2
,
const_sget_line_2
,
get_str_indent
,
last_char
,
kjb_reverse
,
output_str