Hi, applied in trunk, thanks. Regards, Martin
http://trac.osgeo.org/grass/changeset/29587 2008/1/7, Ivan Shmakov <[EMAIL PROTECTED]>: > As of a recent SVN HEAD, `d.legend' uses a static buffer to > store the value of the `map' option. It's therefore impossible > to pass raster names more than 63 bytes long to `d.legend'. > Since I don't see why a static buffer may be necessary here, I > suggest the following (yet untested) patch. > > diff --git a/display/d.legend/main.c b/display/d.legend/main.c > index d827d04..324012d 100644 > --- a/display/d.legend/main.c > +++ b/display/d.legend/main.c > @@ -39,7 +39,7 @@ int main( int argc, char **argv ) > { > char *mapset ; > char buff[512]; > - char map_name[64] ; > + const char *map_name; > char window_name[64] ; > int black ; > int cats_num ; > @@ -188,7 +188,7 @@ int main( int argc, char **argv ) > if (G_parser(argc, argv)) > exit(EXIT_FAILURE); > > - strcpy(map_name, opt1->answer) ; > + map_name = opt1->answer; > > hide_catstr = hidestr->answer; /* note hide_catstr gets changed and > re-read below */ > hide_catnum = hidenum->answer; > > PS. I've seen a number of other uses of static buffers scattered across > the code, leading to both potential limits and crashes, which > I'm on the way to investigate. > > _______________________________________________ > grass-dev mailing list > [email protected] > http://lists.osgeo.org/mailman/listinfo/grass-dev > -- Martin Landa <[EMAIL PROTECTED]> * http://gama.fsv.cvut.cz/~landa * _______________________________________________ grass-dev mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/grass-dev
