I have gone ahead and committed these changes. On reviewing them they in
no way impinge on the build process and so won't interfere with Alan's
updates to remove autotools. 

A couple of points:

- All occurrences of char * in the API where the function does not
  actually modify the string have been modified to const char *. 

- These changes only affect the C and C++ bindings externally. There are
  internal changes to f77, f95 and swig generated bindings though. There
  are also some internal changes to the drivers.

- All C and C++ examples have been updated consistent with the new use
  of const char *.

- This is not technically a binary API change since the const modifier
  is only used by the compiler for checking (to the best of my
  knowledge). I've tested this on Linux and confirmed that old code runs
  fine linking with the new libraries. As a result I have only updated
  the minor version number in the library SOVERSION. Please test on
  other platforms. If there are problems then we will need to update the
  major SOVERSION, but if we don't need to then it saves users having to
  recompile all programs. 

- These changes have highlighted those functions where we do modify
  strings. Many of these are suspect, for example assuming that we pass
  a string large enough to hold the output. This is a potential security
  issue and we should consider modifying these to allocate the strings
  dynamically. At least it is now clear where these problems are.

This is a big update, but it is entirely to impose good programming
practice rather than to provide any change in functionality. Again,
please check and let me know of any problems.

Andrew

On Thu, Nov 22, 2007 at 05:57:43PM +0000, Andrew Ross wrote:
> 
> I've had no negative responses to my proposal to rationalise our use of
> char * / const char * for arguments in plplot functions. This will make
> the API tidier, and will also get rid of the warning messages Alan
> pointed out with newer gcc versions. Since this is formally an API 
> change it will require a bumping in the library soversion and
> recompiling any associated programs. 
> 
> In light of this, are there any other API changes we need to make? Best
> do it all in one go.
> 
> I will start on the changes once Alan's autotools changes are in place.
> 
> Andrew
> 
> 
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2005.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> Plplot-devel mailing list
> Plplot-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/plplot-devel
> 

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to