summaryrefslogtreecommitdiff
path: root/src/visibility.c
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2017-11-28 15:39:56 +0100
committerWerner Koch <wk@gnupg.org>2017-11-28 15:54:59 +0100
commit4a2538e69dd35377bce0fb584f72322c69a111b3 (patch)
tree97123f5455bbde9057cf06aab2d95bd1e573ce1e /src/visibility.c
parent241e9a73891fcd12f124aab1a299c2cf4f8eebc4 (diff)
downloadlibgpg-error-4a2538e69dd35377bce0fb584f72322c69a111b3.tar.gz
core: New API functions gpgrt_mkdir, gpgrt_chdir, gpgrt_getcwd.
* src/gpg-error.h.in (gpgrt_mkdir, gpgrt_chdir, gpgrt_getcwd): New. * src/visibility.c, src/visibility.h: Add wrappers. * src/gpg-error.vers, src/gpg-error.def.in: Add them. * src/sysutils.c (modestr_to_mode): New. (_gpgrt_mkdir, _gpgrt_chdir, _gpgrt_getcwd): New. * m4/gnupg-misc.m4: New. * m4/Makefile.am (EXTRA_DIST): Add new M4 file. * configure.ac: Call new GNUPG_FUNC_MKDIR_TAKES_ONE_ARG. (AC_CHECK_FUNCS): Add stat. -- The code has been taken from GnuPG. _gpgrt_mkdir was originally written by me as gnupg_mkdir and here relicensed to LGPLv2.1+. _gpgrt_getcwd was originally written by in 2007 and also here relicensed to LGPLv2.1. The new M4 macro was also written by me for use in in GnuPG; it has been taken from GnUPG's acinclude.m4, moved to its own file here, and relicensed to FSFULLR. Signed-off-by: Werner Koch <wk@gnupg.org>
Diffstat (limited to 'src/visibility.c')
-rw-r--r--src/visibility.c141
1 files changed, 81 insertions, 60 deletions
diff --git a/src/visibility.c b/src/visibility.c
index 45ac644..c0cab3d 100644
--- a/src/visibility.c
+++ b/src/visibility.c
@@ -504,66 +504,6 @@ gpgrt_read_line (estream_t stream,
max_length);
}
-void *
-gpgrt_realloc (void *a, size_t n)
-{
- return _gpgrt_realloc (a, n);
-}
-
-void *
-gpgrt_malloc (size_t n)
-{
- return _gpgrt_malloc (n);
-}
-
-void *
-gpgrt_calloc (size_t n, size_t m)
-{
- return _gpgrt_calloc (n, m);
-}
-
-char *
-gpgrt_strdup (const char *string)
-{
- return _gpgrt_strdup (string);
-}
-
-char *
-gpgrt_strconcat (const char *s1, ...)
-{
- va_list arg_ptr;
- char *result;
-
- if (!s1)
- result = _gpgrt_strdup ("");
- else
- {
- va_start (arg_ptr, s1);
- result = _gpgrt_strconcat_core (s1, arg_ptr);
- va_end (arg_ptr);
- }
- return result;
-}
-
-void
-gpgrt_free (void *a)
-{
- if (a)
- _gpgrt_free (a);
-}
-
-char *
-gpgrt_getenv (const char *name)
-{
- return _gpgrt_getenv (name);
-}
-
-int
-gpgrt_setenv (const char *name, const char *value, int overwrite)
-{
- return _gpgrt_setenv (name, value, overwrite);
-}
-
int
gpgrt_vfprintf (estream_t _GPGRT__RESTRICT stream,
const char *_GPGRT__RESTRICT format,
@@ -769,6 +709,85 @@ gpgrt_vsnprintf (char *buf, size_t bufsize,
+void *
+gpgrt_realloc (void *a, size_t n)
+{
+ return _gpgrt_realloc (a, n);
+}
+
+void *
+gpgrt_malloc (size_t n)
+{
+ return _gpgrt_malloc (n);
+}
+
+void *
+gpgrt_calloc (size_t n, size_t m)
+{
+ return _gpgrt_calloc (n, m);
+}
+
+char *
+gpgrt_strdup (const char *string)
+{
+ return _gpgrt_strdup (string);
+}
+
+char *
+gpgrt_strconcat (const char *s1, ...)
+{
+ va_list arg_ptr;
+ char *result;
+
+ if (!s1)
+ result = _gpgrt_strdup ("");
+ else
+ {
+ va_start (arg_ptr, s1);
+ result = _gpgrt_strconcat_core (s1, arg_ptr);
+ va_end (arg_ptr);
+ }
+ return result;
+}
+
+void
+gpgrt_free (void *a)
+{
+ if (a)
+ _gpgrt_free (a);
+}
+
+char *
+gpgrt_getenv (const char *name)
+{
+ return _gpgrt_getenv (name);
+}
+
+int
+gpgrt_setenv (const char *name, const char *value, int overwrite)
+{
+ return _gpgrt_setenv (name, value, overwrite);
+}
+
+int
+gpgrt_mkdir (const char *name, const char *modestr)
+{
+ return _gpgrt_mkdir (name, modestr);
+}
+
+int
+gpgrt_chdir (const char *name)
+{
+ return _gpgrt_chdir (name);
+}
+
+char *gpgrt_getcwd (void)
+{
+ return _gpgrt_getcwd ();
+}
+
+
+
gpgrt_b64state_t
gpgrt_b64dec_start (const char *title)
{
@@ -990,6 +1009,8 @@ _gpgrt_log_assert (const char *expr, const char *file,
+
+
/* For consistency reasons we use function wrappers also for Windows
* specific function despite that they are technically not needed. */