diff options
Diffstat (limited to 'w3mimg/w3mimg.c')
-rw-r--r-- | w3mimg/w3mimg.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/w3mimg/w3mimg.c b/w3mimg/w3mimg.c new file mode 100644 index 0000000..144a2d9 --- /dev/null +++ b/w3mimg/w3mimg.c @@ -0,0 +1,34 @@ +/* $Id: w3mimg.c,v 1.5 2002/11/06 03:50:49 ukai Exp $ */ + +#include <stdio.h> +#include <stdlib.h> +#include <sys/types.h> +#include <unistd.h> +#include "w3mimg/w3mimg.h" + +w3mimg_op * +w3mimg_open() +{ + w3mimg_op *w_op = NULL; +#ifdef W3MIMGDISPLAY_SETUID + uid_t runner_uid = getuid(); + uid_t owner_uid = geteuid(); +#endif +#ifdef USE_W3MIMG_X11 +#ifdef W3MIMGDISPLAY_SETUID + /* run in user privileges */ + setreuid(owner_uid, runner_uid); +#endif + if (w_op == NULL) + w_op = w3mimg_x11open(); +#ifdef W3MIMGDISPLAY_SETUID + setreuid(runner_uid, owner_uid); +#endif +#endif +#ifdef USE_W3MIMG_FB + /* run in setuid privileges */ + if (w_op == NULL) + w_op = w3mimg_fbopen(); +#endif + return w_op; +} |