diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/ChangeLog | 6 | ||||
| -rw-r--r-- | tests/gpg/t-support.h | 15 | ||||
| -rw-r--r-- | tests/gpgsm/t-support.h | 16 | 
3 files changed, 34 insertions, 3 deletions
| diff --git a/tests/ChangeLog b/tests/ChangeLog index fcdf1565..ab9a60aa 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,9 @@ +2009-06-22  Marcus Brinkmann  <[email protected]> + +	* gpg/t-support.h (passphrase_cb): Implement write() according to +	the book to silence compiler warning. +	* gpgsm/t-support.h (passphrase_cb): Likewise. +  2009-06-16  Werner Koch  <[email protected]>  	* gpg/pgp-import.c: New. diff --git a/tests/gpg/t-support.h b/tests/gpg/t-support.h index 13475f29..6e282a34 100644 --- a/tests/gpg/t-support.h +++ b/tests/gpg/t-support.h @@ -80,7 +80,20 @@ passphrase_cb (void *opaque, const char *uid_hint, const char *passphrase_info,    DWORD written;    WriteFile ((HANDLE) fd, "abc\n", 4, &written, 0);  #else -  write (fd, "abc\n", 4); +  int res; +  char *pass = "abc\n"; +  int passlen = strlen (pass); +  int off = 0; + +  do +    { +      res = write (fd, &pass[off], passlen - off); +      if (res > 0) +	off += res; +    } +  while (res > 0 && off != passlen); + +  return off == passlen ? 0 : gpgme_error_from_errno (errno);  #endif    return 0; diff --git a/tests/gpgsm/t-support.h b/tests/gpgsm/t-support.h index 07f00c38..6dc14569 100644 --- a/tests/gpgsm/t-support.h +++ b/tests/gpgsm/t-support.h @@ -62,8 +62,20 @@ gpgme_error_t  passphrase_cb (void *opaque, const char *uid_hint, const char *passphrase_info,  	       int last_was_bad, int fd)  { -  write (fd, "abc\n", 4); -  return 0; +  int res; +  char *pass = "abc\n"; +  int passlen = strlen (pass); +  int off = 0; + +  do +    { +      res = write (fd, &pass[off], passlen - off); +      if (res > 0) +	off += res; +    } +  while (res > 0 && off != passlen); + +  return off == passlen ? 0 : gpgme_error_from_errno (errno);  } | 
