aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/hw/xfree86/dummylib/xalloc.c
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/hw/xfree86/dummylib/xalloc.c')
-rw-r--r--xorg-server/hw/xfree86/dummylib/xalloc.c111
1 files changed, 111 insertions, 0 deletions
diff --git a/xorg-server/hw/xfree86/dummylib/xalloc.c b/xorg-server/hw/xfree86/dummylib/xalloc.c
new file mode 100644
index 000000000..b671d4dde
--- /dev/null
+++ b/xorg-server/hw/xfree86/dummylib/xalloc.c
@@ -0,0 +1,111 @@
+
+#ifdef HAVE_XORG_CONFIG_H
+#include <xorg-config.h>
+#endif
+
+#include <X11/X.h>
+#include "os.h"
+#include "xf86.h"
+#include "xf86Priv.h"
+
+/*
+ * Utility functions required by libxf86_os.
+ */
+
+_X_EXPORT pointer
+Xalloc(unsigned long n)
+{
+ if (!n)
+ n = 1;
+ return malloc(n);
+}
+
+_X_EXPORT pointer
+Xrealloc(pointer p, unsigned long n)
+{
+ if (!n)
+ n = 1;
+ return realloc(p, n);
+}
+
+_X_EXPORT pointer
+Xcalloc(unsigned long n)
+{
+ pointer r;
+
+ r = Xalloc(n);
+ memset(r, 0, n);
+ return r;
+}
+
+_X_EXPORT pointer
+XNFalloc(unsigned long n)
+{
+ pointer r;
+
+ r = Xalloc(n);
+ if (!r)
+ FatalError("XNFalloc failed\n");
+ return r;
+
+}
+
+_X_EXPORT pointer
+XNFrealloc(pointer p, unsigned long n)
+{
+ pointer r;
+
+ r = Xrealloc(p, n);
+ if (!r)
+ FatalError("XNFrealloc failed\n");
+ return r;
+
+}
+
+_X_EXPORT pointer
+XNFcalloc(unsigned long n)
+{
+ pointer r;
+
+ r = Xcalloc(n);
+ if (!r)
+ FatalError("XNFcalloc failed\n");
+ return r;
+
+}
+
+_X_EXPORT void
+Xfree(pointer p)
+{
+ free(p);
+}
+
+_X_EXPORT char *
+Xstrdup(const char *s)
+{
+ char *sd;
+
+ if (s == NULL)
+ return NULL;
+
+ sd = (char *)Xalloc(strlen(s) + 1);
+ if (sd != NULL)
+ strcpy(sd, s);
+ return sd;
+}
+
+char *
+XNFstrdup(const char *s)
+{
+ char *sd;
+ size_t len;
+
+ if (s == NULL)
+ return NULL;
+
+ len = strlen(s) + 1;
+ sd = (char *)XNFalloc(len);
+ strlcpy(sd, s, len);
+ return sd;
+}
+