diff --git a/cipher/dynload.c b/cipher/dynload.c
index adf576780..879d2ec6d 100644
--- a/cipher/dynload.c
+++ b/cipher/dynload.c
@@ -31,6 +31,9 @@
#include
#include
#endif
+#ifdef __MINGW32__
+ #include
+#endif
#include "util.h"
#include "cipher.h"
#include "dynload.h"
diff --git a/doc/DETAILS b/doc/DETAILS
index 11a540af6..dc9743c6d 100644
--- a/doc/DETAILS
+++ b/doc/DETAILS
@@ -226,6 +226,13 @@ more arguments in future versions.
'S' = standard
(only the first character should be checked)
class: 2 hex digits with the signature class
+
+ KEY_CREATED
+ A key has been created
+ type: 'B' = primary and subkey
+ 'P' = primary
+ 'S' = subkey
+
SESSION_KEY :
The session key used to decrypt the message. This message will
diff --git a/g10/ChangeLog b/g10/ChangeLog
index 691e3f59a..84dd695eb 100644
--- a/g10/ChangeLog
+++ b/g10/ChangeLog
@@ -1,3 +1,8 @@
+2001-01-04 Werner Koch
+
+ * g10.c (main): Set homedir only in the pre-parsing phase and
+ replaces backslashes in the W32 version.
+
2001-01-03 Werner Koch
* status.c, status.h : New status KEY_CREATED
diff --git a/g10/g10.c b/g10/g10.c
index d98ec0785..e19f7e8f8 100644
--- a/g10/g10.c
+++ b/g10/g10.c
@@ -684,6 +684,16 @@ main( int argc, char **argv )
#endif
}
+ #ifdef HAVE_DOSISH_SYSTEM
+ if ( strchr (opt.homedir,'\\') ) {
+ char *d, *buf = m_alloc (strlen (opt.homedir)+1);
+ const char *s = opt.homedir;
+ for (d=buf,s=opt.homedir; *s; s++)
+ *d++ = *s == '\\'? '/': *s;
+ *d = 0;
+ opt.homedir = buf;
+ }
+ #endif
#ifdef USE_SHM_COPROCESSING
if( opt.shm_coprocess ) {
@@ -838,7 +848,7 @@ main( int argc, char **argv )
opt.def_recipient_self = 0;
break;
case oNoOptions: break; /* no-options */
- case oHomedir: opt.homedir = pargs.r.ret_str; break;
+ case oHomedir: break;
case oNoBatch: opt.batch = 0; break;
case oWithKeyData: opt.with_key_data=1; /* fall thru */
case oWithColons: opt.with_colons=':'; break;