mirror of
git://git.gnupg.org/gnupg.git
synced 2025-01-21 14:47:03 +01:00
Add new set_binary feature to estream
This commit is contained in:
parent
a22c38baad
commit
57a3538555
@ -1,3 +1,7 @@
|
||||
2010-07-24 Werner Koch <wk@g10code.com>
|
||||
|
||||
* estream.c (es_set_binary): New.
|
||||
|
||||
2010-07-19 Werner Koch <wk@g10code.com>
|
||||
|
||||
* utf8conv.c (utf8_to_wchar): s/malloc/jnlib_malloc/.
|
||||
|
@ -3399,6 +3399,39 @@ es_setbuf (estream_t ES__RESTRICT stream, char *ES__RESTRICT buf)
|
||||
ESTREAM_UNLOCK (stream);
|
||||
}
|
||||
|
||||
|
||||
/* Put a stream into binary mode. This is only needed for the
|
||||
standard streams if they are to be used in a binary way. On Unix
|
||||
systems it is never needed but MSDOS based systems require such a
|
||||
call. It needs to be called before any I/O is done on STREAM. */
|
||||
void
|
||||
es_set_binary (estream_t stream)
|
||||
{
|
||||
ESTREAM_LOCK (stream);
|
||||
if (!(stream->intern->modeflags & O_BINARY))
|
||||
{
|
||||
stream->intern->modeflags |= O_BINARY;
|
||||
#ifdef HAVE_DOSISH_SYSTEM
|
||||
if (stream->intern->func_dest.func_read == es_func_fd_read)
|
||||
{
|
||||
estream_cookie_fd_t fd_cookie;
|
||||
|
||||
if (!IS_INVALID_FD (fd_cookie->fd))
|
||||
setmode (fd, O_BINARY);
|
||||
}
|
||||
else if (stream->intern->func_dest.func_read == es_func_fp_read)
|
||||
{
|
||||
estream_cookie_fp_t fp_cookie;
|
||||
|
||||
if (fp_cookie->fd)
|
||||
setmode (fileno (fp_cookie->fp), O_BINARY);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
ESTREAM_UNLOCK (stream);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
es_opaque_set (estream_t stream, void *opaque)
|
||||
{
|
||||
|
@ -125,6 +125,7 @@
|
||||
#define es_vfprintf_unlocked _ESTREAM_PREFIX(es_vfprint_unlocked)
|
||||
#define es_setvbuf _ESTREAM_PREFIX(es_setvbuf)
|
||||
#define es_setbuf _ESTREAM_PREFIX(es_setbuf)
|
||||
#define es_set_binary _ESTREAM_PREFIX(es_set_binary)
|
||||
#define es_tmpfile _ESTREAM_PREFIX(es_tmpfile)
|
||||
#define es_opaque_set _ESTREAM_PREFIX(es_opaque_set)
|
||||
#define es_opaque_get _ESTREAM_PREFIX(es_opaque_get)
|
||||
@ -355,6 +356,9 @@ int es_setvbuf (estream_t ES__RESTRICT stream,
|
||||
char *ES__RESTRICT buf, int mode, size_t size);
|
||||
void es_setbuf (estream_t ES__RESTRICT stream, char *ES__RESTRICT buf);
|
||||
|
||||
void es_set_binary (estream_t stream);
|
||||
|
||||
|
||||
estream_t es_tmpfile (void);
|
||||
|
||||
void es_opaque_set (estream_t ES__RESTRICT stream, void *ES__RESTRICT opaque);
|
||||
|
@ -1,3 +1,8 @@
|
||||
2010-07-24 Werner Koch <wk@g10code.com>
|
||||
|
||||
* dirmngr_ldap.c (main): Init common subsystems. Call
|
||||
es_set_binary.
|
||||
|
||||
2010-07-19 Werner Koch <wk@g10code.com>
|
||||
|
||||
* dirmngr.c: Include ldap-wrapper.h.
|
||||
|
@ -171,18 +171,17 @@ main (int argc, char **argv )
|
||||
char *p;
|
||||
int only_search_timeout = 0;
|
||||
|
||||
#ifdef HAVE_W32_SYSTEM
|
||||
/* Yeah, right. Sigh. */
|
||||
#error FIXME
|
||||
_setmode (_fileno (stdout), _O_BINARY);
|
||||
#endif
|
||||
|
||||
set_strusage (my_strusage);
|
||||
log_set_prefix ("dirmngr_ldap", JNLIB_LOG_WITH_PREFIX);
|
||||
|
||||
/* Setup I18N. */
|
||||
/* Setup I18N and common subsystems. */
|
||||
i18n_init();
|
||||
|
||||
init_common_subsystems (&argc, &argv);
|
||||
|
||||
es_set_binary (es_stdout);
|
||||
|
||||
|
||||
/* LDAP defaults */
|
||||
opt.timeout.tv_sec = DEFAULT_LDAP_TIMEOUT;
|
||||
opt.timeout.tv_usec = 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user