[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdebase/ksmserver
From:       Oswald Buddenhagen <ossi () kde ! org>
Date:       2004-08-18 8:44:18
Message-ID: 20040818084418.8F2852322 () office ! kde ! org
[Download RAW message or body]

CVS commit by ossi: 

use kapp::kdmExec


  M +5 -41     server.cpp   1.128


--- kdebase/ksmserver/server.cpp  #1.127:1.128
@@ -692,38 +692,4 @@ static Status KSMNewClientProc ( SmsConn
 
 
-static char *
-kdmExec( const char *cmd )
-{
-    char *ctl, *dpy, *ptr;
-    int fd, len;
-    struct sockaddr_un sa;
-    char buf[1024];
-
-    if ((dpy = getenv( "DISPLAY" )) &&
-        (ctl = getenv( "DM_CONTROL" )) &&
-        (fd = socket( PF_UNIX, SOCK_STREAM, 0 )) >= 0)
-    {
-        sa.sun_family = AF_UNIX;
-        if ((ptr = strchr( dpy, ':' )))
-            ptr = strchr( ptr, '.' );
-        snprintf( sa.sun_path, sizeof(sa.sun_path),
-                  "%s/dmctl-%.*s/socket", ctl, ptr ? ptr - dpy : 512, dpy );
-        if (!connect( fd, (struct sockaddr *)&sa, sizeof(sa) ) &&
-            write( fd, cmd, (len = strlen( cmd )) ) == len)
-        {
-            len = read( fd, buf, sizeof(buf) );
-            close( fd );
-            if (len > 0) {
-                ptr = (char *)malloc( len + 1 );
-                memcpy( ptr, buf, len );
-                ptr[len] = 0;
-                return ptr;
-            }
-        }
-        close( fd );
-    }
-    return 0;
-}
-
 #ifdef HAVE__ICETRANSNOLISTEN
 extern "C" int _IceTransNoListen(const char * protocol);
@@ -868,5 +834,5 @@ void KSMServer::cleanUp()
                     shutdownMode == KApplication::ShutdownModeTryNow ?
                     "trynow\n" : "schedule\n" );
-        free( kdmExec( cmd.data() ) );
+        KApplication::kdmExec( cmd.data() );
     }
 }
@@ -972,10 +938,8 @@ void KSMServer::shutdown( KApplication::
                   !config->readBoolEntry( "confirmLogout", true );
     bool maysd = false;
-    char *re;
-    if (config->readBoolEntry( "offerShutdown", true ) && (re = kdmExec( "caps\n" ))) {
-        if (strstr( re, "\tshutdown" ))
+    QCString re;
+    if (config->readBoolEntry( "offerShutdown", true ) &&
+        KApplication::kdmExec( "caps\n", &re ) && re.find( "\tshutdown" ) >= 0)
             maysd = true;
-        free( re );
-    }
     if (!maysd)
         sdtype = KApplication::ShutdownTypeNone;


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic