From 9f986778bd4393c5a9108426969d45aa7f10f334 Mon Sep 17 00:00:00 2001
From: marha <marha@users.sourceforge.net>
Date: Wed, 19 Oct 2011 10:44:43 +0200
Subject: libX11 libXext libXft mesa libxcb mkfontscale pixman xserver
 xkeyboard-config git update 19 oct 2011

---
 xorg-server/os/backtrace.c |  5 +++--
 xorg-server/os/log.c       | 14 --------------
 xorg-server/os/utils.c     |  4 ++--
 xorg-server/os/xprintf.c   |  5 +++--
 4 files changed, 8 insertions(+), 20 deletions(-)

(limited to 'xorg-server/os')

diff --git a/xorg-server/os/backtrace.c b/xorg-server/os/backtrace.c
index 7ca6dab6d..58b4b1f34 100644
--- a/xorg-server/os/backtrace.c
+++ b/xorg-server/os/backtrace.c
@@ -27,6 +27,8 @@
 
 #include "os.h"
 #include "misc.h"
+#include <errno.h>
+#include <string.h>
 
 #ifdef HAVE_BACKTRACE
 #ifndef _GNU_SOURCE
@@ -199,9 +201,8 @@ void xorg_backtrace(void) {
 	    walkcontext(&u, xorg_backtrace_frame, &depth);
 	else
 #  endif
-	    Error("Failed to get backtrace info");
+	    ErrorF("Failed to get backtrace info: %s\n", strerror(errno));
     }
-    ErrorF("\n");	
 }
 
 # else
diff --git a/xorg-server/os/log.c b/xorg-server/os/log.c
index 2eddf066a..9ee32c93d 100644
--- a/xorg-server/os/log.c
+++ b/xorg-server/os/log.c
@@ -87,7 +87,6 @@ OR PERFORMANCE OF THIS SOFTWARE.
 #include <sys/stat.h>
 #include <stdarg.h>
 #include <stdlib.h>	/* for malloc() */
-#include <errno.h>
 
 #include "input.h"
 #include "site.h"
@@ -638,19 +637,6 @@ ErrorF(const char * f, ...)
     va_end(args);
 }
 
-/* A perror() workalike. */
-
-void
-Error(const char *str)
-{
-    const char *err = strerror(errno);
-
-    if (str)
-	LogWrite(-1, "%s: %s", str, err);
-    else
-	LogWrite(-1, "%s", err);
-}
-
 void
 LogPrintMarkers(void)
 {
diff --git a/xorg-server/os/utils.c b/xorg-server/os/utils.c
index e8ecb7193..07cf4c24f 100644
--- a/xorg-server/os/utils.c
+++ b/xorg-server/os/utils.c
@@ -297,7 +297,7 @@ LockServer(void)
     FatalError("Could not create lock file in %s\n", tmp);
   (void) sprintf(pid_str, "%10ld\n", (long)getpid());
   (void) write(lfd, pid_str, 11);
-  (void) chmod(tmp, 0444);
+  (void) fchmod(lfd, 0444);
   (void) close(lfd);
 
   /*
@@ -318,7 +318,7 @@ LockServer(void)
       /*
        * Read the pid from the existing file
        */
-      lfd = open(LockFile, O_RDONLY);
+      lfd = open(LockFile, O_RDONLY|O_NOFOLLOW);
       if (lfd < 0) {
         unlink(tmp);
         FatalError("Can't read lock file %s\n", LockFile);
diff --git a/xorg-server/os/xprintf.c b/xorg-server/os/xprintf.c
index 254b7374a..3b4bb4117 100644
--- a/xorg-server/os/xprintf.c
+++ b/xorg-server/os/xprintf.c
@@ -64,6 +64,8 @@
 #include "os.h"
 #include <stdarg.h>
 #include <stdio.h>
+#include <errno.h>
+#include <string.h>
 
 #ifdef asprintf
 # undef asprintf
@@ -154,8 +156,7 @@ XNFvasprintf(char **ret, const char * _X_RESTRICT_KYWD format, va_list va)
 {
     int size = vasprintf(ret, format, va);
     if ((size == -1) || (*ret == NULL)) {
-	Error("XNFvasprintf");
-	FatalError("XNFvasprintf failed");
+	FatalError("XNFvasprintf failed: %s", strerror(errno));
     }
     return size;
 }
-- 
cgit v1.2.3