NAME

kjb_strdup - Duplicates a string

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 


char *kjb_strdup(const char *input_string);

DESCRIPTION

This routine allocates enough storage for a copy of the input string, and then copies the input string. The newly allocated string is returned. If TEST is #defined (unix only) then this routine is #define'd to be debug_kjb_str_dup, which is the version available in the development library. In development code memory is tracked so that memory leaks can be found more easily. Furthermore, all memory freed is checked that it was allocated by an L library routine. The routine kjb_free (accessed via the macro kjb_free) should be used to dispose of the storage once it is no longer needed. It is an error for the input_string pointer to equal NULL.

RETURNS

On error, this routine returns NULL, with an error message being set. One success it returns a pointer to the duplicated string.

RELATED

kjb_malloc, print_allocated_memory, kjb_free

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 , 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 , kjb_strncat , 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