mgorny      15/02/27 21:44:56

  Added:               
                        xorg-server-1.17-support-multiple-Files-sections.patch
  Log:
  Add support for multiple "Files" sections as needed for eselect-opengl, bug 
#541232.
  
  (Portage version: 2.2.17/cvs/Linux x86_64, signed Manifest commit with key 
EFB4464E!)

Revision  Changes    Path
1.1                  
x11-base/xorg-server/files/xorg-server-1.17-support-multiple-Files-sections.patch

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/x11-base/xorg-server/files/xorg-server-1.17-support-multiple-Files-sections.patch?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/x11-base/xorg-server/files/xorg-server-1.17-support-multiple-Files-sections.patch?rev=1.1&content-type=text/plain

Index: xorg-server-1.17-support-multiple-Files-sections.patch
===================================================================
>From a140d7ce3f37f30b4fed27c5a70ebcc4ed13c612 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <[email protected]>
Date: Tue, 24 Feb 2015 12:57:24 +0100
Subject: [PATCH] config: Support multiple 'Files' sections

---
 hw/xfree86/parser/Files.c       | 8 ++++++--
 hw/xfree86/parser/configProcs.h | 2 +-
 hw/xfree86/parser/read.c        | 2 +-
 3 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/hw/xfree86/parser/Files.c b/hw/xfree86/parser/Files.c
index 849bf92..5cc3ec7 100644
--- a/hw/xfree86/parser/Files.c
+++ b/hw/xfree86/parser/Files.c
@@ -76,14 +76,18 @@ static xf86ConfigSymTabRec FilesTab[] = {
 #define CLEANUP xf86freeFiles
 
 XF86ConfFilesPtr
-xf86parseFilesSection(void)
+xf86parseFilesSection(XF86ConfFilesPtr ptr)
 {
     int i, j;
     int k, l;
     char *str;
     int token;
 
-    parsePrologue(XF86ConfFilesPtr, XF86ConfFilesRec)
+    if (!ptr) {
+       if( (ptr=calloc(1,sizeof(XF86ConfFilesRec))) == NULL ) {
+               return NULL;
+       }
+    }
 
         while ((token = xf86getToken(FilesTab)) != ENDSECTION) {
         switch (token) {
diff --git a/hw/xfree86/parser/configProcs.h b/hw/xfree86/parser/configProcs.h
index 774e2a2..b9fdebb 100644
--- a/hw/xfree86/parser/configProcs.h
+++ b/hw/xfree86/parser/configProcs.h
@@ -37,7 +37,7 @@ void xf86freeDeviceList(XF86ConfDevicePtr ptr);
 int xf86validateDevice(XF86ConfigPtr p);
 
 /* Files.c */
-XF86ConfFilesPtr xf86parseFilesSection(void);
+XF86ConfFilesPtr xf86parseFilesSection(XF86ConfFilesPtr ptr);
 void xf86printFileSection(FILE * cf, XF86ConfFilesPtr ptr);
 void xf86freeFiles(XF86ConfFilesPtr p);
 
diff --git a/hw/xfree86/parser/read.c b/hw/xfree86/parser/read.c
index 327c02a..e0d6139 100644
--- a/hw/xfree86/parser/read.c
+++ b/hw/xfree86/parser/read.c
@@ -110,7 +110,7 @@ xf86readConfigFile(void)
             if (xf86nameCompare(xf86_lex_val.str, "files") == 0) {
                 free(xf86_lex_val.str);
                 xf86_lex_val.str = NULL;
-                HANDLE_RETURN(conf_files, xf86parseFilesSection());
+                HANDLE_RETURN(conf_files, 
xf86parseFilesSection(ptr->conf_files));
             }
             else if (xf86nameCompare(xf86_lex_val.str, "serverflags") == 0) {
                 free(xf86_lex_val.str);
-- 
2.3.0





Reply via email to