#include <string.h> /* for bzero on BSD systems */
#endif
-#ifdef NATIVE_WIN32
+#ifdef G_OS_WIN32
# define STRICT /* Strict typing, please */
# include <windows.h>
# include <process.h> /* For _getpid() */
void
g_on_error_query (const gchar *prg_name)
{
-#ifndef NATIVE_WIN32
+#ifndef G_OS_WIN32
static const gchar *query1 = "[E]xit, [H]alt";
static const gchar *query2 = ", show [S]tack trace";
static const gchar *query3 = " or [P]roceed";
query3);
fflush (stdout);
- fgets (buf, 8, stdin);
+ if (isatty(0) && isatty(1))
+ fgets (buf, 8, stdin);
+ else
+ strcpy (buf, "E\n");
if ((buf[0] == 'E' || buf[0] == 'e')
&& buf[1] == '\n')
if (!prg_name)
prg_name = g_get_prgname ();
- MessageBox (NULL, "Terminating",
+ MessageBox (NULL, "g_on_error_query called, program terminating",
(prg_name && *prg_name) ? prg_name : NULL,
MB_OK|MB_ICONERROR);
_exit(0);
void
g_on_error_stack_trace (const gchar *prg_name)
{
-#ifndef NATIVE_WIN32
+#ifdef G_OS_UNIX
pid_t pid;
gchar buf[16];
gchar *args[4] = { "gdb", NULL, NULL, NULL };
static void
stack_trace (char **args)
{
-#ifndef NATIVE_WIN32
+#ifdef G_OS_UNIX
pid_t pid;
int in_fd[2];
int out_fd[2];