Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

quickexec.cpp

Go to the documentation of this file.
00001 /**********************************************************************
00002 ** Copyright (C) 2000-2002 Trolltech AS.  All rights reserved.
00003 **
00004 ** This file is part of the Qtopia Environment.
00005 **
00006 ** This file may be distributed and/or modified under the terms of the
00007 ** GNU General Public License version 2 as published by the Free Software
00008 ** Foundation and appearing in the file LICENSE.GPL included in the
00009 ** packaging of this file.
00010 **
00011 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
00012 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
00013 **
00014 ** See http://www.trolltech.com/gpl/ for GPL licensing information.
00015 **
00016 ** Contact info@trolltech.com if any conditions of this licensing are
00017 ** not clear to you.
00018 **
00019 **********************************************************************/
00020 
00021 #include <stdio.h>
00022 #include <sys/types.h>
00023 #include <sys/stat.h>
00024 #include <unistd.h>
00025 #include <fcntl.h>
00026 
00027 #define QUICKEXEC "/tmp/.quickexec"
00028 
00029 int quickexecv( const char *path, const char *argv[] )
00030 {
00031     int fd = open( QUICKEXEC, O_WRONLY );
00032     if ( fd == -1 ) {
00033         perror( "quickexec pipe" );
00034         return -1;
00035     }
00036     write( fd, path, strlen( path )+1 );
00037     const char **s = argv;
00038     while( *s ) {
00039         write( fd, *s, strlen( *s )+1 );
00040         ++s;
00041     }
00042     close(fd);
00043     return 0;
00044 }
00045 
00046 int quickexec( const char *path, const char *, ...)
00047 {
00048     int fd = open( QUICKEXEC, O_WRONLY );
00049     if ( fd == -1 ) {
00050         perror( "quickexec pipe" );
00051         return -1;
00052     }
00053     const char** s = &path;
00054     do {
00055         write( fd, *s, strlen( *s )+1 );
00056     } while ( *(++s) );
00057 
00058     close( fd );
00059 
00060     return 0;
00061 }

Generated on Sat Nov 5 16:16:41 2005 for OPIE by  doxygen 1.4.2