diff options
author | Paul Kocialkowski <contact@paulk.fr> | 2014-08-02 14:29:43 +0200 |
---|---|---|
committer | Paul Kocialkowski <contact@paulk.fr> | 2014-08-02 15:13:29 +0200 |
commit | 5bd35c74cbe3aed1dc8010f42c593e3b2f0add99 (patch) | |
tree | 90f180b8d6b89b3b01e0ee0dffbed7885d2af789 /samsung-ipc | |
parent | bb5f109e0d256a54dfda990478f8586e50c7a270 (diff) | |
download | external_libsamsung-ipc-5bd35c74cbe3aed1dc8010f42c593e3b2f0add99.zip external_libsamsung-ipc-5bd35c74cbe3aed1dc8010f42c593e3b2f0add99.tar.gz external_libsamsung-ipc-5bd35c74cbe3aed1dc8010f42c593e3b2f0add99.tar.bz2 |
call: Size function for helpers that return data with non-explicit size
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
Diffstat (limited to 'samsung-ipc')
-rw-r--r-- | samsung-ipc/call.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/samsung-ipc/call.c b/samsung-ipc/call.c index 37bdc20..b0720ad 100644 --- a/samsung-ipc/call.c +++ b/samsung-ipc/call.c @@ -106,6 +106,19 @@ char *ipc_call_list_entry_number_extract(const struct ipc_call_list_entry *entry return number; } +size_t ipc_call_burst_dtmf_size_setup(const struct ipc_call_burst_dtmf_request_entry *entries, + unsigned char count) +{ + size_t size; + + if (entries == NULL) + return 0; + + size = sizeof(struct ipc_call_burst_dtmf_request_header) + count * sizeof(struct ipc_call_burst_dtmf_request_entry); + + return size; +} + void *ipc_call_burst_dtmf_setup(const struct ipc_call_burst_dtmf_request_entry *entries, unsigned char count) { @@ -116,7 +129,9 @@ void *ipc_call_burst_dtmf_setup(const struct ipc_call_burst_dtmf_request_entry * if (entries == NULL) return NULL; - size = sizeof(struct ipc_call_burst_dtmf_request_header) + count * sizeof(struct ipc_call_burst_dtmf_request_entry); + size = ipc_call_burst_dtmf_size_setup(entries, count); + if (size == 0) + return NULL; data = calloc(1, size); |