aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog7
-rw-r--r--src/assuan-pipe-connect.c6
-rw-r--r--src/setenv.c4
-rw-r--r--src/system.c6
4 files changed, 19 insertions, 4 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index d7df666..098f3f5 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,12 @@
2010-01-22 Werner Koch <[email protected]>
+ * setenv.c [W32CE]: Make it a dummy.
+
+ * assuan-pipe-connect.c: Remove signal.h.
+
+ * system.c (__assuan_spawn): Use CreateFileW.
+ (DETACHED_PROCESS) [W32CE]: Define to 0.
+
* assuan-socket.c (read_port_and_nonce): Replace ENOFILE by a
proper ENOENT.
diff --git a/src/assuan-pipe-connect.c b/src/assuan-pipe-connect.c
index 690d810..0a04777 100644
--- a/src/assuan-pipe-connect.c
+++ b/src/assuan-pipe-connect.c
@@ -24,7 +24,11 @@
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
-#include <signal.h>
+/* On Windows systems signal.h is not needed and even not supported on
+ WindowsCE. */
+#ifndef HAVE_DOSISH_SYSTEM
+# include <signal.h>
+#endif
#include <unistd.h>
#include <errno.h>
#include <fcntl.h>
diff --git a/src/setenv.c b/src/setenv.c
index debaa29..9f91124 100644
--- a/src/setenv.c
+++ b/src/setenv.c
@@ -20,6 +20,8 @@
# include <config.h>
#endif
+#ifndef HAVE_W32CE_SYSTEM
+
#define setenv _assuan_setenv
#define unsetenv _assuan_unsetenv
#define clearenv _assuan_clearenv
@@ -352,4 +354,4 @@ weak_alias (__unsetenv, unsetenv)
weak_alias (__clearenv, clearenv)
#endif
-
+#endif /*!HAVE_W32CE_SYSTEM*/
diff --git a/src/system.c b/src/system.c
index 9e9f5cf..45f1d9a 100644
--- a/src/system.c
+++ b/src/system.c
@@ -632,7 +632,7 @@ __assuan_spawn (assuan_context_t ctx, pid_t *r_pid, const char *name,
}
if (!fdp || *fdp == ASSUAN_INVALID_FD)
{
- nullfd = CreateFile ("nul", GENERIC_WRITE,
+ nullfd = CreateFileW (L"nul", GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL, OPEN_EXISTING, 0, NULL);
if (nullfd == INVALID_HANDLE_VALUE)
@@ -648,7 +648,9 @@ __assuan_spawn (assuan_context_t ctx, pid_t *r_pid, const char *name,
else
si.hStdError = fd;
-
+#ifdef HAVE_W32CE_SYSTEM
+# define DETACHED_PROCESS (0)
+#endif
/* Note: We inherit all handles flagged as inheritable. This seems
to be a security flaw but there seems to be no way of selecting
handles to inherit. */