diff --git a/Common/CommandLine.cpp b/Common/CommandLine.cpp
index e2b9b5418388303f9ababbcf9e22388b00716f77..ed0bd9001ee923d88a7821d0ae34a8965d66656d 100644
--- a/Common/CommandLine.cpp
+++ b/Common/CommandLine.cpp
@@ -1,4 +1,4 @@
-// $Id: CommandLine.cpp,v 1.117 2008-02-18 18:46:49 geuzaine Exp $
+// $Id: CommandLine.cpp,v 1.118 2008-02-22 07:49:38 geuzaine Exp $
 //
 // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 //
@@ -19,6 +19,7 @@
 // 
 // Please report all bugs and problems to <gmsh@geuz.org>.
 
+#include <string.h>
 #include "GmshUI.h"
 #include "GmshDefines.h"
 #include "GmshVersion.h"
diff --git a/Geo/GModel.cpp b/Geo/GModel.cpp
index 34b31bfdc3187e1679a0191b395365613907da31..984eda8ba87a9d85006f62bedb1c9ccd1b1da687 100644
--- a/Geo/GModel.cpp
+++ b/Geo/GModel.cpp
@@ -1,4 +1,4 @@
-// $Id: GModel.cpp,v 1.61 2008-02-21 13:34:40 geuzaine Exp $
+// $Id: GModel.cpp,v 1.62 2008-02-22 07:49:38 geuzaine Exp $
 //
 // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 //
@@ -19,6 +19,7 @@
 //
 // Please report all bugs and problems to <gmsh@geuz.org>.
 
+#include <string.h>
 #include "GModel.h"
 #include "MElement.h"
 
diff --git a/Geo/GModelIO_Mesh.cpp b/Geo/GModelIO_Mesh.cpp
index fdc7c808aba5d29e6f792837df88a038f9e676de..7f4ac0d273dd3410b726b1e2dca66489d1d3dbba 100644
--- a/Geo/GModelIO_Mesh.cpp
+++ b/Geo/GModelIO_Mesh.cpp
@@ -1,4 +1,4 @@
-// $Id: GModelIO_Mesh.cpp,v 1.34 2008-02-21 07:48:49 geuzaine Exp $
+// $Id: GModelIO_Mesh.cpp,v 1.35 2008-02-22 07:49:38 geuzaine Exp $
 //
 // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 //
