aboutsummaryrefslogtreecommitdiffstats
path: root/tools/gpg-check-pattern.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2020-10-20 09:52:16 +0000
committerWerner Koch <[email protected]>2020-10-20 10:15:56 +0000
commit390497ea115e1aca93feec297a5bd6ae7b1ba6dd (patch)
tree675448ff809e3f333bba4918e4787eacda7f8190 /tools/gpg-check-pattern.c
parentReplace all calls to access by gnupg_access (diff)
downloadgnupg-390497ea115e1aca93feec297a5bd6ae7b1ba6dd.tar.gz
gnupg-390497ea115e1aca93feec297a5bd6ae7b1ba6dd.zip
Replace most of the remaining stdio calls by estream calls.
-- We need to use es_fopen on Windows to cope with non-ascii file names. This is quite a large but fortunately straightforward change. At a very few places we keep using stdio (for example due to the use of popen). GnuPG-bug-id: 5098 Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'tools/gpg-check-pattern.c')
-rw-r--r--tools/gpg-check-pattern.c24
1 files changed, 11 insertions, 13 deletions
diff --git a/tools/gpg-check-pattern.c b/tools/gpg-check-pattern.c
index b3e1d5268..d798dbe2e 100644
--- a/tools/gpg-check-pattern.c
+++ b/tools/gpg-check-pattern.c
@@ -231,7 +231,7 @@ main (int argc, char **argv )
static char *
read_file (const char *fname, size_t *r_length)
{
- FILE *fp;
+ estream_t fp;
char *buf;
size_t buflen;
@@ -239,10 +239,8 @@ read_file (const char *fname, size_t *r_length)
{
size_t nread, bufsize = 0;
- fp = stdin;
-#ifdef HAVE_DOSISH_SYSTEM
- setmode ( fileno(fp) , O_BINARY );
-#endif
+ fp = es_stdin;
+ es_set_binary (fp);
buf = NULL;
buflen = 0;
#define NCHUNK 8192
@@ -254,8 +252,8 @@ read_file (const char *fname, size_t *r_length)
else
buf = xrealloc (buf, bufsize+1);
- nread = fread (buf+buflen, 1, NCHUNK, fp);
- if (nread < NCHUNK && ferror (fp))
+ nread = es_fread (buf+buflen, 1, NCHUNK, fp);
+ if (nread < NCHUNK && es_ferror (fp))
{
log_error ("error reading '[stdin]': %s\n", strerror (errno));
xfree (buf);
@@ -271,30 +269,30 @@ read_file (const char *fname, size_t *r_length)
{
struct stat st;
- fp = fopen (fname, "rb");
+ fp = es_fopen (fname, "rb");
if (!fp)
{
log_error ("can't open '%s': %s\n", fname, strerror (errno));
return NULL;
}
- if (fstat (fileno(fp), &st))
+ if (fstat (es_fileno (fp), &st))
{
log_error ("can't stat '%s': %s\n", fname, strerror (errno));
- fclose (fp);
+ es_fclose (fp);
return NULL;
}
buflen = st.st_size;
buf = xmalloc (buflen+1);
- if (fread (buf, buflen, 1, fp) != 1)
+ if (es_fread (buf, buflen, 1, fp) != 1)
{
log_error ("error reading '%s': %s\n", fname, strerror (errno));
- fclose (fp);
+ es_fclose (fp);
xfree (buf);
return NULL;
}
- fclose (fp);
+ es_fclose (fp);
}
buf[buflen] = 0;
*r_length = buflen;