mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
libdm-string: Add dm_vasprintf.
This commit is contained in:
parent
88ae884095
commit
e0c2211c34
@ -1291,6 +1291,7 @@ int dm_fclose(FILE *stream);
|
||||
*/
|
||||
int dm_asprintf(char **buf, const char *format, ...)
|
||||
__attribute__ ((format(printf, 2, 3)));
|
||||
int dm_vasprintf(char **buf, const char *format, va_list ap);
|
||||
|
||||
/*
|
||||
* create lockfile (pidfile) - create and lock a lock file
|
||||
|
@ -129,7 +129,7 @@ const char *dm_basename(const char *path)
|
||||
return p ? p + 1 : path;
|
||||
}
|
||||
|
||||
int dm_asprintf(char **result, const char *format, ...)
|
||||
int dm_vasprintf(char **result, const char *format, va_list aq)
|
||||
{
|
||||
int i, n, size = 16;
|
||||
va_list ap;
|
||||
@ -141,7 +141,7 @@ int dm_asprintf(char **result, const char *format, ...)
|
||||
return -1;
|
||||
|
||||
for (i = 0;; i++) {
|
||||
va_start(ap, format);
|
||||
va_copy(ap, aq);
|
||||
n = vsnprintf(buf, size, format, ap);
|
||||
va_end(ap);
|
||||
|
||||
@ -168,6 +168,16 @@ int dm_asprintf(char **result, const char *format, ...)
|
||||
return n + 1;
|
||||
}
|
||||
|
||||
int dm_asprintf(char **result, const char *format, ...)
|
||||
{
|
||||
int r;
|
||||
va_list ap;
|
||||
va_start(ap, format);
|
||||
r = dm_vasprintf(result, format, ap);
|
||||
va_end(ap);
|
||||
return r;
|
||||
}
|
||||
|
||||
/*
|
||||
* Count occurences of 'c' in 'str' until we reach a null char.
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user