summaryrefslogtreecommitdiff
path: root/utils.c
diff options
context:
space:
mode:
authorKevin P. Fleming <kpfleming@digium.com>2006-02-23 17:13:57 +0000
committerKevin P. Fleming <kpfleming@digium.com>2006-02-23 17:13:57 +0000
commit302c9430013d40e82a3e9925e96921ba40650db1 (patch)
treea6044b368ffd4c159c9584c7fcf17347cb8cee67 /utils.c
parentc3447c7cce376c33d3ef7bf07ab5e4776f221534 (diff)
add 'consumed' argument to ast_get_time_t, so callers can know how many characters were used in the parser
update pbx_dundi to use ast_get_time_t eliminate some compiler warnings git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@10871 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'utils.c')
-rw-r--r--utils.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/utils.c b/utils.c
index 23c239295..ac2d11ba9 100644
--- a/utils.c
+++ b/utils.c
@@ -1051,9 +1051,10 @@ void __ast_string_field_index_build(struct ast_string_field_mgr *mgr,
/*
* get values from config variables.
*/
-int ast_get_time_t(const char *src, time_t *dst, time_t _default)
+int ast_get_time_t(const char *src, time_t *dst, time_t _default, int *consumed)
{
long t;
+ int scanned;
if (dst == NULL)
return -1;
@@ -1064,8 +1065,10 @@ int ast_get_time_t(const char *src, time_t *dst, time_t _default)
return -1;
/* only integer at the moment, but one day we could accept more formats */
- if (sscanf(src, "%ld", &t) == 1) {
+ if (sscanf(src, "%ld%n", &t, &scanned) == 1) {
*dst = t;
+ if (consumed)
+ *consumed = scanned;
return 0;
} else
return -1;