Commit 534baec4 authored by Nick Mathewson's avatar Nick Mathewson 🤹
Browse files

r11674@catbus: nickm | 2007-02-06 17:00:22 -0500

 Remove a now-bogus assert() from nt_service_command_line(), and change option handling.  (Now that we no longer force a -f, it is possible to have no command-line options for Tor-as-service.)


svn:r9503
parent c4faebfa
Loading
Loading
Loading
Loading
+13 −8
Original line number Diff line number Diff line
@@ -2096,8 +2096,7 @@ static char *
nt_service_command_line(int *using_default_torrc)
{
  TCHAR tor_exe[MAX_PATH+1];
  char *command, *options;
  const char *torrc;
  char *command, *options=NULL;
  smartlist_t *sl;
  int i, cmdlen;
  *using_default_torrc = 1;
@@ -2108,7 +2107,6 @@ nt_service_command_line(int *using_default_torrc)

  /* Get the service arguments */
  sl = smartlist_create();
  torrc = get_torrc_fname();
  for (i = 1; i < backup_argc; ++i) {
    if (!strcmp(backup_argv[i], "--options") ||
        !strcmp(backup_argv[i], "-options")) {
@@ -2119,7 +2117,7 @@ nt_service_command_line(int *using_default_torrc)
      }
    }
  }
  tor_assert(smartlist_len(sl));
  if (smartlist_len(sl))
    options = smartlist_join_strings(sl,"\" \"",0,NULL);
  smartlist_free(sl);

@@ -2128,10 +2126,17 @@ nt_service_command_line(int *using_default_torrc)
  command = tor_malloc(cmdlen);

  /* Format the service command */
  if (options) {
    if (tor_snprintf(command, cmdlen, "\"%s\" --nt-service \"%s\"",
                     tor_exe, options)<0) {
      tor_free(command); /* sets command to NULL. */
    }
  } else { /* ! options */
    if (tor_snprintf(command, cmdlen, "\"%s\" --nt-service", tor_exe)<0) {
      tor_free(command); /* sets command to NULL. */
    }
  }

  tor_free(options);
  return command;
}