zeek/tools/binpac/src/pac_utils.cc
Tim Wojtulewicz ff26835976 Move binpac code into the main Zeek repository
This is based on commit 48f75b5f6415fe9d597e3e991cec635b1bc400dc from
the binpac repository.
2025-08-15 13:57:27 -07:00

37 lines
695 B
C++

#include "pac_utils.h"
#include <stdarg.h>
#include <stdio.h>
#include <string.h>
char* copy_string(const char* s) {
char* c = new char[strlen(s) + 1];
strcpy(c, s);
return c;
}
namespace {
const char* do_fmt(const char* format, va_list ap) {
static char buf[1024];
vsnprintf(buf, sizeof(buf), format, ap);
return buf;
}
} // namespace
string strfmt(const char* format, ...) {
va_list ap;
va_start(ap, format);
const char* r = do_fmt(format, ap);
va_end(ap);
return string(r);
}
char* nfmt(const char* format, ...) {
va_list ap;
va_start(ap, format);
const char* r = do_fmt(format, ap);
va_end(ap);
return copy_string(r);
}