January 24, 2013 [Issue 9384] New: std.socket: UnixAddress broken on Linux and others | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/issues/show_bug.cgi?id=9384 Summary: std.socket: UnixAddress broken on Linux and others Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: Phobos AssignedTo: nobody@puremagic.com ReportedBy: alanb@ucora.com --- Comment #0 from Rob T <alanb@ucora.com> 2013-01-24 00:30:51 PST --- std.socket is missing the following import: import core.sys.posix.sys.un; Even when adding in the missing import, the implementation of UnixAddress is broken. Here's my quick fix for Linux (there may be problems with it), there also needs to be versions for OSX and FreeBSD because sockaddr_un is slightly different. import std.c.linux.socket; import core.sys.posix.sys.un; class UnixAddress: Address { private: sockaddr_un sun; this() { } public: override @property sockaddr* name() { return cast(sockaddr*)&sun; } override @property const(sockaddr)* name() const { return cast(const(sockaddr)*)&sun; } override @property socklen_t nameLen() const { return cast(socklen_t) sun.sizeof; } this(in char[] path) { sun.sun_family = AF_UNIX; sun.sun_path.ptr[0..path.length] = cast(byte[])path; sun.sun_path.ptr[path.length] = 0; } @property string path() const { return to!string(sun.sun_path.ptr); } override string toString() const { return path; } } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
September 08, 2013 [Issue 9384] std.socket: UnixAddress broken on Linux and others | ||||
---|---|---|---|---|
| ||||
Posted in reply to Rob T | http://d.puremagic.com/issues/show_bug.cgi?id=9384 jerro.public@gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |jerro.public@gmail.com Resolution| |FIXED -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
Copyright © 1999-2021 by the D Language Foundation