[Mesa-dev] [PATCH 2/2] dri/common: drop loading /etc/drirc

Marek Olšák maraeo at gmail.com
Tue Sep 1 17:26:56 PDT 2015


From: Marek Olšák <marek.olsak at amd.com>

A user can be using Mesa 11.0, but /etc/drirc can be from Mesa 10.5.
We don't want the old drirc to affect Mesa 11.0.

There are 2 options:
- use a different file name (e.g. /etc/drirc_global) for people wanting
  a global drirc file, but they must supply it by themselves
- just don't load it, users should use ~/.drirc

This patch implements the latter.
---
 src/mesa/drivers/dri/common/xmlconfig.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/mesa/drivers/dri/common/xmlconfig.c b/src/mesa/drivers/dri/common/xmlconfig.c
index 47a9aef..a8f00ef 100644
--- a/src/mesa/drivers/dri/common/xmlconfig.c
+++ b/src/mesa/drivers/dri/common/xmlconfig.c
@@ -955,7 +955,7 @@ static void parseOneConfigFile (XML_Parser p) {
 
 void driParseConfigFiles (driOptionCache *cache, const driOptionCache *info,
 			  int screenNum, const char *driverName) {
-    char *filenames[2] = {"/etc/drirc", NULL};
+    char *filename = NULL;
     char *home;
     uint32_t i;
     struct OptConfData userData;
@@ -969,25 +969,25 @@ void driParseConfigFiles (driOptionCache *cache, const driOptionCache *info,
 
     if ((home = getenv ("HOME"))) {
 	uint32_t len = strlen (home);
-	filenames[1] = malloc(len + 7+1);
-	if (filenames[1] == NULL)
+	filename = malloc(len + 7+1);
+	if (filename == NULL)
 	    __driUtilMessage ("Can't allocate memory for %s/.drirc.", home);
 	else {
-	    memcpy (filenames[1], home, len);
-	    memcpy (filenames[1] + len, "/.drirc", 7+1);
+	    memcpy (filename, home, len);
+	    memcpy (filename + len, "/.drirc", 7+1);
 	}
     }
 
-    for (i = 0; i < 3; ++i) {
+    for (i = 0; i < 2; ++i) {
 	XML_Parser p;
-	if (i && filenames[i-1] == NULL)
+	if (i && filename == NULL)
 	    continue;
 
 	p = XML_ParserCreate (NULL); /* use encoding specified by file */
 	XML_SetElementHandler (p, optConfStartElem, optConfEndElem);
 	XML_SetUserData (p, &userData);
 	userData.parser = p;
-	userData.name = i ? filenames[i-1] : NULL;
+	userData.name = i ? filename : NULL;
 	userData.ignoringDevice = 0;
 	userData.ignoringApp = 0;
 	userData.inDriConf = 0;
@@ -1003,7 +1003,7 @@ void driParseConfigFiles (driOptionCache *cache, const driOptionCache *info,
 	XML_ParserFree (p);
     }
 
-    free(filenames[1]);
+    free(filename);
 }
 
 void driDestroyOptionInfo (driOptionCache *info) {
-- 
2.1.4



More information about the mesa-dev mailing list