On Tue, 14 Oct 2003 04:25:23 +0200
Roland Scheidegger <[EMAIL PROTECTED]> wrote:

> cvs trunk will no longer compile for me:
> 
> gcc ... xmlconfig.c
> xmlconfig.c:268:29: warning: ISO C does not permit named variadic macros
> xmlconfig.c:280:27: warning: ISO C does not permit named variadic macros
> xmlconfig.c:294:27: warning: ISO C does not permit named variadic macros
> xmlconfig.c: In function `driParseOptionInfo':
> xmlconfig.c:499: warning: ISO C forbids forward references to `enum' types
> xmlconfig.c:499: storage size of `s' isn't known
> xmlconfig.c:531: `XML_STATUS_OK' undeclared (first use in this function)
> xmlconfig.c:531: (Each undeclared identifier is reported only once
> xmlconfig.c:531: for each function it appears in.)
> xmlconfig.c:499: warning: unused variable `s'
> xmlconfig.c: In function `parseOneConfigFile':
> xmlconfig.c:711: warning: ISO C forbids forward references to `enum' types
> xmlconfig.c:711: storage size of `s' isn't known
> xmlconfig.c:734: `XML_STATUS_OK' undeclared (first use in this function)
> xmlconfig.c:711: warning: unused variable `s'
> make: *** [xmlconfig.o] Fehler 1
> 
> Some quick googling shows this looks like it's some compatibility 
> problem with expat. Currently, I have installed expat 1.95.4 (SuSE 8.1, 
> gcc 3.2).
> Am I just supposed to upgrade expat? That's no problem, but aren't all 
> those expat 1.95.x releases supposed to be source (and binary) compatible?

José reported a similar problem with building the snapshots but solved
it, probably by upgrading expat. Also Alan upgraded the expat version in
XFree86 CVS, so there wont be a problem when the config stuff goes into
XFree86.

Anyway, does the attached patch work for you. It compiles ok with expat
1.95.6 here.

> 
> Roland
> 

Regards,
  Felix

------------    __\|/__    ___     ___       -------------------------
 Felix       ___\_e -_/___/ __\___/ __\_____   You can do anything,
   Kühling  (_____\Ä/____/ /_____/ /________)  just not everything
 [EMAIL PROTECTED]       \___/   \___/   U        at the same time.
Index: xmlconfig.c
===================================================================
RCS file: /cvs/dri/xc/xc/lib/GL/mesa/src/drv/common/xmlconfig.c,v
retrieving revision 1.2
diff -u -r1.2 xmlconfig.c
--- xmlconfig.c 9 Oct 2003 09:55:58 -0000       1.2
+++ xmlconfig.c 14 Oct 2003 13:00:17 -0000
@@ -496,7 +496,7 @@
 
 void driParseOptionInfo (driOptionCache *info) {
     XML_Parser p;
-    enum XML_Status s;
+    int status;
     struct OptInfoData userData;
     struct OptInfoData *data = &userData;
     GLuint nOptions;
@@ -527,8 +527,8 @@
     userData.inEnum = GL_FALSE;
     userData.curOption = -1;
 
-    s = XML_Parse (p, __driConfigOptions, strlen (__driConfigOptions), 1);
-    if (s != XML_STATUS_OK)
+    status = XML_Parse (p, __driConfigOptions, strlen (__driConfigOptions), 1);
+    if (!status)
        XML_FATAL ("%s.", XML_ErrorString(XML_GetErrorCode(p)));
 
     XML_ParserFree (p);
@@ -708,7 +708,7 @@
 static void parseOneConfigFile (XML_Parser p) {
 #define BUF_SIZE 0x1000
     struct OptConfData *data = (struct OptConfData *)XML_GetUserData (p);
-    enum XML_Status s;
+    int status;
     int fd;
 
     if ((fd = open (data->name, O_RDONLY)) == -1) {
@@ -730,8 +730,8 @@
                              data->name, strerror (errno));
            break;
        }
-       s = XML_ParseBuffer (p, bytesRead, bytesRead == 0);
-       if (s != XML_STATUS_OK) {
+       status = XML_ParseBuffer (p, bytesRead, bytesRead == 0);
+       if (!status) {
            XML_ERROR ("%s.", XML_ErrorString(XML_GetErrorCode(p)));
            break;
        }

Reply via email to