version 1.1.1.1, 2000/01/09 17:00:54 |
version 1.1.1.2, 2000/01/22 14:15:59 |
Line 84 char *call_args[10] = { NULL, NULL, NULL, NULL, NULL, |
|
Line 84 char *call_args[10] = { NULL, NULL, NULL, NULL, NULL, |
|
|
|
char *infile_name = NULL; /* name of command file; NULL if terminal */ |
char *infile_name = NULL; /* name of command file; NULL if terminal */ |
|
|
#ifdef GNU_READLINE |
#ifdef HAVE_LIBREADLINE |
extern char *rl_readline_name; |
extern char *rl_readline_name; |
extern int rl_complete_with_tilde_expansion; |
extern int rl_complete_with_tilde_expansion; |
#endif |
#endif |
Line 216 static struct udvt_entry udv_pi = { NULL, "pi", FALSE |
|
Line 216 static struct udvt_entry udv_pi = { NULL, "pi", FALSE |
|
struct udvt_entry *first_udv = &udv_pi; |
struct udvt_entry *first_udv = &udv_pi; |
struct udft_entry *first_udf = NULL; |
struct udft_entry *first_udf = NULL; |
|
|
|
static int exit_status = EXIT_SUCCESS; |
|
|
#ifdef OS2 |
#ifdef OS2 |
# define INCL_DOS |
# define INCL_DOS |
# define INCL_REXXSAA |
# define INCL_REXXSAA |
|
|
#endif |
#endif |
} |
} |
|
|
|
#ifdef LINUXVGA |
|
/* utility functions to ensure that setuid gnuplot |
|
* assumes root privileges only for those parts |
|
* of the code which require root rights. |
|
* |
|
* By "Dr. Werner Fink" <werner@suse.de> |
|
*/ |
|
static uid_t euid, ruid; |
|
static gid_t egid, rgid; |
|
static int asked_privi = 0; |
|
|
|
void |
|
drop_privilege() |
|
{ |
|
if (!asked_privi) { |
|
euid = geteuid(); |
|
egid = getegid(); |
|
ruid = getuid(); |
|
rgid = getgid(); |
|
asked_privi = 1; |
|
} |
|
if (setegid(rgid) == -1) |
|
(void) fprintf(stderr, "setegid(%d): %s\n", |
|
(int) rgid, strerror(errno)); |
|
if (seteuid(ruid) == -1) |
|
(void) fprintf(stderr, "seteuid(%d): %s\n", |
|
(int) ruid, strerror(errno)); |
|
} |
|
|
|
void |
|
take_privilege() |
|
{ |
|
if (!asked_privi) { |
|
euid = geteuid(); |
|
egid = getegid(); |
|
ruid = getuid(); |
|
rgid = getgid(); |
|
asked_privi = 1; |
|
} |
|
if (setegid(egid) == -1) |
|
(void) fprintf(stderr, "setegid(%d): %s\n", |
|
(int) egid, strerror(errno)); |
|
if (seteuid(euid) == -1) |
|
(void) fprintf(stderr, "seteuid(%d): %s\n", |
|
(int) euid, strerror(errno)); |
|
} |
|
#endif /* LINUXVGA */ |
|
|
|
|
/* a wrapper for longjmp so we can keep everything local */ |
/* a wrapper for longjmp so we can keep everything local */ |
void bail_to_command_line() |
void bail_to_command_line() |
{ |
{ |
|
|
unsigned int status[2] = { 1, 0 }; |
unsigned int status[2] = { 1, 0 }; |
#endif |
#endif |
|
|
#ifdef GNU_READLINE |
#ifdef HAVE_LIBREADLINE |
rl_readline_name = argv[0]; |
rl_readline_name = argv[0]; |
rl_complete_with_tilde_expansion = 1; |
rl_complete_with_tilde_expansion = 1; |
#endif |
#endif |
|
|
fprintf(stderr, "\nTerminal type set to '%s'\n", term->name); |
fprintf(stderr, "\nTerminal type set to '%s'\n", term->name); |
} else { |
} else { |
/* come back here from int_error() */ |
/* come back here from int_error() */ |
|
if (interactive == FALSE) |
|
exit_status = EXIT_FAILURE; |
|
|
#ifdef AMIGA_SC_6_1 |
#ifdef AMIGA_SC_6_1 |
(void) rawcon(0); |
(void) rawcon(0); |
#endif |
#endif |
|
|
|
|
while (!com_line()); |
while (!com_line()); |
|
|
/* interactive = FALSE; /* should this be here? */ |
/* interactive = FALSE; */ /* should this be here? */ |
|
|
} else |
} else |
load_file(fopen(*argv, "r"), *argv, FALSE); |
load_file(fopen(*argv, "r"), *argv, FALSE); |
|
|
if (aesid > -1) |
if (aesid > -1) |
atexit(appl_exit); |
atexit(appl_exit); |
#endif |
#endif |
return (IO_SUCCESS); |
return (exit_status); |
} |
} |
|
|
#if (defined(ATARI) || defined(MTOS)) && defined(__PUREC__) |
#if (defined(ATARI) || defined(MTOS)) && defined(__PUREC__) |