mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-06 04:30:28 +00:00
Remove the ill-advised ast_restrdupa API call and related structures
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@72492 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -244,24 +244,6 @@ void ast_join(char *s, size_t len, char * const w[]);
|
|||||||
*/
|
*/
|
||||||
int ast_get_time_t(const char *src, time_t *dst, time_t _default, int *consumed);
|
int ast_get_time_t(const char *src, time_t *dst, time_t _default, int *consumed);
|
||||||
|
|
||||||
/* The realloca lets us ast_restrdupa(), but you can't mix any other ast_strdup calls! */
|
|
||||||
|
|
||||||
struct ast_realloca {
|
|
||||||
char *ptr;
|
|
||||||
int alloclen;
|
|
||||||
};
|
|
||||||
|
|
||||||
#define ast_restrdupa(ra, s) \
|
|
||||||
({ \
|
|
||||||
if ((ra)->ptr && strlen(s) + 1 < (ra)->alloclen) { \
|
|
||||||
strcpy((ra)->ptr, s); \
|
|
||||||
} else { \
|
|
||||||
(ra)->ptr = alloca(strlen(s) + 1 - (ra)->alloclen); \
|
|
||||||
if ((ra)->ptr) (ra)->alloclen = strlen(s) + 1; \
|
|
||||||
} \
|
|
||||||
(ra)->ptr; \
|
|
||||||
})
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* Support for dynamic strings.
|
* Support for dynamic strings.
|
||||||
*
|
*
|
||||||
|
@@ -220,7 +220,6 @@ static struct ast_config *realtime_multi_odbc(const char *database, const char *
|
|||||||
struct ast_variable *var=NULL;
|
struct ast_variable *var=NULL;
|
||||||
struct ast_config *cfg=NULL;
|
struct ast_config *cfg=NULL;
|
||||||
struct ast_category *cat=NULL;
|
struct ast_category *cat=NULL;
|
||||||
struct ast_realloca ra;
|
|
||||||
SQLULEN colsize;
|
SQLULEN colsize;
|
||||||
SQLSMALLINT colcount=0;
|
SQLSMALLINT colcount=0;
|
||||||
SQLSMALLINT datatype;
|
SQLSMALLINT datatype;
|
||||||
@@ -231,10 +230,8 @@ static struct ast_config *realtime_multi_odbc(const char *database, const char *
|
|||||||
va_list aq;
|
va_list aq;
|
||||||
va_copy(aq, ap);
|
va_copy(aq, ap);
|
||||||
|
|
||||||
|
|
||||||
if (!table)
|
if (!table)
|
||||||
return NULL;
|
return NULL;
|
||||||
memset(&ra, 0, sizeof(ra));
|
|
||||||
|
|
||||||
obj = ast_odbc_request_obj(database, 0);
|
obj = ast_odbc_request_obj(database, 0);
|
||||||
if (!obj)
|
if (!obj)
|
||||||
|
@@ -208,7 +208,6 @@ static struct ast_config *realtime_multi_pgsql(const char *database, const char
|
|||||||
char *chunk;
|
char *chunk;
|
||||||
char *op;
|
char *op;
|
||||||
const char *newparam, *newval;
|
const char *newparam, *newval;
|
||||||
struct ast_realloca ra;
|
|
||||||
struct ast_variable *var = NULL;
|
struct ast_variable *var = NULL;
|
||||||
struct ast_config *cfg = NULL;
|
struct ast_config *cfg = NULL;
|
||||||
struct ast_category *cat = NULL;
|
struct ast_category *cat = NULL;
|
||||||
@@ -218,8 +217,6 @@ static struct ast_config *realtime_multi_pgsql(const char *database, const char
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
memset(&ra, 0, sizeof(ra));
|
|
||||||
|
|
||||||
if (!(cfg = ast_config_new()))
|
if (!(cfg = ast_config_new()))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user