mirror of
https://git.code.sf.net/p/ngspice/ngspice
synced 2026-09-03 02:53:04 +02:00
introduce tvprintf()
This commit is contained in:
+20
-9
@@ -53,24 +53,21 @@ copy_substring(const char *str, const char *end)
|
||||
}
|
||||
|
||||
|
||||
char*
|
||||
tprintf(const char *fmt, ...)
|
||||
char *
|
||||
tvprintf(const char *fmt, va_list args)
|
||||
{
|
||||
char buf[1024];
|
||||
char *p = buf;
|
||||
int size = sizeof(buf);
|
||||
|
||||
va_list args;
|
||||
|
||||
for (;;) {
|
||||
|
||||
int nchars;
|
||||
va_list ap;
|
||||
|
||||
va_start(args, fmt);
|
||||
|
||||
nchars = vsnprintf(p, (size_t) size, fmt, args);
|
||||
|
||||
va_end(args);
|
||||
va_copy(ap, args);
|
||||
nchars = vsnprintf(p, (size_t) size, fmt, ap);
|
||||
va_end(ap);
|
||||
|
||||
if (nchars == -1) { // compatibility to old implementations
|
||||
size *= 2;
|
||||
@@ -91,6 +88,20 @@ tprintf(const char *fmt, ...)
|
||||
}
|
||||
|
||||
|
||||
char *
|
||||
tprintf(const char *fmt, ...)
|
||||
{
|
||||
char *rv;
|
||||
va_list ap;
|
||||
|
||||
va_start(ap, fmt);
|
||||
rv = tvprintf(fmt, ap);
|
||||
va_end(ap);
|
||||
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
||||
/* Determine whether sub is a substring of str. */
|
||||
/* Like strstr( ) XXX */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user