diff --git a/utils/solvers/c++/GmshClient.h b/utils/solvers/c++/GmshClient.h index 6a2f00fd8068590fbcd9feb98c7779eef254a2ba..9c0b0ae1eee8fda5c3b0521535a04b8c08a6b0f1 100644 --- a/utils/solvers/c++/GmshClient.h +++ b/utils/solvers/c++/GmshClient.h @@ -135,8 +135,9 @@ class GmshClient { return -1; // Error: Couldn't create socket // try to connect socket to given name struct sockaddr_un addr_un; - strcpy(addr_un.sun_path, sockname); + memset((char *) &addr_un, 0, sizeof(addr_un)); addr_un.sun_family = AF_UNIX; + strcpy(addr_un.sun_path, sockname); for(int tries = 0; tries < 5; tries++) { if(connect(_sock, (struct sockaddr *)&addr_un, sizeof(addr_un)) >= 0) return _sock; diff --git a/utils/solvers/c/GmshClient.c b/utils/solvers/c/GmshClient.c index f0bd8909cfd2c38217a520bd95d15624c368cb2a..54aa3d93443eb661d96bc3f69f236cf258462831 100644 --- a/utils/solvers/c/GmshClient.c +++ b/utils/solvers/c/GmshClient.c @@ -1,4 +1,4 @@ -/* $Id: GmshClient.c,v 1.5 2006-02-25 00:15:01 geuzaine Exp $ */ +/* $Id: GmshClient.c,v 1.6 2006-02-25 19:07:50 geuzaine Exp $ */ /* * Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle * @@ -131,8 +131,9 @@ int Gmsh_Connect(char *sockname) if(sock < 0) return -1; /* Error: Couldn't create socket */ /* try to connect socket to given name */ - strcpy(addr_un.sun_path, sockname); + memset((char *) &addr_un, 0, sizeof(addr_un)); addr_un.sun_family = AF_UNIX; + strcpy(addr_un.sun_path, sockname); for(tries = 0; tries < 5; tries++) { if(connect(sock, (struct sockaddr *)&addr_un, sizeof(addr_un)) >= 0) return sock; diff --git a/utils/solvers/c/solver.c b/utils/solvers/c/solver.c index dfa6a5aa7ae7a7ff00a79cad25854e544912463a..c53bbdc6a9570119617965ac9935f0c750d6064f 100644 --- a/utils/solvers/c/solver.c +++ b/utils/solvers/c/solver.c @@ -1,4 +1,4 @@ -/* $Id: solver.c,v 1.5 2006-02-25 14:36:53 geuzaine Exp $ */ +/* $Id: solver.c,v 1.6 2006-02-25 19:07:50 geuzaine Exp $ */ /* * Copyright (C) 1997-2005 C. Geuzaine, J.-F. Remacle * @@ -47,6 +47,10 @@ #include <stdlib.h> #include <stdio.h> #include <string.h> +#if !defined(WIN32) || defined(__CYGWIN__) +#include <unistd.h> +#endif + #include "GmshClient.h" typedef enum { options, run } action;