From: Brendan Shanks bshanks@codeweavers.com
--- dlls/ntdll/unix/server.c | 16 ++-------------- server/request.c | 12 +----------- 2 files changed, 3 insertions(+), 25 deletions(-)
diff --git a/dlls/ntdll/unix/server.c b/dlls/ntdll/unix/server.c index c1ee8e27f0c..438c16518bd 100644 --- a/dlls/ntdll/unix/server.c +++ b/dlls/ntdll/unix/server.c @@ -1232,23 +1232,11 @@ int server_pipe( int fd[2] ) static const char *init_server_dir( dev_t dev, ino_t ino ) { char *dir = NULL; - int p; - char tmp[2 * sizeof(dev) + 2 * sizeof(ino) + 2]; - - if (dev != (unsigned long)dev) - p = snprintf( tmp, sizeof(tmp), "%lx%08lx-", (unsigned long)((unsigned long long)dev >> 32), (unsigned long)dev ); - else - p = snprintf( tmp, sizeof(tmp), "%lx-", (unsigned long)dev ); - - if (ino != (unsigned long)ino) - snprintf( tmp + p, sizeof(tmp) - p, "%lx%08lx", (unsigned long)((unsigned long long)ino >> 32), (unsigned long)ino ); - else - snprintf( tmp + p, sizeof(tmp) - p, "%lx", (unsigned long)ino );
#ifdef __ANDROID__ /* there's no /tmp dir on Android */ - asprintf( &dir, "%s/.wineserver/server-%s", config_dir, tmp ); + asprintf( &dir, "%s/.wineserver/server-%llx-%llx", config_dir, (unsigned long long)dev, (unsigned long long)ino ); #else - asprintf( &dir, "/tmp/.wine-%u/server-%s", getuid(), tmp ); + asprintf( &dir, "/tmp/.wine-%u/server-%llx-%llx", getuid(), (unsigned long long)dev, (unsigned long long)ino ); #endif return dir; } diff --git a/server/request.c b/server/request.c index 82b4a722d61..8fe3a09cb7e 100644 --- a/server/request.c +++ b/server/request.c @@ -662,17 +662,7 @@ static char *create_server_dir( int force ) strcat( server_dir, "/server-" ); p = server_dir + strlen(server_dir);
- if (st.st_dev != (unsigned long)st.st_dev) - p += sprintf( p, "%lx%08lx-", (unsigned long)((unsigned long long)st.st_dev >> 32), - (unsigned long)st.st_dev ); - else - p += sprintf( p, "%lx-", (unsigned long)st.st_dev ); - - if (st.st_ino != (unsigned long)st.st_ino) - sprintf( p, "%lx%08lx", (unsigned long)((unsigned long long)st.st_ino >> 32), - (unsigned long)st.st_ino ); - else - sprintf( p, "%lx", (unsigned long)st.st_ino ); + sprintf( p, "%llx-%llx", (unsigned long long)st.st_dev, (unsigned long long)st.st_ino );
create_dir( server_dir, &st );