diff options
author | Marcus Brinkmann <mb@g10code.com> | 2005-04-15 11:04:43 +0200 |
---|---|---|
committer | Marcus Brinkmann <mb@g10code.com> | 2005-04-15 11:04:43 +0200 |
commit | 00853b8a1aa5c4ff8bb10d99e65db52b06f639bf (patch) | |
tree | 69121495dca9955829aa816561e795852937e8a0 /tools | |
parent | 2005-04-15 Marcus Brinkmann <marcus@g10code.de> (diff) | |
download | gnupg2-00853b8a1aa5c4ff8bb10d99e65db52b06f639bf.tar.xz gnupg2-00853b8a1aa5c4ff8bb10d99e65db52b06f639bf.zip |
2005-04-15 Marcus Brinkmann <marcus@g10code.de>
* symcryptrun.c (TEMP_FAILURE_RETRY): Define if not defined.
Diffstat (limited to 'tools')
-rw-r--r-- | tools/ChangeLog | 2 | ||||
-rw-r--r-- | tools/symcryptrun.c | 15 |
2 files changed, 17 insertions, 0 deletions
diff --git a/tools/ChangeLog b/tools/ChangeLog index 981c52f6b..62a5e841c 100644 --- a/tools/ChangeLog +++ b/tools/ChangeLog @@ -1,5 +1,7 @@ 2005-04-15 Marcus Brinkmann <marcus@g10code.de> + * symcryptrun.c (TEMP_FAILURE_RETRY): Define if not defined. + * symcryptrun.c (remove_file): New function. (confucius_copy_file): Accept new argument PLAIN and shred the file if it is set on error. diff --git a/tools/symcryptrun.c b/tools/symcryptrun.c index 9f3a55f8b..b35e4d7a5 100644 --- a/tools/symcryptrun.c +++ b/tools/symcryptrun.c @@ -217,6 +217,21 @@ i18n_init(void) } +/* This is in the GNU C library in unistd.h. */ + +#ifndef TEMP_FAILURE_RETRY +/* Evaluate EXPRESSION, and repeat as long as it returns -1 with `errno' + set to EINTR. */ + +# define TEMP_FAILURE_RETRY(expression) \ + (__extension__ \ + ({ long int __result; \ + do __result = (long int) (expression); \ + while (__result == -1L && errno == EINTR); \ + __result; })) +#endif + + /* Unlink a file, and shred it if SHRED is true. */ int remove_file (char *name, int shred) |