diff --git a/src/compiler/os.cc b/src/compiler/os.cc index b955c02..fafdc25 100644 --- a/src/compiler/os.cc +++ b/src/compiler/os.cc @@ -140,7 +140,7 @@ int os::prog_exec(std::string exe, std::vector &args) // Ignore INT and QUIT signals in the parent process: sigset_t oldmask, newmask; - struct sigaction sa = {SIG_IGN, 0}, oldint, oldquit; + struct sigaction sa = {{SIG_IGN}, 0}, oldint, oldquit; sigaction(SIGINT, &sa, &oldint); sigaction(SIGQUIT, &sa, &oldquit); @@ -154,7 +154,7 @@ int os::prog_exec(std::string exe, std::vector &args) if(pid == 0) { // Child, reset INT, QUIT and CHLD signals to default - struct sigaction sa = {SIG_DFL, 0}; + struct sigaction sa = {{SIG_DFL}, 0}; sigaction(SIGINT, &sa, nullptr); sigaction(SIGQUIT, &sa, nullptr); sigprocmask(SIG_SETMASK, &oldmask, nullptr); diff --git a/src/compiler/parser.h b/src/compiler/parser.h index 14859b8..dbc1a34 100644 --- a/src/compiler/parser.h +++ b/src/compiler/parser.h @@ -472,7 +472,7 @@ class parse { if(c == '"') expand.stext += "\"\""; - else if(c == 155) + else if((unsigned) c == 155) { in = false; expand.stext += std::string("\"$") + hexd(c >> 4) + hexd(c); @@ -482,7 +482,7 @@ class parse } else { - if(c == 155 || c == '"') + if((unsigned) c == 155 || c == '"') expand.stext += std::string("$") + hexd(c >> 4) + hexd(c); else {