Add CRASHREPORT, show contact form on panic/impossible
When calling panic() or impossible(), create the option of opening a browser window with most of the fields already populated. Code for MacOS and linux is included; other ports are affected by argument change to early_init which are done but not tested. To enable, define CRASHREPORT in config.h and set CRASHREPORTURL in sysconf to (for the moment at least) http[s]://www.nethack.org/common/contactcr.html Adds --grep-defined option to makedefs for Makefiles. Adds "bid" (binary identifier), an MD4 of the main nethack binary. This is ONLY for helping (in the future) contact.html to set the "NetHack from" field automatically for our own binaries. This can be faked, but the user can lie so nothing lost. There's nothing magic about MD4; other ports can use anything that prodcues a long apparently random string we can match against. - new option --bidshow for us to get the MD4 of a released binary so I can add it to the website. Only available in wizard mode and not in nethack.6. - typo macos -> macosx in hints file No support for packaging builds as I'm not sure what that would look like. Adds a javascript helper for MacOS. Adds a lua helper for linux (and builds and installs nhlua).
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.7 config.h $NHDT-Date: 1610141601 2021/01/08 21:33:21 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.148 $ */
|
||||
/* NetHack 3.7 config.h $NHDT-Date: 1693359531 2023/08/30 01:38:51 $ $NHDT-Branch: keni-crashweb2 $:$NHDT-Revision: 1.175 $ */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/*-Copyright (c) Robert Patrick Rankin, 2016. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
@@ -205,6 +205,10 @@
|
||||
* The following options pertain to crash reporting:
|
||||
* GREPPATH (the path to the system grep(1) utility)
|
||||
* GDBPATH (the path to the system gdb(1) program)
|
||||
* CRASHREPORT (use CRASHREPORTURL if defined in syscf; this
|
||||
* define specifies the name of the helper program
|
||||
* used to launch the browser and enables the
|
||||
* feature))
|
||||
* Regular nethack options can also be specified in order to
|
||||
* provide system-wide default values local to your system:
|
||||
* OPTIONS (same as in users' .nethackrc or defaults.nh)
|
||||
@@ -235,6 +239,17 @@
|
||||
#define GREPPATH "/bin/grep"
|
||||
#endif
|
||||
|
||||
#ifndef CRASHREPORT
|
||||
# ifdef MACOS
|
||||
/* NB: This needs to be a full path unless it's in the playground. */
|
||||
//#define CRASHREPORT "NetHackCrashReport.JavaScript"
|
||||
# endif
|
||||
# ifdef __linux__
|
||||
/* NB: This expects to find the nhlua binary as "./nhlua" */
|
||||
//#define CRASHREPORT "nhcrashreport.lua"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* note: "larger" is in comparison with 'record', the high-scores file
|
||||
(whose name can be overridden via #define in global.h if desired) */
|
||||
#define LOGFILE "logfile" /* larger file for debugging purposes */
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.7 extern.h $NHDT-Date: 1689629242 2023/07/17 21:27:22 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1279 $ */
|
||||
/* NetHack 3.7 extern.h $NHDT-Date: 1693359531 2023/08/30 01:38:51 $ $NHDT-Branch: keni-crashweb2 $:$NHDT-Revision: 1.1281 $ */
|
||||
/* Copyright (c) Steve Creps, 1988. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
@@ -24,7 +24,7 @@ extern unsigned FITSuint_(unsigned long long, const char *, int);
|
||||
|
||||
/* ### allmain.c ### */
|
||||
|
||||
extern void early_init(void);
|
||||
extern void early_init(int, char *[]);
|
||||
extern void moveloop_core(void);
|
||||
extern void moveloop(boolean);
|
||||
extern void stop_occupation(void);
|
||||
@@ -814,6 +814,11 @@ extern struct kinfo *find_delayed_killer(int);
|
||||
extern void dealloc_killer(struct kinfo *);
|
||||
extern void save_killers(NHFILE *);
|
||||
extern void restore_killers(NHFILE *);
|
||||
#ifdef CRASHREPORT
|
||||
extern boolean submit_web_report(const char *, char *);
|
||||
extern void crashreport_init(int, char *[]);
|
||||
extern void crashreport_bidshow(void);
|
||||
#endif
|
||||
extern char *build_english_list(char *);
|
||||
#if defined(PANICTRACE) && !defined(NO_SIGNAL)
|
||||
extern void panictrace_setsignals(boolean);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.7 hack.h $NHDT-Date: 1689629241 2023/07/17 21:27:21 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.222 $ */
|
||||
/* NetHack 3.7 hack.h $NHDT-Date: 1693359531 2023/08/30 01:38:51 $ $NHDT-Branch: keni-crashweb2 $:$NHDT-Revision: 1.223 $ */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/*-Copyright (c) Pasi Kallinen, 2017. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
@@ -417,6 +417,9 @@ enum earlyarg {
|
||||
#ifdef WIN32
|
||||
, ARG_WINDOWS
|
||||
#endif
|
||||
#ifdef CRASHREPORT
|
||||
, ARG_BIDSHOW
|
||||
#endif
|
||||
};
|
||||
|
||||
struct early_opt {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.7 sys.h $NHDT-Date: 1646255373 2022/03/02 21:09:33 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.38 $ */
|
||||
/* NetHack 3.7 sys.h $NHDT-Date: 1693083207 2023/08/26 20:53:27 $ $NHDT-Branch: keni-crashweb2 $:$NHDT-Revision: 1.41 $ */
|
||||
/* Copyright (c) Kenneth Lorber, Kensington, Maryland, 2008. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
@@ -40,6 +40,7 @@ struct sysopt {
|
||||
/* panic options */
|
||||
char *gdbpath;
|
||||
char *greppath;
|
||||
char *crashreporturl;
|
||||
int panictrace_gdb;
|
||||
int panictrace_libc;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user