Index: docs/reference/Doxyfile.in
===================================================================
RCS file: /sources/gchemutils/gchemutils/docs/reference/Doxyfile.in,v
retrieving revision 1.4
diff -p -u -5 -r1.4 Doxyfile.in
--- docs/reference/Doxyfile.in	23 Dec 2006 15:02:47 -0000	1.4
+++ docs/reference/Doxyfile.in	13 Dec 2007 09:38:45 -0000
@@ -51,20 +51,10 @@ CREATE_SUBDIRS         = NO
 # Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, 
 # Swedish, and Ukrainian.
 
 OUTPUT_LANGUAGE        = English
 
-# This tag can be used to specify the encoding used in the generated output. 
-# The encoding is not always determined by the language that is chosen, 
-# but also whether or not the output is meant for Windows or non-Windows users. 
-# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES 
-# forces the Windows encoding (this is the default for the Windows binary), 
-# whereas setting the tag to NO uses a Unix-style encoding (the default for 
-# all platforms other than Windows).
-
-USE_WINDOWS_ENCODING   = NO
-
 # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
 # include brief member descriptions after the members that are listed in 
 # the file and class documentation (similar to JavaDoc). 
 # Set to NO to disable this.
 
@@ -1148,26 +1138,10 @@ DOT_PATH               = 
 # contain dot files that are included in the documentation (see the 
 # \dotfile command).
 
 DOTFILE_DIRS           = 
 
-# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width 
-# (in pixels) of the graphs generated by dot. If a graph becomes larger than 
-# this value, doxygen will try to truncate the graph, so that it fits within 
-# the specified constraint. Beware that most browsers cannot cope with very 
-# large images.
-
-MAX_DOT_GRAPH_WIDTH    = 1024
-
-# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height 
-# (in pixels) of the graphs generated by dot. If a graph becomes larger than 
-# this value, doxygen will try to truncate the graph, so that it fits within 
-# the specified constraint. Beware that most browsers cannot cope with very 
-# large images.
-
-MAX_DOT_GRAPH_HEIGHT   = 1024
-
 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the 
 # graphs generated by dot. A depth value of 3 means that only nodes reachable 
 # from the root by following a path via at most 3 edges will be shown. Nodes 
 # that lay further from the root node will be omitted. Note that setting this 
 # option to 1 or 2 may greatly reduce the computation time needed for large 
Index: gcu/application.cc
===================================================================
RCS file: /sources/gchemutils/gchemutils/gcu/Attic/application.cc,v
retrieving revision 1.16.2.3
diff -p -u -5 -r1.16.2.3 application.cc
--- gcu/application.cc	7 Aug 2007 15:39:34 -0000	1.16.2.3
+++ gcu/application.cc	13 Dec 2007 09:38:45 -0000
@@ -32,10 +32,11 @@
 #include <gtk/gtkspinbutton.h>
 #include <glib/gi18n-lib.h>
 #include <sys/stat.h>
 #include <cmath>
 #include <cstdlib>
