[mapserver-dev] Is there a size limit on ImageMaps, and if so can I increase it?

Daniel Morissette dmorissette at mapgears.com
Mon Feb 25 13:24:07 EST 2008


Bob Bruce wrote:
> Daniel:
>               I am using version 4.10.2 . Previously I had this working 
> in a version of MapServer in 2005 and it is still working to this day at 
> www.themuralsofwinnipeg.com/Mpages/indexMuralsMap.php with this old 
> version (if you select the South-Portage neighbourhood it works fine). 
> Now I wanted to upgrade to version 4 but wasn't ready to take the leap 
> to version 5. Do you think that I need to upgrade to version 5 and 
> rebuild MapServer etc.?
> 

I don't know for sure, but chances are that the problem could have the 
same root as the legend problem, that is: msIO_fprintf() returns 
silently, without any error, if the output is too large. Based on a 
quick look at mapimagemap.c that's probably not fixed in v5.0 for 
imagemaps. It seems that the following patch (replacing msIO_fprintf() 
with msIO_fwrite() as we did in ticket 1946 for legends) might solve the 
problem for imagemaps:


--- mapimagemap.c       (revision 7396)
+++ mapimagemap.c       (working copy)
@@ -2029,7 +2029,7 @@
                {
                    snprintf(workbuffer, sizeof(workbuffer), "%s", 
img->img.imagemap+iIndice );
                    workbuffer[nSize-1] = '\0';
-                  msIO_fprintf(stream, workbuffer);
+                  msIO_fwrite(workbuffer, nSize, 1, stream);
                    iIndice +=nSize-1;
                }
                if (iIndice < size)


If that works then please file a ticket in Trac and assign to me (Trac 
id dmorissette) so that we include this fix in the next release.

Daniel
-- 
Daniel Morissette
http://www.mapgears.com/


More information about the mapserver-dev mailing list