mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-04 12:12:48 +00:00
Merged revisions 160207 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r160207 | tilghman | 2008-12-01 18:25:16 -0600 (Mon, 01 Dec 2008) | 3 lines Ensure that Asterisk builds with --enable-dev-mode, even on the latest gcc and glibc. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@160208 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -2843,7 +2843,9 @@ static int retrieve_file(char *dir, int msgnum)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
truncate(full_fn, fdlen);
|
if (truncate(full_fn, fdlen) < 0) {
|
||||||
|
ast_log(LOG_WARNING, "Unable to truncate '%s': %s\n", full_fn, strerror(errno));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
res = SQLGetData(stmt, x + 1, SQL_CHAR, rowdata, sizeof(rowdata), NULL);
|
res = SQLGetData(stmt, x + 1, SQL_CHAR, rowdata, sizeof(rowdata), NULL);
|
||||||
|
@@ -449,7 +449,11 @@ static struct ast_channel *features_new(struct feature_pvt *p, int state, int id
|
|||||||
for (x=1;x<4;x++) {
|
for (x=1;x<4;x++) {
|
||||||
if (b2)
|
if (b2)
|
||||||
ast_free(b2);
|
ast_free(b2);
|
||||||
asprintf(&b2, "%s/%s-%d", p->tech, p->dest, x);
|
if (asprintf(&b2, "%s/%s-%d", p->tech, p->dest, x) < 0) {
|
||||||
|
ast_log(LOG_WARNING, "Unable to create channel name: %s\n", strerror(errno));
|
||||||
|
b2 = NULL;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
for (y=0;y<3;y++) {
|
for (y=0;y<3;y++) {
|
||||||
if (y == idx)
|
if (y == idx)
|
||||||
continue;
|
continue;
|
||||||
|
@@ -255,12 +255,16 @@ int __ast_string_field_init(struct ast_string_field_mgr *mgr,
|
|||||||
const char *__d__ = (data); \
|
const char *__d__ = (data); \
|
||||||
size_t __dlen__ = (__d__) ? strlen(__d__) + 1 : 1; \
|
size_t __dlen__ = (__d__) ? strlen(__d__) + 1 : 1; \
|
||||||
const char **__p__ = (const char **) (ptr); \
|
const char **__p__ = (const char **) (ptr); \
|
||||||
|
char *__q__; \
|
||||||
if (__dlen__ == 1) \
|
if (__dlen__ == 1) \
|
||||||
*__p__ = __ast_string_field_empty; \
|
*__p__ = __ast_string_field_empty; \
|
||||||
else if (!__ast_string_field_ptr_grow(&(x)->__field_mgr, __dlen__, ptr)) \
|
else if (!__ast_string_field_ptr_grow(&(x)->__field_mgr, __dlen__, ptr)) { \
|
||||||
memcpy((char *) *__p__, __d__, __dlen__); \
|
__q__ = (char *) *__p__; \
|
||||||
else if ((*__p__ = __ast_string_field_alloc_space(&(x)->__field_mgr, &(x)->__field_mgr_pool, __dlen__))) \
|
memcpy(__q__, __d__, __dlen__); \
|
||||||
memcpy((char *) *__p__, __d__, __dlen__); \
|
} else if ((*__p__ = __ast_string_field_alloc_space(&(x)->__field_mgr, &(x)->__field_mgr_pool, __dlen__))) { \
|
||||||
|
__q__ = (char *) *__p__; \
|
||||||
|
memcpy(__q__, __d__, __dlen__); \
|
||||||
|
} \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
@@ -1769,7 +1769,8 @@ static int __ast_cli_unregister(struct ast_cli_entry *e, struct ast_cli_entry *e
|
|||||||
e->_full_cmd = NULL;
|
e->_full_cmd = NULL;
|
||||||
if (e->handler) {
|
if (e->handler) {
|
||||||
/* this is a new-style entry. Reset fields and free memory. */
|
/* this is a new-style entry. Reset fields and free memory. */
|
||||||
memset((char **)(e->cmda), '\0', sizeof(e->cmda));
|
char *cmda = (char *) e->cmda;
|
||||||
|
memset(cmda, '\0', sizeof(e->cmda));
|
||||||
ast_free(e->command);
|
ast_free(e->command);
|
||||||
e->command = NULL;
|
e->command = NULL;
|
||||||
e->usage = NULL;
|
e->usage = NULL;
|
||||||
|
@@ -478,9 +478,12 @@ struct ast_frame *ast_frdup(const struct ast_frame *f)
|
|||||||
memcpy(out->data.ptr, f->data.ptr, out->datalen);
|
memcpy(out->data.ptr, f->data.ptr, out->datalen);
|
||||||
}
|
}
|
||||||
if (srclen > 0) {
|
if (srclen > 0) {
|
||||||
|
/* This may seem a little strange, but it's to avoid a gcc (4.2.4) compiler warning */
|
||||||
|
char *src;
|
||||||
out->src = buf + sizeof(*out) + AST_FRIENDLY_OFFSET + f->datalen;
|
out->src = buf + sizeof(*out) + AST_FRIENDLY_OFFSET + f->datalen;
|
||||||
|
src = (char *) out->src;
|
||||||
/* Must have space since we allocated for it */
|
/* Must have space since we allocated for it */
|
||||||
strcpy((char *)out->src, f->src);
|
strcpy(src, f->src);
|
||||||
}
|
}
|
||||||
ast_copy_flags(out, f, AST_FRFLAG_HAS_TIMING_INFO);
|
ast_copy_flags(out, f, AST_FRFLAG_HAS_TIMING_INFO);
|
||||||
out->ts = f->ts;
|
out->ts = f->ts;
|
||||||
|
@@ -7077,14 +7077,19 @@ int ast_context_add_ignorepat2(struct ast_context *con, const char *value, const
|
|||||||
{
|
{
|
||||||
struct ast_ignorepat *ignorepat, *ignorepatc, *ignorepatl = NULL;
|
struct ast_ignorepat *ignorepat, *ignorepatc, *ignorepatl = NULL;
|
||||||
int length;
|
int length;
|
||||||
|
char *pattern;
|
||||||
length = sizeof(struct ast_ignorepat);
|
length = sizeof(struct ast_ignorepat);
|
||||||
length += strlen(value) + 1;
|
length += strlen(value) + 1;
|
||||||
if (!(ignorepat = ast_calloc(1, length)))
|
if (!(ignorepat = ast_calloc(1, length)))
|
||||||
return -1;
|
return -1;
|
||||||
/* The cast to char * is because we need to write the initial value.
|
/* The cast to char * is because we need to write the initial value.
|
||||||
* The field is not supposed to be modified otherwise
|
* The field is not supposed to be modified otherwise. Also, gcc 4.2
|
||||||
|
* sees the cast as dereferencing a type-punned pointer and warns about
|
||||||
|
* it. This is the workaround (we're telling gcc, yes, that's really
|
||||||
|
* what we wanted to do).
|
||||||
*/
|
*/
|
||||||
strcpy((char *)ignorepat->pattern, value);
|
pattern = (char *) ignorepat->pattern;
|
||||||
|
strcpy(pattern, value);
|
||||||
ignorepat->next = NULL;
|
ignorepat->next = NULL;
|
||||||
ignorepat->registrar = registrar;
|
ignorepat->registrar = registrar;
|
||||||
ast_wrlock_context(con);
|
ast_wrlock_context(con);
|
||||||
|
Reference in New Issue
Block a user