@@ -1890,34 +1890,38 @@ int GModel::readBDF(const std::string &name)
 	  elements[2][region].push_back(new MQuadrangle8(vertices, num));
       }
       else if(!strncmp(buffer, "CQUAD", 5)){
-	if(readElementBDF(fp, buffer, 5, -4, num, region, vertices, vertexMap))
+	if(readElementBDF(fp, buffer, 5, -4, num, region, vertices, vertexMap)){
 	  if(vertices.size() == 9)
 	    elements[2][region].push_back(new MQuadrangle9(vertices, num));
 	  else if(vertices.size() == 8)
 	    elements[2][region].push_back(new MQuadrangle8(vertices, num));
 	  else
 	    elements[2][region].push_back(new MQuadrangle(vertices, num));
+	}
       }
       else if(!strncmp(buffer, "CTETRA", 6)){
-	if(readElementBDF(fp, buffer, 6, -4, num, region, vertices, vertexMap))
+	if(readElementBDF(fp, buffer, 6, -4, num, region, vertices, vertexMap)){
 	  if(vertices.size() == 10)
 	    elements[3][region].push_back(new MTetrahedron10(vertices, num));
 	  else
 	    elements[3][region].push_back(new MTetrahedron(vertices, num));
+	}
       }
       else if(!strncmp(buffer, "CHEXA", 5)){
-	if(readElementBDF(fp, buffer, 5, -8, num, region, vertices, vertexMap))
+	if(readElementBDF(fp, buffer, 5, -8, num, region, vertices, vertexMap)){
 	  if(vertices.size() == 20)
 	    elements[4][region].push_back(new MHexahedron20(vertices, num));
 	  else
 	    elements[4][region].push_back(new MHexahedron(vertices, num));
+	}
       }
       else if(!strncmp(buffer, "CPENTA", 6)){
-	if(readElementBDF(fp, buffer, 6, -6, num, region, vertices, vertexMap))
+	if(readElementBDF(fp, buffer, 6, -6, num, region, vertices, vertexMap)){
 	  if(vertices.size() == 15)
 	    elements[5][region].push_back(new MPrism15(vertices, num));
 	  else
 	    elements[5][region].push_back(new MPrism(vertices, num));
+	}
       }
       else if(!strncmp(buffer, "CPYRAM", 6)){
 	if(readElementBDF(fp, buffer, 6, 5, num, region, vertices, vertexMap))
diff --git a/Geo/Geo.cpp b/Geo/Geo.cpp
index 6cf98c00e97be5f26920dc39197ec160cb7c6a87..18b5f5a0e1057429367c93ac5e0a16dad84fd7bf 100644
--- a/Geo/Geo.cpp
+++ b/Geo/Geo.cpp
@@ -1,4 +1,4 @@
-// $Id: Geo.cpp,v 1.103 2008-02-20 09:20:45 geuzaine Exp $
+// $Id: Geo.cpp,v 1.104 2008-02-22 07:49:38 geuzaine Exp $
 //
 // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 //
@@ -19,6 +19,7 @@
 // 
 // Please report all bugs and problems to <gmsh@geuz.org>.
 
+#include <string.h>
 #include "Message.h"
 #include "Numeric.h"
 #include "Malloc.h"
diff --git a/Geo/GeoStringInterface.cpp b/Geo/GeoStringInterface.cpp
index 9f725ff736d87b6be04cd2e2e0e5c2edfc4b120b..5b77310544a68e34a6b0888051b7f1e6a802c17f 100644
--- a/Geo/GeoStringInterface.cpp
+++ b/Geo/GeoStringInterface.cpp
@@ -1,4 +1,4 @@
-// $Id: GeoStringInterface.cpp,v 1.15 2008-02-17 08:47:58 geuzaine Exp $
+// $Id: GeoStringInterface.cpp,v 1.16 2008-02-22 07:49:38 geuzaine Exp $
 //
 // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 //
@@ -19,6 +19,7 @@
 // 
 // Please report all bugs and problems to <gmsh@geuz.org>.
 
+#include <string.h>
 #include "Message.h"
 #include "Numeric.h"
 #include "Malloc.h"
diff --git a/Graphics/ReadImg.cpp b/Graphics/ReadImg.cpp
index 2a19a7577adfc00eab52423a9dd13c1519fc6d2a..311f83c33190722204b15eab3b53faed4bfe82e0 100644
--- a/Graphics/ReadImg.cpp
+++ b/Graphics/ReadImg.cpp
@@ -1,4 +1,4 @@
-// $Id: ReadImg.cpp,v 1.22 2008-02-17 08:47:59 geuzaine Exp $
+// $Id: ReadImg.cpp,v 1.23 2008-02-22 07:49:39 geuzaine Exp $
 //
 // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 //
@@ -19,6 +19,7 @@
 // 
 // Please report all bugs and problems to <gmsh@geuz.org>.
 
+#include <string.h>
 #include "ReadImg.h"
 #include "Message.h"
 #include "GmshUI.h"
diff --git a/Mesh/Field.cpp b/Mesh/Field.cpp
index e1ed66fdf72d1772f3457a68cefdbfebeaa5b387..2c2a1e7058d0f76ce6bcf188941fbb3ba2e77f7a 100644
--- a/Mesh/Field.cpp
+++ b/Mesh/Field.cpp
@@ -1,4 +1,4 @@
-// $Id: Field.cpp,v 1.14 2008-02-17 08:48:00 geuzaine Exp $
+// $Id: Field.cpp,v 1.15 2008-02-22 07:49:39 geuzaine Exp $
 //
 // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 //
@@ -20,6 +20,7 @@
 // Please report all bugs and problems to <gmsh@geuz.org>.
 
 #include <fstream>
+#include <string.h>
 #include <math.h>
 #include "GModel.h"
 #include "MVertex.h"
diff --git a/Mesh/meshGFace.cpp b/Mesh/meshGFace.cpp
index ba9d66b68e88abdb1314d3ed30fe79c6dc50ab25..cc62a3f6c7364697676181d0e6441f728eee1a2e 100644
--- a/Mesh/meshGFace.cpp
+++ b/Mesh/meshGFace.cpp
@@ -1,4 +1,4 @@
-// $Id: meshGFace.cpp,v 1.119 2008-02-21 19:20:58 geuzaine Exp $
+// $Id: meshGFace.cpp,v 1.120 2008-02-22 07:49:39 geuzaine Exp $
 //
 // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 //
@@ -100,8 +100,8 @@ void remeshUnrecoveredEdges(std::set<EdgeToRecover> &edgesNotRecovered,
     for (int i = 0; i < N; i++){
       MVertex *v1 = itr->ge->lines[i]->getVertex(0);
       MVertex *v2 = itr->ge->lines[i]->getVertex(1);
-      if (v1->getNum() == p1 && v2->getNum() == p2 ||
-	  v1->getNum() == p2 && v2->getNum() == p1){
+      if ((v1->getNum() == p1 && v2->getNum() == p2) ||
+	  (v1->getNum() == p2 && v2->getNum() == p1)){
 	double t1;
 	double lc1 = -1;
 	if (v1->onWhat() == g1) t1 = bb.low();
diff --git a/Parser/CreateFile.cpp b/Parser/CreateFile.cpp
index 90a08a9c968c2a8578bf461f5a155bf946faaaf8..41ea6225c54afb7d9ad463f11969836d44b4ec8d 100644
--- a/Parser/CreateFile.cpp
+++ b/Parser/CreateFile.cpp
@@ -1,4 +1,4 @@
-// $Id: CreateFile.cpp,v 1.24 2008-02-17 08:48:02 geuzaine Exp $
+// $Id: CreateFile.cpp,v 1.25 2008-02-22 07:49:39 geuzaine Exp $
 //
 // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 //
@@ -19,6 +19,7 @@
 // 
 // Please report all bugs and problems to <gmsh@geuz.org>.
 
+#include <string.h>
 #include "Message.h"
 #include "GModel.h"
 #include "GmshDefines.h"