diff options
| author | Marcus Brinkmann <[email protected]> | 2011-02-02 12:51:42 +0000 | 
|---|---|---|
| committer | Marcus Brinkmann <[email protected]> | 2011-02-02 12:51:42 +0000 | 
| commit | de287a7996c85e6c6eb740f110df0f904d4cd867 (patch) | |
| tree | 729842fdc776f6d4762d9e247bdab87f15fb099b /src | |
| parent | Fix gpgconf option change if not self-assigning. (diff) | |
| parent | 2011-02-02 Marcus Brinkmann <[email protected]> (diff) | |
| download | gpgme-de287a7996c85e6c6eb740f110df0f904d4cd867.tar.gz gpgme-de287a7996c85e6c6eb740f110df0f904d4cd867.zip | |
Merge commit 'a2b9adafe46c55a2c26dd46163055bbdf3526835'
Diffstat (limited to '')
| -rw-r--r-- | src/ChangeLog | 6 | ||||
| -rw-r--r-- | src/w32-util.c | 30 | 
2 files changed, 21 insertions, 15 deletions
| diff --git a/src/ChangeLog b/src/ChangeLog index fdd3e496..fbe92be0 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2011-02-02  Marcus Brinkmann  <[email protected]> + +	* w32-util.c (mkstemp): Don't use CreateFile instead of open (the +	function is not used on Windows CE, and the callers were not +	adjusted). +  2011-01-21  Marcus Brinkmann  <[email protected]>  	* engine-gpgconf.c (_gpgme_conf_opt_change): Fix the case that is diff --git a/src/w32-util.c b/src/w32-util.c index 78578f9e..b33aa2c6 100644 --- a/src/w32-util.c +++ b/src/w32-util.c @@ -476,6 +476,14 @@ _gpgme_get_conf_int (const char *key, int *value)  } +#ifdef HAVE_W32CE_SYSTEM +int +_gpgme_mkstemp (int *fd, char **name) +{ +  return -1; +} +#else +  /* mkstemp extracted from libc/sysdeps/posix/tempname.c.  Copyright     (C) 1991-1999, 2000, 2001, 2006 Free Software Foundation, Inc. @@ -499,7 +507,7 @@ mkstemp (char *tmpl)    static uint64_t value;    uint64_t random_time_bits;    unsigned int count; -  HANDLE fd = INVALID_HANDLE_VALUE; +  int fd = -1;    int save_errno = errno;    /* A lower bound on the number of temporary files to attempt to @@ -555,23 +563,14 @@ mkstemp (char *tmpl)        v /= 62;        XXXXXX[5] = letters[v % 62]; -      fd = CreateFileA (tmpl,  -                        GENERIC_WRITE|GENERIC_READ, -                        FILE_SHARE_READ|FILE_SHARE_WRITE, -                        NULL, -                        CREATE_NEW, -                        FILE_ATTRIBUTE_NORMAL, -                        NULL); -      if (fd != INVALID_HANDLE_VALUE) +      fd = open (tmpl, O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR); +      if (fd >= 0)  	{  	  gpg_err_set_errno (save_errno); -	  return (int)fd; +	  return fd;  	} -      else if (GetLastError () != ERROR_FILE_EXISTS) -        { -	  gpg_err_set_errno (EIO); -          return -1; -        } +      else if (errno != EEXIST) +	return -1;      }    /* We got out of the loop because we ran out of combinations to try.  */ @@ -616,6 +615,7 @@ _gpgme_mkstemp (int *fd, char **name)    *name = tmpname;    return 0;  } +#endif | 
