diff options
| -rw-r--r-- | gpgme/ChangeLog | 6 | ||||
| -rw-r--r-- | gpgme/w32-util.c | 10 | 
2 files changed, 12 insertions, 4 deletions
| diff --git a/gpgme/ChangeLog b/gpgme/ChangeLog index 2587f16c..cdda77ca 100644 --- a/gpgme/ChangeLog +++ b/gpgme/ChangeLog @@ -1,3 +1,9 @@ +2008-06-26  Werner Koch  <[email protected]> + +	* w32-util.c (_gpgme_mkstemp): Replace sprint by stpcpy. +	(mkstemp): Need to use GetSystemTimeAsFileTime for better +	compatibility. +  2008-06-25  Marcus Brinkmann  <[email protected]>  	* gpgme-w32spawn.c: New file. diff --git a/gpgme/w32-util.c b/gpgme/w32-util.c index fc8e4be1..05a9069b 100644 --- a/gpgme/w32-util.c +++ b/gpgme/w32-util.c @@ -470,9 +470,11 @@ mkstemp (char *tmpl)    /* Get some more or less random data.  */    { -    struct timeval tv; -    gettimeofday (&tv, NULL); -    random_time_bits = ((uint64_t) tv.tv_usec << 16) ^ tv.tv_sec; +    FILETIME ft; + +    GetSystemTimeAsFileTime (&ft); +    random_time_bits = (((uint64_t)ft.dwHighDateTime << 32) +                        | (uint64_t)ft.dwLowDateTime);    }    value += random_time_bits ^ getpid (); @@ -537,7 +539,7 @@ _gpgme_mkstemp (int *fd, char **name)    tmpname = malloc (strlen (tmp) + 13 + 1);    if (!tmpname)      return -1; -  sprintf (tmpname, "%s\\gpgme-XXXXXX", tmp); +  strcpy (stpcpy (tmpname, tmp), "\\gpgme-XXXXXX");    *fd = mkstemp (tmpname);    if (fd < 0)      return -1; | 
