[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