FreeTDS API
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
Dynamic string functions
LibTDS API

Handle dynamic string. More...

Macros

#define tds_dstr_buf(s)   ((s)->dstr_s)
 
#define tds_dstr_cstr(s)   ((const char* ) tds_dstr_buf(s))
 
#define tds_dstr_init(s)   do { DSTR *_tds_s = (s); _tds_s->dstr_size = 0; _tds_s->dstr_s = (char*) tds_str_empty; } while(0)
 init a string with empty
 
#define tds_dstr_isempty(s)   ((s)->dstr_size == 0)
 test if string is empty
 
#define tds_dstr_len(s)   ((s)->dstr_size)
 

Functions

DSTRtds_dstr_alloc (DSTR *s, size_t length)
 allocate space for length char
 
DSTRtds_dstr_copy (DSTR *s, const char *src)
 copy a string from another
 
DSTRtds_dstr_copyn (DSTR *s, const char *src, size_t length)
 Set string to a given buffer of characters.
 
DSTRtds_dstr_dup (DSTR *s, const DSTR *src)
 
void tds_dstr_free (DSTR *s)
 free string
 
DSTRtds_dstr_set (DSTR *s, char *src)
 set a string from another buffer.
 
DSTRtds_dstr_setlen (DSTR *s, size_t length)
 limit length of string, MUST be <= current length
 
void tds_dstr_zero (DSTR *s)
 clear all string filling with zeroes (mainly for security reason)
 

Detailed Description

Handle dynamic string.

In this string are always valid (you don't have NULL pointer, only empty string)

Function Documentation

DSTR * tds_dstr_alloc ( DSTR s,
size_t  length 
)

allocate space for length char

Parameters
sdynamic string
lengthnew length
Returns
string allocated or NULL on memory error
DSTR * tds_dstr_copy ( DSTR s,
const char *  src 
)

copy a string from another

Parameters
sdynamic string
srcsource buffer
Returns
string copied or NULL on memory error
DSTR * tds_dstr_copyn ( DSTR s,
const char *  src,
size_t  length 
)

Set string to a given buffer of characters.

Parameters
sdynamic string
srcsource buffer
lengthlength of source buffer
Returns
string copied or NULL on memory error
DSTR * tds_dstr_set ( DSTR s,
char *  src 
)

set a string from another buffer.

The string will use the supplied buffer (it not copy the string), so it should be a pointer returned by malloc.

Parameters
sdynamic string
srcsource buffer
Returns
string copied or NULL on memory error
DSTR * tds_dstr_setlen ( DSTR s,
size_t  length 
)

limit length of string, MUST be <= current length

Parameters
sdynamic string
lengthnew length