author | kergoth <kergoth> | 2002-01-25 22:14:26 (UTC) |
---|---|---|
committer | kergoth <kergoth> | 2002-01-25 22:14:26 (UTC) |
commit | 15318cad33835e4e2dc620d033e43cd930676cdd (patch) (side-by-side diff) | |
tree | c2fa0399a2c47fda8e2cd0092c73a809d17f68eb /library/quickexec.cpp | |
download | opie-15318cad33835e4e2dc620d033e43cd930676cdd.zip opie-15318cad33835e4e2dc620d033e43cd930676cdd.tar.gz opie-15318cad33835e4e2dc620d033e43cd930676cdd.tar.bz2 |
Initial revision
-rw-r--r-- | library/quickexec.cpp | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/library/quickexec.cpp b/library/quickexec.cpp new file mode 100644 index 0000000..f3b5089 --- a/dev/null +++ b/library/quickexec.cpp @@ -0,0 +1,41 @@ +#include <stdio.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <unistd.h> +#include <fcntl.h> + +#define QUICKEXEC "/tmp/.quickexec" + +int quickexecv( const char *path, const char *argv[] ) +{ + int fd = open( QUICKEXEC, O_WRONLY ); + if ( fd == -1 ) { + perror( "quickexec pipe" ); + return -1; + } + write( fd, path, strlen( path )+1 ); + const char **s = argv; + while( *s ) { + write( fd, *s, strlen( *s )+1 ); + ++s; + } + close(fd); + return 0; +} + +int quickexec( const char *path, const char *, ...) +{ + int fd = open( QUICKEXEC, O_WRONLY ); + if ( fd == -1 ) { + perror( "quickexec pipe" ); + return -1; + } + const char** s = &path; + do { + write( fd, *s, strlen( *s )+1 ); + } while ( *(++s) ); + + close( fd ); + + return 0; +} |