On 2013-12-17 12:58-0000 Andrew Ross wrote: > > Alan, > > This is a result of my change of last week to clean up some compiler > warnings with the dynamic driver case. > > The problem is that in the dynamic driver case the pl_MenuStr and > pl_DevName items are created using strdup, and then free'd at the end, > so can't be const by definition (since we can destroy the contents). > For this reason I changed them from const char * to char *. However, > for the static driver case that you are testing these values are set > to a (const) hard-coded string in the driver in (most) cases, and to a > const char * string in the ps.c / psttf.c (and also defunct hpgl.c) > driver files. In this case the string definitely is const, but because > we've changed the definition of pl_MenuStr / pl_DevName then we'll > still get warnings about disgarding the const modifier, even with the > explicit cast. In part this is poor design in how we use the items > between the two cases, and in part this is the complicated mess that > is const char strings in C. If your fix works for both cases, let's > leave it for now and I'll think how to fix it properly for both cases > post release.
Thanks, Andrew, for monitoring my commit messages during this critical time and providing an explanation of what change caused the issue. I was mightly curious about that! My explicit cast fixes apparently do work so I think this aspect of our code is OK for release, and I agree completely with your remarks about trying to come up with a better fix (if that is possible) post release. Alan > > On Tue, Dec 17, 2013 at 05:32:18AM +0000, [email protected] wrote: >> Revision: 12874 >> http://sourceforge.net/p/plplot/code/12874 >> Author: airwin >> Date: 2013-12-17 05:32:16 +0000 (Tue, 17 Dec 2013) >> Log Message: >> ----------- >> Turn cast from "const char *" to "char *" from implicit (which in the >> psttf.cc case ended up as a build error) to explicit form. This build >> error was found as a result of running the comprehensive_test.sh >> script, but as far as I can tell nothing was changed for psttf.cc from >> when this script ran without errors not that long ago for exactly >> the same (normal build as opposed to epa_build) environment. So I >> do not have a clue why we suddenly have this build error, but I >> have now fixed it with the explicit casts. >> >> Modified Paths: >> -------------- >> trunk/drivers/ps.c >> trunk/drivers/psttf.cc >> >> Modified: trunk/drivers/ps.c >> =================================================================== >> --- trunk/drivers/ps.c 2013-12-17 01:27:14 UTC (rev 12873) >> +++ trunk/drivers/ps.c 2013-12-17 05:32:16 UTC (rev 12874) >> @@ -94,8 +94,8 @@ >> int type, int seq, plD_init_fp init ) >> { >> #ifndef ENABLE_DYNDRIVERS >> - pdt->pl_MenuStr = menustr; >> - pdt->pl_DevName = devnam; >> + pdt->pl_MenuStr = (char *) menustr; >> + pdt->pl_DevName = (char *) devnam; >> #else >> (void) menustr; // Cast to void to silence compiler warnings about >> unused parameters >> (void) devnam; >> >> Modified: trunk/drivers/psttf.cc >> =================================================================== >> --- trunk/drivers/psttf.cc 2013-12-17 01:27:14 UTC (rev 12873) >> +++ trunk/drivers/psttf.cc 2013-12-17 05:32:16 UTC (rev 12874) >> @@ -125,8 +125,8 @@ >> int type, int seq, plD_init_fp init >> ) >> { >> #ifndef ENABLE_DYNDRIVERS >> - pdt->pl_MenuStr = menustr; >> - pdt->pl_DevName = devnam; >> + pdt->pl_MenuStr = (char *) menustr; >> + pdt->pl_DevName = (char *) devnam; >> #else >> (void) menustr; // Cast to void to silence compiler warnings about >> unused parameters >> (void) devnam; >> >> This was sent by the SourceForge.net collaborative development platform, the >> world's largest Open Source development site. >> >> >> ------------------------------------------------------------------------------ >> Rapidly troubleshoot problems before they affect your business. Most IT >> organizations don't have a clear picture of how application performance >> affects their revenue. With AppDynamics, you get 100% visibility into your >> Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics >> Pro! >> http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk >> _______________________________________________ >> Plplot-cvs mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/plplot-cvs > > ------------------------------------------------------------------------------ > Rapidly troubleshoot problems before they affect your business. Most IT > organizations don't have a clear picture of how application performance > affects their revenue. With AppDynamics, you get 100% visibility into your > Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! > http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk > _______________________________________________ > Plplot-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/plplot-devel > __________________________ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); the Time Ephemerides project (timeephem.sf.net); PLplot scientific plotting software package (plplot.sf.net); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ ------------------------------------------------------------------------------ Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk _______________________________________________ Plplot-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/plplot-devel
