Thanks for the patch.
Your fix to Fl_PostScript should *definitely* be included in 1.3.0.
> There was also a problem in Fl_Postscript that wouldn't compile with
> Visual C++ 2010 - it is resolved in the patch also.
--- src/Fl_PostScript.cxx (revision 8140)
+++ src/Fl_PostScript.cxx (working copy)
[..]
- unsigned unis[n + 1];
- char out[n + 1];
+ unsigned int *unis = new unsigned int[n + 1];
+ char *out = new char[n + 1];
[..]
+ delete [] unis;
+ delete [] out;
[..]
These variable sized arrays were added recently in r8127:
http://fltk.org/newsgroups.php?gfltk.commit+v:8533
Interesting.. runtime variable array sizes.
I wouldn't have thought the compilers would allow it, but
g++ seems to allow this C99 construction, VS (C89?) does not:
LINUX
----------------------------------------------------------
% cat foo.cxx
#include <stdio.h>
int main() {
int n; scanf("%d", &n);
char s[n];
printf("sizeof(s): %d\n", sizeof(s));
}
% g++ foo.cxx -o foo
% echo 133 | ./foo
sizeof(s): 133
% echo 5000 | ./foo
sizeof(s): 5000
----------------------------------------------------------
VS 2010 and VS 2008
----------------------------------------------------------
Z:\tmp>type foo.cxx
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
char s[n];
printf("sizeof(s): %d\n", sizeof(s));
}
Z:\tmp>cl /TP foo.cxx
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86
Copyright (C) Microsoft Corporation. All rights reserved.
foo.cxx
foo.cxx(5) : error C2057: expected constant expression
foo.cxx(5) : error C2466: cannot allocate an array of constant size 0
foo.cxx(5) : error C2133: 's' : unknown size
foo.cxx(6) : error C2070: 'char []': illegal sizeof operand
----------------------------------------------------------
_______________________________________________
fltk-dev mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-dev