+#include <cstring>
 
 using namespace gcu;
 
 Application::Application (string name, string datadir, char const *help_name, char const *icon_name)
 {
Index: gcu/atom.cc
===================================================================
RCS file: /sources/gchemutils/gchemutils/gcu/Attic/atom.cc,v
retrieving revision 1.7.2.1
diff -p -u -5 -r1.7.2.1 atom.cc
--- gcu/atom.cc	6 Apr 2007 16:28:29 -0000	1.7.2.1
+++ gcu/atom.cc	13 Dec 2007 09:38:45 -0000
@@ -25,10 +25,11 @@
 #include "element.h"
 #include "atom.h"
 #include "bond.h"
 #include "xml-utils.h"
 #include <cmath>
+#include <cstring>
 
 using namespace gcu;
 
 Atom::Atom(): Object(AtomType)
 {
Index: gcu/chem3ddoc.cc
===================================================================
RCS file: /sources/gchemutils/gchemutils/gcu/Attic/chem3ddoc.cc,v
retrieving revision 1.11
diff -p -u -5 -r1.11 chem3ddoc.cc
--- gcu/chem3ddoc.cc	6 Feb 2007 05:35:51 -0000	1.11
+++ gcu/chem3ddoc.cc	13 Dec 2007 09:38:45 -0000
@@ -48,10 +48,11 @@
 #ifdef HAVE_SSTREAM
 #	include <sstream>
 #else
 #	include <sstream.h>
 #endif
+#include <cstring>
 
 using namespace gcu;
 
 Chem3dDoc::Chem3dDoc (): GLDocument (NULL)
 {
Index: gcu/chemistry.cc
===================================================================
RCS file: /sources/gchemutils/gchemutils/gcu/Attic/chemistry.cc,v
retrieving revision 1.8
diff -p -u -5 -r1.8 chemistry.cc
--- gcu/chemistry.cc	25 Feb 2006 18:07:23 -0000	1.8
+++ gcu/chemistry.cc	13 Dec 2007 09:38:45 -0000
@@ -23,10 +23,11 @@
  */
 
 #include "config.h"
 #include "chemistry.h"
 #include "element.h"
+#include <cstring>
 
 extern "C"
 {
 	
 using namespace gcu;
Index: gcu/crystalline.cc
===================================================================
RCS file: /sources/gchemutils/gchemutils/gcu/Attic/crystalline.cc,v
retrieving revision 1.4.2.1
diff -p -u -5 -r1.4.2.1 crystalline.cc
--- gcu/crystalline.cc	6 Apr 2007 16:28:29 -0000	1.4.2.1
+++ gcu/crystalline.cc	13 Dec 2007 09:38:45 -0000
@@ -26,10 +26,11 @@
 #include "xml-utils.h"
 #include <glib.h>
 #include <GL/gl.h>
 #include <GL/glu.h>
 #include <cmath>
+#include <cstring>
 
 #define __max(x,y)  ((x) > (y)) ? (x) : (y)
 #define __min(x,y)  ((x) < (y)) ? (x) : (y)
 #define square(x)	((x)*(x))
 
Index: gcu/crystalview.cc
===================================================================
RCS file: /sources/gchemutils/gchemutils/gcu/Attic/crystalview.cc,v
retrieving revision 1.9.2.1
diff -p -u -5 -r1.9.2.1 crystalview.cc
--- gcu/crystalview.cc	6 Apr 2007 16:28:29 -0000	1.9.2.1
+++ gcu/crystalview.cc	13 Dec 2007 09:38:45 -0000
@@ -29,10 +29,11 @@
 #include <GL/glu.h>
 #include <gtk/gtkgl.h>
 #include <glib/gi18n-lib.h>
 #include <libgnomevfs/gnome-vfs-ops.h>
 #include <cmath>
+#include <cstring>
 
 using namespace gcu;
 
 CrystalView::CrystalView(CrystalDoc* pDoc): GLView (pDoc)
 {
Index: gcu/document.cc
===================================================================
RCS file: /sources/gchemutils/gchemutils/gcu/Attic/document.cc,v
retrieving revision 1.10
diff -p -u -5 -r1.10 document.cc
--- gcu/document.cc	6 Feb 2007 05:35:51 -0000	1.10
+++ gcu/document.cc	13 Dec 2007 09:38:45 -0000
@@ -24,10 +24,11 @@
 
 #include "config.h"
 #include "document.h"
 #include "application.h"
 #include "dialog.h"
+#include <cstring>
 
 using namespace gcu;
 
 Document::Document (Application *App): Object (DocumentType),
 m_Dirty (false),
Index: gcu/element.h
===================================================================
RCS file: /sources/gchemutils/gchemutils/gcu/Attic/element.h,v
retrieving revision 1.21
diff -p -u -5 -r1.21 element.h
--- gcu/element.h	16 Feb 2007 17:53:28 -0000	1.21
+++ gcu/element.h	13 Dec 2007 09:38:45 -0000
@@ -260,11 +260,11 @@ public:
 	@param property_name: the name of the property as used in the Blue
 	Obelisk Data Repository (without the "bo:" prefix).
 
 	@return the requested property if known, or NULL.
 	*/
-	Value *const GetProperty (char const *property_name) {return props[property_name];}
+	Value const *GetProperty (char const *property_name) {return props[property_name];}
 	/*!
 	@param property_name: the name of the property as used in the Blue
 	Obelisk Data Repository (without the "bo:" prefix).
 
 	@return the requested string property if known as a reference or an empty string.
Index: gcu/gtkchem3dviewer.cc
===================================================================
RCS file: /sources/gchemutils/gchemutils/gcu/Attic/gtkchem3dviewer.cc,v
retrieving revision 1.16
diff -p -u -5 -r1.16 gtkchem3dviewer.cc
--- gcu/gtkchem3dviewer.cc	21 Feb 2007 12:58:10 -0000	1.16
+++ gcu/gtkchem3dviewer.cc	13 Dec 2007 09:38:45 -0000
@@ -24,10 +24,11 @@
 #include "gtkchem3dviewer.h"
 #include "chem3ddoc.h"
 #include "glview.h"
 #include <glib/gi18n-lib.h>
 #include <gtk/gtk.h>
+#include <cstring>
 
 using namespace std;
 using namespace OpenBabel;
 using namespace gcu;
 
Index: gcu/object.cc
===================================================================
RCS file: /sources/gchemutils/gchemutils/gcu/Attic/object.cc,v
retrieving revision 1.24.2.1
diff -p -u -5 -r1.24.2.1 object.cc
--- gcu/object.cc	6 Apr 2007 09:23:23 -0000	1.24.2.1
+++ gcu/object.cc	13 Dec 2007 09:38:45 -0000
@@ -24,10 +24,11 @@
 #include "object.h"
 #include "document.h"
 #include <string>
 #include <iostream>
 #include <vector>
+#include <cstring>
 
 using namespace gcu;
 
 Object::Object(TypeId Id)
 {
Index: gcu/value.cc
===================================================================
RCS file: /sources/gchemutils/gchemutils/gcu/Attic/value.cc,v
retrieving revision 1.2.2.1
diff -p -u -5 -r1.2.2.1 value.cc
--- gcu/value.cc	6 Apr 2007 16:28:29 -0000	1.2.2.1
+++ gcu/value.cc	13 Dec 2007 09:38:45 -0000
@@ -21,10 +21,11 @@
  */
 
 #include "config.h"
 #include "value.h"
 #include <cstdlib>
+#include <cstring>
 
 using namespace gcu;
 
 Value::Value ()
 {
@@ -32,16 +33,16 @@ Value::Value ()
 
 Value::~Value ()
 {
 }
 
-char const *Value::GetAsString ()
+char const *Value::GetAsString () const
 {
 	return "";
 }
 
-double Value::GetAsDouble ()
+double Value::GetAsDouble () const
 {
 	return 0.;
 }
 
 SimpleValue::SimpleValue (): Value ()
@@ -50,21 +51,21 @@ SimpleValue::SimpleValue (): Value ()
 
 SimpleValue::~SimpleValue ()
 {
 }
 
-char const *SimpleValue::GetAsString ()
+char const *SimpleValue::GetAsString () const
 {
 	if (str.length () == 0) {
 		char *buf = gcu_value_get_string (&val);
-		str = buf;
+		const_cast <SimpleValue*> (this)->str = buf;
 		g_free (buf);
 	}
 	return str.c_str ();
 }
 
-double SimpleValue::GetAsDouble ()
+double SimpleValue::GetAsDouble () const
 {
 	return val.value;
 }
 
 DimensionalValue::DimensionalValue (): Value ()
@@ -73,21 +74,21 @@ DimensionalValue::DimensionalValue (): V
 
 DimensionalValue::~DimensionalValue ()
 {
 }
 
-char const *DimensionalValue::GetAsString ()
+char const *DimensionalValue::GetAsString () const
 {
 	if (str.length () == 0) {
 		char *buf = gcu_dimensional_value_get_string (&val);
-		str = buf;
+		const_cast <DimensionalValue*> (this)->str = buf; // this does not change the value.
 		g_free (buf);
 	}
 	return str.c_str ();
 }
 
-double DimensionalValue::GetAsDouble ()
+double DimensionalValue::GetAsDouble () const
 {
 	return val.value;
 }
 
 StringValue::StringValue ()
@@ -96,11 +97,11 @@ StringValue::StringValue ()
 
 StringValue::~StringValue ()
 {
 }
 
-char const *StringValue::GetAsString ()
+char const *StringValue::GetAsString () const
 {
 	return val.c_str ();
 }
 
 LocalizedStringValue::LocalizedStringValue ()
@@ -110,54 +111,54 @@ LocalizedStringValue::LocalizedStringVal
 LocalizedStringValue::~LocalizedStringValue ()
 {
 	vals.clear ();
 }
 
-char const *LocalizedStringValue::GetAsString ()
+char const *LocalizedStringValue::GetAsString () const
 {
 	char *lang = getenv ("LANG");
 	string s;
 	if (lang) {
-		s = vals[lang];
+		s = const_cast <LocalizedStringValue*> (this)->vals[lang];
 		if (s.length () == 0) {
 			lang = g_strdup (lang);
 			char *dot = strchr (lang, '.');
 			if (dot) {
 				*dot = 0;
-				s = vals[lang];
+				s = const_cast <LocalizedStringValue*> (this)->vals[lang];
 				if (s.length () > 0) {
 					g_free (lang);
 					return s.c_str ();
 				}
 			}
 			if (strlen (lang) > 2) {
 				lang[2] = 0;
-				s = vals[lang];
+				s = const_cast <LocalizedStringValue*> (this)->vals[lang];
 				if (s.length () > 0) {
 					g_free (lang);
 					return s.c_str ();
 				}
 			}
 			g_free (lang);
 		} else
 			return s.c_str ();
 	}
 	// if we are there, try "C" or "en" locales
-	s = vals["C"];
+	s = const_cast <LocalizedStringValue*> (this)->vals["C"];
 	if (s.length () > 0)
 		return s.c_str ();
-	s = vals["en"];
+	s = const_cast <LocalizedStringValue*> (this)->vals["en"];
 	if (s.length () > 0)
 		return s.c_str ();
 	// if not found, return first occurence or a void string
 	if (vals.size () > 0)
 		return (*vals.begin ()).second.c_str ();
 	return "";
 }
 
-char const *LocalizedStringValue::GetLocalizedString (char const *lang)
+char const *LocalizedStringValue::GetLocalizedString (char const *lang) const
 {
 	string s;
 	if (lang)
-		s = vals[lang];
+		s = const_cast <LocalizedStringValue*> (this)->vals[lang];
 	return (s.length () > 0)? s.c_str (): GetAsString ();
 }
Index: gcu/value.h
===================================================================
RCS file: /sources/gchemutils/gchemutils/gcu/Attic/value.h,v
retrieving revision 1.2
diff -p -u -5 -r1.2 value.h
--- gcu/value.h	23 Dec 2006 15:02:47 -0000	1.2
+++ gcu/value.h	13 Dec 2007 09:38:45 -0000
@@ -48,16 +48,16 @@ Default destructor
 	virtual ~Value ();
 
 /*!
 @return the value representation as a string.
 */
-	virtual char const *GetAsString ();
+	virtual char const *GetAsString () const;
 
 /*!
 @return the value representation as a double or 0. if not a numeric value.
 */
-	virtual double GetAsDouble ();
+	virtual double GetAsDouble () const;
 };
 
 /*!\class SimpleValue gcu/value.h
 Used to store adimensional data.
 */
@@ -76,19 +76,19 @@ Default destructor
 	virtual ~SimpleValue ();
 
 /*!
 @return the literal representation of the embedded adimensional data
 */
-	char const *GetAsString ();
+	char const *GetAsString () const;
 /*!
 @return the embedded value.
 */
-	double GetAsDouble ();
+	double GetAsDouble () const;
 /*!
 @return the embedded GcuValue structure.
 */
-	GcuValue const GetValue () {return val;}
+	GcuValue const GetValue () const {return val;}
 
 private:
 	GcuValue val;
 	string str;
 };
@@ -111,15 +111,15 @@ Default destructor
 	virtual ~DimensionalValue ();
 
 /*!
 @return the literal representation of the embedded dimensional data
 */
-	char const *GetAsString ();
+	char const *GetAsString () const;
 /*!
 @return the embedded value. Note that the unit is lost.
 */
-	double GetAsDouble ();
+	double GetAsDouble () const;
 /*!
 @return the embedded GcuDimensionalValue structure.
 */
 	GcuDimensionalValue const GetValue () {return val;}
 
@@ -146,11 +146,11 @@ Default destructor
 	virtual ~StringValue ();
 
 /*!
 @return the embedded string.
 */
-	char const *GetAsString ();
+	char const *GetAsString () const;
 
 private:
 	string val;
 };
 
@@ -173,17 +173,17 @@ Default destructor
 
 /*!
 @return the string translated to the current locale if known, otherwise, the untranslated
 string.
 */
-	char const *GetAsString ();
+	char const *GetAsString () const;
 /*!
 @param lang a locale name.
 @return the string translated to the requested locale if known, otherwise, the untranslated
 string.
 */
-	char const *GetLocalizedString (char const *lang);
+	char const *GetLocalizedString (char const *lang) const;
 
 private:
 	map <string, string> vals;
 };
 
Index: mozilla-plugin/chem-viewer.cc
===================================================================
RCS file: /sources/gchemutils/gchemutils/mozilla-plugin/chem-viewer.cc,v
retrieving revision 1.6
diff -p -u -5 -r1.6 chem-viewer.cc
--- mozilla-plugin/chem-viewer.cc	28 Nov 2006 09:59:19 -0000	1.6
+++ mozilla-plugin/chem-viewer.cc	13 Dec 2007 09:38:45 -0000
@@ -31,10 +31,11 @@
 #include <iostream>
 #include <fstream>
 #include <sstream>
 #include <string>
 #include <map>
+#include <cstring>
 
 using namespace std;
 using namespace gcu;
 
 static bool loaded_radii = false;
Index: programs/3d/application.cc
===================================================================
RCS file: /sources/gchemutils/gchemutils/programs/3d/application.cc,v
retrieving revision 1.9.2.3
diff -p -u -5 -r1.9.2.3 application.cc
--- programs/3d/application.cc	1 Nov 2007 15:18:04 -0000	1.9.2.3
+++ programs/3d/application.cc	13 Dec 2007 09:38:46 -0000
@@ -29,10 +29,11 @@
 #include "window.h"
 #include <gcu/filechooser.h>
 #include <libgnomevfs/gnome-vfs-ops.h>
 #include <libgnomevfs/gnome-vfs-utils.h>
 #include <glib/gi18n.h>
+#include <cstring>
 
 gc3dApplication::gc3dApplication (Display3DMode display3d, char const *bg):
 	Application (_("GChem3D Viewer"), DATADIR, "gchem3d-viewer"),
 	m_Display3D (display3d)
 {
Index: programs/3d/main.cc
===================================================================
RCS file: /sources/gchemutils/gchemutils/programs/3d/main.cc,v
retrieving revision 1.3.2.3
diff -p -u -5 -r1.3.2.3 main.cc
--- programs/3d/main.cc	10 Dec 2007 21:28:30 -0000	1.3.2.3
+++ programs/3d/main.cc	13 Dec 2007 09:38:46 -0000
@@ -32,10 +32,12 @@
 #include <libgnomevfs/gnome-vfs-init.h>
 #include <libgnomevfs/gnome-vfs-utils.h>
 #include <gcu/chemistry.h>
 #include <goffice/goffice.h>
 #include <goffice/utils/go-file.h>
+#include <cstring>
+#include <cstdio>
 
 void cb_print_version (const gchar *option_name, const gchar *value, gpointer data, GError **error)
 {
 	char *version = g_strconcat (_("GChem3d Viewer version: "), VERSION, NULL);
 	puts (version);
Index: programs/calc/gchemcalc.cc
===================================================================
RCS file: /sources/gchemutils/gchemutils/programs/calc/gchemcalc.cc,v
retrieving revision 1.8.2.3
diff -p -u -5 -r1.8.2.3 gchemcalc.cc
--- programs/calc/gchemcalc.cc	6 Apr 2007 16:28:29 -0000	1.8.2.3
+++ programs/calc/gchemcalc.cc	13 Dec 2007 09:38:46 -0000
@@ -57,12 +57,13 @@
 #include <goffice/utils/go-line.h>
 #include <goffice/utils/go-marker.h>
 #include <gsf/gsf-input-memory.h>
 #include <gsf/gsf-output-memory.h>
 #include <libgnomevfs/gnome-vfs.h>
-#include <cmath>
 #include <iostream>
+#include <cmath>
+#include <cstring>
 
 using namespace gcu;
 
 using namespace std;
 
Index: programs/crystal/application.cc
===================================================================
RCS file: /sources/gchemutils/gchemutils/programs/crystal/application.cc,v
retrieving revision 1.25.2.2
diff -p -u -5 -r1.25.2.2 application.cc
--- programs/crystal/application.cc	6 Apr 2007 16:28:29 -0000	1.25.2.2
+++ programs/crystal/application.cc	13 Dec 2007 09:38:46 -0000
@@ -35,10 +35,11 @@
 #include "globals.h"
 #include <gcu/filechooser.h>
 #include "prefs.h"
 #include "window.h"
 #include <glib/gi18n.h>
+#include <cstring>
 
 static unsigned short nNewDocs = 1;
 
 gcApplication::gcApplication(): Application ("gcrystal")
 {
Index: programs/crystal/atom.cc
===================================================================
RCS file: /sources/gchemutils/gchemutils/programs/crystal/atom.cc,v
retrieving revision 1.3.2.1
diff -p -u -5 -r1.3.2.1 atom.cc
--- programs/crystal/atom.cc	6 Apr 2007 16:28:29 -0000	1.3.2.1
+++ programs/crystal/atom.cc	13 Dec 2007 09:38:46 -0000
@@ -32,10 +32,11 @@
 #endif
 #include <glib.h>
 #include <GL/gl.h>
 #include <GL/glu.h>
 #include <cmath>
+#include <cstring>
 
 gcAtom::gcAtom(): CrystalAtom()
 {
 }
 
Index: programs/crystal/atomsdlg.cc
===================================================================
RCS file: /sources/gchemutils/gchemutils/programs/crystal/atomsdlg.cc,v
retrieving revision 1.8.2.1
diff -p -u -5 -r1.8.2.1 atomsdlg.cc
--- programs/crystal/atomsdlg.cc	18 Nov 2007 11:18:02 -0000	1.8.2.1
+++ programs/crystal/atomsdlg.cc	13 Dec 2007 09:38:46 -0000
@@ -29,10 +29,11 @@
 #include "application.h"
 #include <gcu/element.h>
 #include <list>
 #include <string>
 #include <glib/gi18n.h>
+#include <cstring>
 
 using namespace std;
 using namespace gcu;
 
 enum
Index: programs/crystal/document.cc
===================================================================
RCS file: /sources/gchemutils/gchemutils/programs/crystal/document.cc,v
retrieving revision 1.20.2.1
diff -p -u -5 -r1.20.2.1 document.cc
--- programs/crystal/document.cc	6 Apr 2007 16:28:29 -0000	1.20.2.1
+++ programs/crystal/document.cc	13 Dec 2007 09:38:46 -0000
@@ -61,10 +61,11 @@
 #	include <sstream.h>
 #endif
 #include <glib/gi18n.h>
 #include <clocale>
 #include <cmath>
+#include <cstring>
 
 #define SAVE	1
 #define LOAD	2
 #define XML		3
 #define FORMAT	4
Index: programs/crystal/line.cc
===================================================================
RCS file: /sources/gchemutils/gchemutils/programs/crystal/line.cc,v
retrieving revision 1.2.2.1
diff -p -u -5 -r1.2.2.1 line.cc
--- programs/crystal/line.cc	6 Apr 2007 16:28:29 -0000	1.2.2.1
+++ programs/crystal/line.cc	13 Dec 2007 09:38:46 -0000
@@ -27,10 +27,11 @@
 #include "line.h"
 #include <glib.h>
 #include <GL/gl.h>
 #include <GL/glu.h>
 #include <cmath>
+#include <cstring>
 
 static char *TypeName[] = {
 	(char*) "edges",
 	(char*) "diagonals",
 	(char*) "medians",
Index: programs/crystal/main.cc
===================================================================
RCS file: /sources/gchemutils/gchemutils/programs/crystal/main.cc,v
retrieving revision 1.10.2.2
diff -p -u -5 -r1.10.2.2 main.cc
--- programs/crystal/main.cc	6 Apr 2007 16:28:29 -0000	1.10.2.2
+++ programs/crystal/main.cc	13 Dec 2007 09:38:46 -0000
@@ -35,10 +35,11 @@
 #include <gtk/gtkglinit.h>
 #include <libgnomevfs/gnome-vfs-init.h>
 #include <libgnomevfs/gnome-vfs-utils.h>
 #include <glib/gi18n.h>
 #include <cstdio>
+#include <cstring>
 
 using namespace gcu;
 using namespace std;
 
 extern GtkWidget *vbox1;
Index: programs/crystal/view.cc
===================================================================
RCS file: /sources/gchemutils/gchemutils/programs/crystal/view.cc,v
retrieving revision 1.10.2.1
diff -p -u -5 -r1.10.2.1 view.cc
--- programs/crystal/view.cc	6 Apr 2007 16:28:29 -0000	1.10.2.1
+++ programs/crystal/view.cc	13 Dec 2007 09:38:46 -0000
@@ -30,10 +30,11 @@
 #include <libxml/xmlmemory.h>
 #include "view.h"
 #include "document.h"
 #include "globals.h"
 #include <cmath>
+#include <cstring>
 
 guint FoV;
 gdouble Psi, Theta, Phi;
 gdouble Red, Green, Blue;
 extern GtkWidget *vbox1;
Index: programs/crystal/window.cc
===================================================================
RCS file: /sources/gchemutils/gchemutils/programs/crystal/window.cc,v
retrieving revision 1.16.2.3
diff -p -u -5 -r1.16.2.3 window.cc
--- programs/crystal/window.cc	20 May 2007 19:18:31 -0000	1.16.2.3
+++ programs/crystal/window.cc	13 Dec 2007 09:38:46 -0000
@@ -28,10 +28,11 @@
 #include "document.h"
 #include "prefs.h"
 #include "view-settings.h"
 #include <gcu/crystalview.h>
 #include <glib/gi18n.h>
+#include <cstring>
 
 //Callbacks
 static bool on_delete_event (GtkWidget* widget, GdkEvent *event, gcWindow* Win)
 {
 	if (Win->TryClose ()) {
Index: programs/table/gchemtable-app.cc
===================================================================
RCS file: /sources/gchemutils/gchemutils/programs/table/gchemtable-app.cc,v
retrieving revision 1.14.2.4
diff -p -u -5 -r1.14.2.4 gchemtable-app.cc
--- programs/table/gchemtable-app.cc	25 Oct 2007 05:11:13 -0000	1.14.2.4
+++ programs/table/gchemtable-app.cc	13 Dec 2007 09:38:47 -0000
@@ -353,11 +353,11 @@ void GChemTableApp::SetFamily (int famil
 
 void GChemTableApp::GetStateColor (int Z, GdkColor *color)
 {
 	color->red= color->green = color->blue = 0;
 	Element *elt = Element::GetElement (Z);
-	Value *value = elt->GetProperty ("meltingpoint");
+	Value const *value = elt->GetProperty ("meltingpoint");
 	if (!value)
 		return;
 	double t = value->GetAsDouble ();
 	if (t > temperature) {
 		color->blue = 0xffff;
Index: programs/table/gchemtable-curve.cc
===================================================================
RCS file: /sources/gchemutils/gchemutils/programs/table/gchemtable-curve.cc,v
retrieving revision 1.6.2.1
diff -p -u -5 -r1.6.2.1 gchemtable-curve.cc
--- programs/table/gchemtable-curve.cc	22 Feb 2007 10:33:23 -0000	1.6.2.1
+++ programs/table/gchemtable-curve.cc	13 Dec 2007 09:38:47 -0000
@@ -46,10 +46,11 @@
 #include <goffice/utils/go-math.h>
 #include <gsf/gsf-input-memory.h>
 #include <gsf/gsf-output-memory.h>
 #include <glib/gi18n.h>
 #include <map>
+#include <cstring>
 
 using namespace gcu;
 
 map<string, GChemTableCurve*> curves;
 
@@ -297,11 +298,11 @@ GChemTableCurve::GChemTableCurve (GChemT
 		gog_dataset_set_dim (GOG_DATASET (label), 0, data, &error);
 		gog_object_add_by_name (obj, "Label", label);
 		gtk_window_set_title (dialog, _("Metallic radii"));
 	} else if (!strcmp (name, "mp")) {
 		Element *elt;
-		Value *prop;
+		Value const *prop;
 		for (i = 1; i <= MAX_ELT; i++) {
 			elt = Element::GetElement (i);
 			prop = elt->GetProperty ("meltingpoint");
 			yvals[i - 1] = (prop)? prop->GetAsDouble (): go_nan;
 		}
@@ -312,11 +313,11 @@ GChemTableCurve::GChemTableCurve (GChemT
 		gog_dataset_set_dim (GOG_DATASET (label), 0, data, &error);
 		gog_object_add_by_name (obj, "Label", label);
 		gtk_window_set_title (dialog, _("Melting point"));
 	} else if (!strcmp (name, "bp")) {
 		Element *elt;
-		Value *prop;
+		Value const *prop;
 		for (i = 1; i <= MAX_ELT; i++) {
 			elt = Element::GetElement (i);
 			prop = elt->GetProperty ("boilingpoint");
 			yvals[i - 1] = (prop)? prop->GetAsDouble (): go_nan;
 		}
Index: programs/table/gchemtable-elt.cc
===================================================================
RCS file: /sources/gchemutils/gchemutils/programs/table/gchemtable-elt.cc,v
retrieving revision 1.6.2.2
diff -p -u -5 -r1.6.2.2 gchemtable-elt.cc
--- programs/table/gchemtable-elt.cc	6 Apr 2007 16:28:29 -0000	1.6.2.2
+++ programs/table/gchemtable-elt.cc	13 Dec 2007 09:38:47 -0000
@@ -26,10 +26,11 @@
 #include "gchemtable-elt.h"
 #include "gchemtable-app.h"
 #include <gcu/element.h>
 #include <glib/gi18n.h>
 #include <list>
+#include <cstring>
 
 extern void on_show_curve (GObject *obj, char const* name);
 static void on_focus_in (GChemTableElt *dlg)
 {
 	dlg->OnFocusIn ();
@@ -328,11 +329,11 @@ GChemTableElt::GChemTableElt (GChemTable
 			g_free (ion);
 			g_free (cn);
 			g_free (buf);
 		}
 	}
-	Value *prop = elt->GetProperty ("meltingpoint");
+	Value const *prop = elt->GetProperty ("meltingpoint");
 	button = glade_xml_get_widget (xml, "melting-btn");
 	if (prop) {
 		w = glade_xml_get_widget (xml, "melting");
 		gtk_label_set_text (GTK_LABEL (w), prop->GetAsString ());
 		g_object_set_data (G_OBJECT (button), "app", App);
