Control: tags -1 -help

(I should be able to provide the required help, hope that's ok.)

Hi Graham,

> Thank you for your bug report.  I did have a look at this some time
> ago and found more information in bug #747585.
> I prepared the attached patch, but before I push the changes and send
> upstream, I would really appreciate a review.

Thanks a lot for preparing those patches. For me, these appear to address the
original problem, but see below.

> Also, when I attempted to build the package with goto-cc it failed
> during linking, so there may be some things that still need fixing
> that I have missed.
> 
[...]

I'm not sure which error you might have been seeing, but here's the one I am
getting when rebuilding with your proposed patch applied:

/bin/bash ../../libtool  --tag=CC   --mode=link gcc  -g -O2 
-fstack-protector-strong -Wformat -Werror=format-security 
-D_FILE_OFFSET_BITS=64 -Wall -g -fno-strict-aliasing -Wno-unused -Wno-comment 
-fno-tree-ter -I/usr/include/freetype2     -Wl,-z,relro -Wl,--as-needed -o wml 
wml.o -L. -lwml -lXft -lXrender -lfontconfig -lXft  -ljpeg -lpng
libtool: link: gcc -g -O2 -fstack-protector-strong -Wformat 
-Werror=format-security -D_FILE_OFFSET_BITS=64 -Wall -g -fno-strict-aliasing 
-Wno-unused -Wno-comment -fno-tree-ter -I/usr/include/freetype2 -Wl,-z 
-Wl,relro -o wml wml.o  -Wl,--as-needed -L. -lwml -lXrender -lfontconfig -lXft 
-ljpeg -lpng

file wmllex.c line 284: error: conflicting types for variable `yyleng'
old definition in module `wml' file wml.c line 161
signed int
new definition in module `wmlparse' file wmllex.c line 284
unsigned long int
Makefile:478: recipe for target 'wml' failed
make[3]: *** [wml] Error 64
make[3]: Leaving directory 
'/srv/jenkins-slave/workspace/sid-goto-cc-motif/motif-2.3.4/tools/wml'

I believe this needs adjustment in wml.c, declaring yyleng as

extern size_t yyleng;

rather than int (proper patch is attached). This will ensure that the
initialization in line 212 properly zeros all the bytes of yyleng, and not just
half of them...

With that further patch in place the build succeeds.

Best,
Michael

--- a/tools/wml/wml.c
+++ b/tools/wml/wml.c
@@ -158,7 +158,7 @@
 /*
  * External variables
  */
-extern int     yyleng;
+extern size_t  yyleng;
 
 
 

Attachment: pgpoyg4IMNcjt.pgp
Description: PGP signature

Reply via email to