make the 'name' and 'value' fields in ast_variable const char *

This prevents modifying the strings in the stored variables, 
and catched a few instances where this was actually done.

Given the differences between trunk and 1.4 (and the fact that this
is effectively an API change) it is better to fix 1.4 independently.
These are

chan_sip.c::sip_register()
chan_skinny.c:: near line 2847
config.c:: near line 1774
logger.c::make_components()
res_adsi.c:: near line 1049

I may have missed some instances for modules that do not build here.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89268 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Luigi Rizzo
2007-11-14 13:18:40 +00:00
parent d3414c7552
commit 7f8ecd2cd3
23 changed files with 75 additions and 60 deletions

View File

@@ -193,7 +193,7 @@ void ast_jb_destroy(struct ast_channel *chan);
*
* \return zero if the property was set to the configuration, -1 if not.
*/
int ast_jb_read_conf(struct ast_jb_conf *conf, char *varname, char *value);
int ast_jb_read_conf(struct ast_jb_conf *conf, const char *varname, const char *value);
/*!

View File

@@ -56,7 +56,7 @@ struct ast_ha {
void ast_free_ha(struct ast_ha *ha);
/*! \brief Append ACL entry to host access list. */
struct ast_ha *ast_append_ha(char *sense, char *stuff, struct ast_ha *path, int *error);
struct ast_ha *ast_append_ha(const char *sense, const char *stuff, struct ast_ha *path, int *error);
/*! \brief Check IP address with host access list */
int ast_apply_ha(struct ast_ha *ha, struct sockaddr_in *sin);

View File

@@ -50,16 +50,18 @@ enum {
/*! \brief Structure for variables, used for configurations and for channel variables
*/
struct ast_variable {
char *name;
char *value;
const char *name;
const char *value;
struct ast_variable *next;
char *file;
int lineno;
int object; /*!< 0 for variable, 1 for object */
int blanklines; /*!< Number of blanklines following entry */
struct ast_comment *precomments;
struct ast_comment *sameline;
struct ast_comment *trailing; /*!< the last object in the list will get assigned any trailing comments when EOF is hit */
struct ast_variable *next;
char stuff[0];
};