more usable unix sockets classes
[senf.git] / Socket / Protocols / UN / UNAddressing.cc
index abc278f..2ae9b95 100644 (file)
@@ -1,6 +1,7 @@
-// $Id$
-//
 // Copyright (C) 2007 
+// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS)
+// Kompetenzzentrum NETwork research (NET)
+//     David Wagner <david.wagner@fokus.fraunhofer.de>
 //
 // This program is free software; you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by
 #include <stdio.h>
 #include <boost/operators.hpp>
 #include <boost/filesystem/path.hpp>
-#include "../../../Utils/SafeBool.hh"
-//#include "UNAddressing.mpp"
+
 #define prefix_
 ///////////////////////////////cc.p////////////////////////////////////////
 prefix_ senf::UNSocketAddress::UNSocketAddress(boost::filesystem::path p)
 {
-    chdir(p.branch_path().string().c_str());
-//Check if the unix domain socket already exists...
-    if(!remove(p.leaf().c_str()))
-       printf("File already existed and therefore was deleted!\n");
-    else
-       printf("File not found, will be created.\n");
-    fflush(stdout);
-
-    sockAddr.sun_family = AF_UNIX; 
-    strcpy(sockAddr.sun_path, p.string().c_str());
+       sockAddr.sun_family = AF_UNIX;
+       strcpy(sockAddr.sun_path, p.string().c_str());
 }
 
-    prefix_ senf::UNSocketAddress fromString(std::string s)
-{
+prefix_ senf::UNSocketAddress fromString(std::string s) {
     return senf::UNSocketAddress::UNSocketAddress(boost::filesystem::path(s));
 }
 
-    prefix_ senf::UNSocketAddress fromPath(boost::filesystem::path p)
+prefix_ senf::UNSocketAddress fromPath(boost::filesystem::path p)
 {
     return senf::UNSocketAddress::UNSocketAddress(p);
 }
-    prefix_ std::string senf::UNSocketAddress::path()
+
+prefix_ std::string senf::UNSocketAddress::path()
+        const
 {
     return std::string(sockAddr.sun_path);
 }
@@ -63,7 +56,7 @@ prefix_ sockaddr_un senf::UNSocketAddress::sockaddr()
 {
     struct sockaddr_un out; 
     out.sun_family = sockAddr.sun_family;
-    strcpy(out.sun_path, sockAddr.sun_path);
+    strncpy(out.sun_path, sockAddr.sun_path, sizeof( out.sun_path));
     return out; 
 }
 
@@ -80,7 +73,7 @@ prefix_ sockaddr const  * senf::UNSocketAddress::sockaddr_p()
 }
 
 prefix_ unsigned senf::UNSocketAddress::sockaddr_len()
-    const
+       const
 {
     return sizeof(sockAddr);
 }