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

Reply via email to