summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/common_compat.h11
-rw-r--r--src/vmware.c15
-rw-r--r--src/vmwaremodes.c3
3 files changed, 22 insertions, 7 deletions
diff --git a/src/common_compat.h b/src/common_compat.h
new file mode 100644
index 0000000..d7b4867
--- /dev/null
+++ b/src/common_compat.h
@@ -0,0 +1,11 @@
+#ifndef _COMMON_COMPAT_H_
+#define _COMMOM_COMPAT_H_
+
+#if (GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) >= 18)
+#define CONST_ABI_18_0 const
+#else
+#define CONST_ABI_18_0
+#endif
+
+#endif
+
diff --git a/src/vmware.c b/src/vmware.c
index 12f12ed..1af20d8 100644
--- a/src/vmware.c
+++ b/src/vmware.c
@@ -36,6 +36,7 @@ char rcsId_vmware[] =
#include "svga_modes.h"
#include "vmware_bootstrap.h"
#include "vmware_common.h"
+#include "common_compat.h"
#ifndef HAVE_XORG_SERVER_1_5_0
#include <xf86_ansic.h>
@@ -1222,12 +1223,14 @@ VMWAREAddDisplayMode(ScrnInfoPtr pScrn,
int height)
{
DisplayModeRec *mode;
+ char * modeName;
mode = malloc(sizeof(DisplayModeRec));
memset(mode, 0, sizeof *mode);
- mode->name = malloc(strlen(name) + 1);
- strcpy(mode->name, name);
+ modeName = malloc(strlen(name) + 1);
+ strcpy(modeName, name);
+ mode->name = modeName;
mode->status = MODE_OK;
mode->type = M_T_DEFAULT;
mode->HDisplay = width;
@@ -1324,7 +1327,7 @@ VMWAREScreenInit(SCREEN_INIT_ARGS_DECL)
if (useXinerama && xf86IsOptionSet(options, OPTION_GUI_LAYOUT)) {
- char *topology = xf86GetOptValString(options, OPTION_GUI_LAYOUT);
+ CONST_ABI_18_0 char *topology = xf86GetOptValString(options, OPTION_GUI_LAYOUT);
if (topology) {
pVMWARE->xineramaState =
VMWAREParseTopologyString(pScrn, topology,
@@ -1332,11 +1335,11 @@ VMWAREScreenInit(SCREEN_INIT_ARGS_DECL)
pVMWARE->xineramaStatic = pVMWARE->xineramaState != NULL;
- free(topology);
+ free((void *)topology);
}
} else if (useXinerama &&
xf86IsOptionSet(options, OPTION_STATIC_XINERAMA)) {
- char *topology = xf86GetOptValString(options, OPTION_STATIC_XINERAMA);
+ CONST_ABI_18_0 char *topology = xf86GetOptValString(options, OPTION_STATIC_XINERAMA);
if (topology) {
pVMWARE->xineramaState =
VMWAREParseTopologyString(pScrn, topology,
@@ -1345,7 +1348,7 @@ VMWAREScreenInit(SCREEN_INIT_ARGS_DECL)
pVMWARE->xineramaStatic = pVMWARE->xineramaState != NULL;
- free(topology);
+ free((void *)topology);
}
}
diff --git a/src/vmwaremodes.c b/src/vmwaremodes.c
index 41a9b4f..1d296ac 100644
--- a/src/vmwaremodes.c
+++ b/src/vmwaremodes.c
@@ -40,6 +40,7 @@
#endif
#include "vm_basic_types.h"
#include "vmware.h"
+#include "common_compat.h"
#ifndef M_T_DRIVER
# define M_T_DRIVER 0x40 /* Supplied by the driver (EDID, etc) */
@@ -83,7 +84,7 @@ vmwareAddDefaultMode(ScrnInfoPtr pScrn, uint32 dwidth, uint32 dheight)
DisplayModeRec dynamic =
{ MODEPREFIX, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, MODESUFFIX };
unsigned dispModeCount = 0;
- char **dispModeList;
+ CONST_ABI_18_0 char **dispModeList;
char *dynModeName;
char name[80];
VMWAREPtr pVMWARE = VMWAREPTR(pScrn);