From bb5ac04875f1d3a1b2c240081766add07c6b460a Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Mon, 12 Feb 2018 13:12:08 +0100 Subject: [PATCH] more fixes to Emscripten CLI --- commandline.cpp | 4 ++-- hyper.cpp | 4 ++-- hyper.h | 8 ++++---- hyperweb.cpp | 5 ++--- 4 files changed, 10 insertions(+), 11 deletions(-) diff --git a/commandline.cpp b/commandline.cpp index 20a97d84..2c4796cc 100644 --- a/commandline.cpp +++ b/commandline.cpp @@ -86,7 +86,7 @@ int arg::readCommon() { else if(argis("-pattern")) { PHASE(3); shift(); - char *c = args(); + const char *c = args(); using namespace patterns; subpattern_flags = 0; whichPattern = 0; @@ -523,7 +523,7 @@ purehookset hooks_config; hookset *hooks_args; namespace arg { - int argc; char **argv; + int argc; const char **argv; int curphase; auto ah = addHook(hooks_args, 0, readCommon); diff --git a/hyper.cpp b/hyper.cpp index 3775529d..a5e44652 100644 --- a/hyper.cpp +++ b/hyper.cpp @@ -40,10 +40,10 @@ void moreStack() { } #endif -hookset *hooks_main; +hookset *hooks_main; #ifndef NOMAIN -int main(int argc, char **argv) { +int main(int argc, const char **argv) { #if ISWEB emscripten_get_commandline(argc, argv); #endif diff --git a/hyper.h b/hyper.h index 040d7312..2cba5763 100644 --- a/hyper.h +++ b/hyper.h @@ -1506,7 +1506,7 @@ extern int cshpos; namespace arg { #if CAP_COMMANDLINE - extern int argc; extern char **argv; + extern int argc; extern const char **argv; inline void lshift() { argc--; argv++; @@ -1516,12 +1516,12 @@ namespace arg { lshift(); if(!argc) { printf("Missing parameter\n"); exit(1); } } - inline char* args() { return *argv; } + inline const char* args() { return *argv; } inline int argi() { return atoi(*argv); } inline ld argf() { return atof(*argv); } inline bool argis(const char *s) { return strcmp(*argv, s) == 0; } - inline void init(int _argc, char **_argv) { argc=_argc-1; argv=_argv+1; } + inline void init(int _argc, const char **_argv) { argc=_argc-1; argv=_argv+1; } extern int curphase; @@ -1761,7 +1761,7 @@ template V callhandlers(V zero, hookset *h, U&. extern hookset *hooks_handleKey; extern hookset *hooks_drawcell; -extern hookset *hooks_main; +extern hookset *hooks_main; extern hookset *hooks_args; extern hookset *hooks_nextland; diff --git a/hyperweb.cpp b/hyperweb.cpp index a6521c2a..405e61c6 100644 --- a/hyperweb.cpp +++ b/hyperweb.cpp @@ -24,7 +24,7 @@ template void emscripten_set_main_loop(A a, B b, C c) #endif void initweb(); -void emscripten_get_commandline(int argc, char ** argv); +void emscripten_get_commandline(int& argc, const char **& argv); void loadCompressedChar(int &otwidth, int &otheight, int *tpix); @@ -153,10 +153,9 @@ transmatrix getOrientation() { vector emscripten_args; vector emscripten_args_c; -void emscripten_get_commandline(int argc, const char ** argv) { +void emscripten_get_commandline(int& argc, const char **& argv) { char *str = (char*)EM_ASM_INT({ var jsString = document.location.href; - alert(jsString); var lengthBytes = lengthBytesUTF8(jsString)+1; var stringOnWasmHeap = _malloc(lengthBytes); stringToUTF8(jsString, stringOnWasmHeap, lengthBytes+1);