summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorKevin P. Fleming <kpfleming@digium.com>2005-05-15 22:33:02 +0000
committerKevin P. Fleming <kpfleming@digium.com>2005-05-15 22:33:02 +0000
commiteaececc92004e61ef75c936652cf948e560af8f2 (patch)
tree57e238c52aa2a0479fb069df9351ed3ef2f4fdf3 /include
parentfb59e4a85746b64df2578ee29d2276740775e5b6 (diff)
add ast_build_string library function (from bug #3644)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5684 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'include')
-rwxr-xr-xinclude/asterisk/utils.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/include/asterisk/utils.h b/include/asterisk/utils.h
index 5668b316e..5a772b12f 100755
--- a/include/asterisk/utils.h
+++ b/include/asterisk/utils.h
@@ -185,6 +185,7 @@ extern char *ast_strcasestr(const char *, const char *);
\param dst The destination buffer.
\param src The source string
\param size The size of the destination buffer
+ \return Nothing.
This is similar to \a strncpy, with two important differences:
- the destination buffer will \b always be null-terminated
@@ -193,8 +194,20 @@ extern char *ast_strcasestr(const char *, const char *);
not leave the destination buffer unterminated. There is no need to pass an artificially
reduced buffer size to this function (unlike \a strncpy), and the buffer does not need
to be initialized to zeroes prior to calling this function.
- No return value.
*/
void ast_copy_string(char *dst, const char *src, size_t size);
+/*!
+ \brief Build a string in a buffer, designed to be called repeatedly
+
+ This is a wrapper for snprintf, that properly handles the buffer pointer
+ and buffer space available.
+
+ \return 0 on success, non-zero on failure.
+ \param buffer current position in buffer to place string into (will be updated on return)
+ \param space remaining space in buffer (will be updated on return)
+ \param fmt printf-style format string
+*/
+int ast_build_string(char **buffer, size_t *space, const char *fmt, ...) __attribute__ ((format (printf, 3, 4)));
+
#endif /* _ASTERISK_UTILS_H */