aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gpg-error.def.in3
-rw-r--r--src/gpg-error.h.in14
-rw-r--r--src/gpg-error.vers2
-rw-r--r--src/visibility.c20
-rw-r--r--src/visibility.h4
5 files changed, 38 insertions, 5 deletions
diff --git a/src/gpg-error.def.in b/src/gpg-error.def.in
index e7c8e8c..7ccd05e 100644
--- a/src/gpg-error.def.in
+++ b/src/gpg-error.def.in
@@ -126,6 +126,7 @@ EXPORTS
gpgrt_vasprintf @93
gpgrt_bsprintf @94
gpgrt_vbsprintf @95
-
+ gpgrt_snprintf @96
+ gpgrt_vsnprintf @97
;; end of file with public symbols for Windows.
diff --git a/src/gpg-error.h.in b/src/gpg-error.h.in
index 1e10d97..20139ee 100644
--- a/src/gpg-error.h.in
+++ b/src/gpg-error.h.in
@@ -585,15 +585,21 @@ void *gpgrt_opaque_get (gpgrt_stream_t stream);
void gpgrt_fname_set (gpgrt_stream_t stream, const char *fname);
const char *gpgrt_fname_get (gpgrt_stream_t stream);
-int gpgrt_asprintf (char **r_buf, const char *_GPGRT__RESTRICT format, ...)
+int gpgrt_asprintf (char **r_buf, const char * _GPGRT__RESTRICT format, ...)
_GPGRT_GCC_A_PRINTF(2,3);
-int gpgrt_vasprintf (char **r_buf, const char *_GPGRT__RESTRICT format,
+int gpgrt_vasprintf (char **r_buf, const char * _GPGRT__RESTRICT format,
va_list ap)
_GPGRT_GCC_A_PRINTF(2,0);
-char *gpgrt_bsprintf (const char *_GPGRT__RESTRICT format, ...)
+char *gpgrt_bsprintf (const char * _GPGRT__RESTRICT format, ...)
_GPGRT_GCC_A_PRINTF(1,2);
-char *gpgrt_vbsprintf (const char *_GPGRT__RESTRICT format, va_list ap)
+char *gpgrt_vbsprintf (const char * _GPGRT__RESTRICT format, va_list ap)
_GPGRT_GCC_A_PRINTF(1,0);
+int gpgrt_snprintf (char *buf, size_t bufsize,
+ const char * _GPGRT__RESTRICT format, ...)
+ _GPGRT_GCC_A_PRINTF(3,4);
+int gpgrt_vsnprintf (char *buf,size_t bufsize,
+ const char * _GPGRT__RESTRICT format, va_list arg_ptr)
+ _GPGRT_GCC_A_PRINTF(3,0);
#ifdef GPGRT_ENABLE_ES_MACROS
diff --git a/src/gpg-error.vers b/src/gpg-error.vers
index f878b07..a4ff726 100644
--- a/src/gpg-error.vers
+++ b/src/gpg-error.vers
@@ -109,6 +109,8 @@ GPG_ERROR_1.0 {
gpgrt_vasprintf;
gpgrt_bsprintf;
gpgrt_vbsprintf;
+ gpgrt_snprintf;
+ gpgrt_vsnprintf;
local:
*;
diff --git a/src/visibility.c b/src/visibility.c
index d53ec26..811a5cf 100644
--- a/src/visibility.c
+++ b/src/visibility.c
@@ -619,3 +619,23 @@ gpgrt_vbsprintf (const char *_GPGRT__RESTRICT format, va_list ap)
return NULL;
return buf;
}
+
+int
+gpgrt_snprintf (char *buf, size_t bufsize, const char *format, ...)
+{
+ int rc;
+ va_list arg_ptr;
+
+ va_start (arg_ptr, format);
+ rc = _gpgrt_estream_vsnprintf (buf, bufsize, format, arg_ptr);
+ va_end (arg_ptr);
+
+ return rc;
+}
+
+int
+gpgrt_estream_vsnprintf (char *buf, size_t bufsize,
+ const char *format, va_list arg_ptr)
+{
+ return _gpgrt_estream_vsnprintf (buf, bufsize, format, arg_ptr);
+}
diff --git a/src/visibility.h b/src/visibility.h
index 6455c1e..873ed5b 100644
--- a/src/visibility.h
+++ b/src/visibility.h
@@ -130,6 +130,8 @@ MARK_VISIBLE (gpgrt_asprintf)
MARK_VISIBLE (gpgrt_vasprintf)
MARK_VISIBLE (gpgrt_bsprintf)
MARK_VISIBLE (gpgrt_vbsprintf)
+MARK_VISIBLE (gpgrt_snprintf)
+MARK_VISIBLE (gpgrt_vsnprintf)
#undef MARK_VISIBLE
@@ -225,6 +227,8 @@ MARK_VISIBLE (gpgrt_vbsprintf)
#define gpgrt_vasprintf _gpgrt_USE_UNDERSCORED_FUNCTION
#define gpgrt_bsprintf _gpgrt_USE_UNDERSCORED_FUNCTION
#define gpgrt_vbsprintf _gpgrt_USE_UNDERSCORED_FUNCTION
+#define gpgrt_snprintf _gpgrt_USE_UNDERSCORED_FUNCTION
+#define gpgrt_vsnprintf _gpgrt_USE_UNDERSCORED_FUNCTION
#endif /*!_GPGRT_INCL_BY_VISIBILITY_C*/