aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/xkb
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/xkb')
-rw-r--r--xorg-server/xkb/ddxList.c8
-rw-r--r--xorg-server/xkb/ddxLoad.c3
2 files changed, 9 insertions, 2 deletions
diff --git a/xorg-server/xkb/ddxList.c b/xorg-server/xkb/ddxList.c
index 7de8efc15..e599f9169 100644
--- a/xorg-server/xkb/ddxList.c
+++ b/xorg-server/xkb/ddxList.c
@@ -44,7 +44,7 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
#ifdef WIN32
/* from ddxLoad.c */
-extern const char* Win32TempDir();
+extern const char* Win32TempDir(void);
extern int Win32System(const char *cmdline);
#undef System
#define System Win32System
@@ -126,10 +126,11 @@ XkbDDXListComponent( DeviceIntPtr dev,
char *file,*map,*tmp,*buf=NULL;
FILE *in;
Status status;
-int rval;
Bool haveDir;
#ifdef WIN32
char tmpname[PATH_MAX];
+#else
+int rval;
#endif
if ((list->pattern[what]==NULL)||(list->pattern[what][0]=='\0'))
@@ -223,6 +224,9 @@ char tmpname[PATH_MAX];
buf = malloc(PATH_MAX * sizeof(char));
if (!buf) {
fclose(in);
+#ifdef WIN32
+ unlink(tmpname);
+#endif
return BadAlloc;
}
while ((status==Success)&&((tmp=fgets(buf,PATH_MAX,in))!=NULL)) {
diff --git a/xorg-server/xkb/ddxLoad.c b/xorg-server/xkb/ddxLoad.c
index e1020358a..219d39c9a 100644
--- a/xorg-server/xkb/ddxLoad.c
+++ b/xorg-server/xkb/ddxLoad.c
@@ -267,6 +267,9 @@ XkbDDXCompileKeymapByNames( XkbDescPtr xkb,
nameRtrn[nameRtrnLen-1]= '\0';
}
free(buf);
+#ifdef WIN32
+ unlink(tmpname);
+#endif
return TRUE;
}
else