~bibledit/bibledit/ubuntu-cloud

« back to all changes in this revision

Viewing changes to filter/shell.cpp

  • Committer: Teus Benschop
  • Date: 2022-08-30 18:42:32 UTC
  • Revision ID: teusjannette@gmail.com-20220830184232-a5bf5fkj14cqdx01
new upstream version

Show diffs side-by-side

added added

removed removed

Lines of Context:
30
30
#include <developer/logic.h>
31
31
 
32
32
 
 
33
// Internal declarations.
 
34
string filter_shell_escape_argument (string argument);
 
35
 
 
36
 
33
37
string filter_shell_escape_argument (string argument)
34
38
{
35
39
  argument = filter_string_str_replace ("'", "\\'", argument);
108
112
    // This runs in the child.
109
113
    dup2(fd, 1);
110
114
    close(fd);
111
 
    execlp (command.c_str(), parameter, (char*)0);
 
115
    execlp (command.c_str(), parameter, static_cast<char*> (0));
112
116
    // The above only returns in case of an error.
113
117
    Database_Logs::log (strerror (errno));
114
118
    // Use_exit instead of exit, so there's no flushing.
245
249
    if (!directory.empty ()) {
246
250
      [[maybe_unused]] int result = chdir (directory.c_str());
247
251
    }
248
 
    execlp (command.c_str(), command.c_str(), p01, p02, p03, p04, p05, p06, p07, p08, p09, p10, p11, p12, p13, (char *) 0);
 
252
    execlp (command.c_str(), command.c_str(), p01, p02, p03, p04, p05, p06, p07, p08, p09, p10, p11, p12, p13, static_cast<char*> (0));
249
253
    // The above only returns in case of an error.
250
254
    Database_Logs::log (command + ": " + strerror (errno));
251
255
    _exit (1);