diff options
Diffstat (limited to 'xorg-server/xkb')
-rw-r--r-- | xorg-server/xkb/ddxList.c | 8 | ||||
-rw-r--r-- | xorg-server/xkb/ddxLoad.c | 3 |
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 |