diff options
author | B. Watson <yalhcru@gmail.com> | 2012-12-16 17:43:08 +0100 |
---|---|---|
committer | Matteo Bernardini <ponce@slackbuilds.org> | 2012-12-16 17:43:31 +0100 |
commit | ad7e92f4e1ad51631a8e08f65e32e5045779dea8 (patch) | |
tree | 1fc04f87327154da7fa187390cbbdddd8275fc31 /multimedia/vitunes-mplayer/multiuser.diff | |
parent | 23d96cf658fc06f8541664e2fc88d2baf7c03ba0 (diff) | |
download | slackbuilds-ad7e92f4e1ad51631a8e08f65e32e5045779dea8.tar.gz |
multimedia/vitunes-mplayer: Added (mplayer frontend w. vi bindings).
Signed-off-by: Matteo Bernardini <ponce@slackbuilds.org>
Diffstat (limited to 'multimedia/vitunes-mplayer/multiuser.diff')
-rw-r--r-- | multimedia/vitunes-mplayer/multiuser.diff | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/multimedia/vitunes-mplayer/multiuser.diff b/multimedia/vitunes-mplayer/multiuser.diff new file mode 100644 index 0000000000..cb0b5eedf2 --- /dev/null +++ b/multimedia/vitunes-mplayer/multiuser.diff @@ -0,0 +1,57 @@ +diff -Naur vitunes-2.3/socket.c vitunes-2.3.patched/socket.c +--- vitunes-2.3/socket.c 2012-01-02 16:02:11.000000000 -0500 ++++ vitunes-2.3.patched/socket.c 2012-11-25 12:12:05.000000000 -0500 +@@ -19,13 +19,23 @@ + #include <sys/socket.h> + #include <sys/un.h> + #include <unistd.h> ++#include <pwd.h> + + #include "socket.h" + #include "commands.h" + +-#define VITUNES_SOCK "/tmp/.vitunes" ++#define VITUNES_SOCK "/tmp/.vitunes-%s" + + ++static char *get_user_name(void) { ++ struct passwd *ent; ++ ent = getpwuid(getuid()); ++ if(ent) ++ return ent->pw_name; ++ else ++ return "unknown-user"; /* just in case */ ++} ++ + int + sock_send_msg(const char *msg) + { +@@ -38,8 +48,8 @@ + return -1; + + addr.sun_family = AF_UNIX; +- strcpy(addr.sun_path, VITUNES_SOCK); +- addr_len = sizeof(addr.sun_family) + strlen(VITUNES_SOCK) + 1; ++ sprintf(addr.sun_path, VITUNES_SOCK, get_user_name()); ++ addr_len = sizeof(addr.sun_family) + strlen(addr.sun_path) + 1; + + if(sendto(ret, msg, strlen(msg), 0, (struct sockaddr *) &addr, addr_len) == -1) { + close(ret); +@@ -58,14 +68,14 @@ + socklen_t addr_len; + int coe = 1; + +- unlink(VITUNES_SOCK); ++ sprintf(addr.sun_path, VITUNES_SOCK, get_user_name()); ++ unlink(addr.sun_path); + + if((ret = socket(AF_UNIX, SOCK_DGRAM, 0)) == -1) + return -1; + + addr.sun_family = AF_UNIX; +- strcpy(addr.sun_path, VITUNES_SOCK); +- addr_len = sizeof(addr.sun_family) + strlen(VITUNES_SOCK) + 1; ++ addr_len = sizeof(addr.sun_family) + strlen(addr.sun_path) + 1; + + if(bind(ret, (struct sockaddr *) &addr, addr_len) == -1) + return -1; |