mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-18 15:49:56 +00:00
Fix a problem regarding network vs. host byte order
in the event API. ast_event_iterator_get_ie_type should return the ie type in host byte order. Furthermore, ast_event_get_ie_raw should already have its ie type argument in host byte order since it could be called externally (and it in fact is called in this way by ast_event_get_cached). git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@103282 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -388,7 +388,7 @@ int ast_event_iterator_next(struct ast_event_iterator *iterator)
|
|||||||
|
|
||||||
enum ast_event_ie_type ast_event_iterator_get_ie_type(struct ast_event_iterator *iterator)
|
enum ast_event_ie_type ast_event_iterator_get_ie_type(struct ast_event_iterator *iterator)
|
||||||
{
|
{
|
||||||
return iterator->ie->ie_type;
|
return ntohs(iterator->ie->ie_type);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t ast_event_iterator_get_ie_uint(struct ast_event_iterator *iterator)
|
uint32_t ast_event_iterator_get_ie_uint(struct ast_event_iterator *iterator)
|
||||||
@@ -430,8 +430,6 @@ const void *ast_event_get_ie_raw(const struct ast_event *event, enum ast_event_i
|
|||||||
struct ast_event_iterator iterator;
|
struct ast_event_iterator iterator;
|
||||||
int res = 0;
|
int res = 0;
|
||||||
|
|
||||||
ie_type = ntohs(ie_type);
|
|
||||||
|
|
||||||
for (ast_event_iterator_init(&iterator, event); !res; res = ast_event_iterator_next(&iterator)) {
|
for (ast_event_iterator_init(&iterator, event); !res; res = ast_event_iterator_next(&iterator)) {
|
||||||
if (ast_event_iterator_get_ie_type(&iterator) == ie_type)
|
if (ast_event_iterator_get_ie_type(&iterator) == ie_type)
|
||||||
return ast_event_iterator_get_ie_raw(&iterator);
|
return ast_event_iterator_get_ie_raw(&iterator);
|
||||||
|
|||||||
Reference in New Issue
Block a user