Print this page
make: use the more modern wchar routines, not widec.h


  90 
  91         /* Strip spaces from head of command string */
  92         while (iswspace(*p)) {
  93                 p++, length--;
  94         }
  95         if (*p == (int) nul_char) {
  96                 return build_failed;
  97         }
  98         /* If we are faking it we just return */
  99         if (do_not_exec_rule &&
 100             working_on_targets &&
 101             !call_make &&
 102             !always_exec) {
 103                 return build_ok;
 104         }
 105         /* no_action_was_taken is used to print special message */
 106         no_action_was_taken = false;
 107 
 108         /* Copy string to make it OK to write it. */
 109         q = ALLOC_WC(length + 1);
 110         (void) wscpy(q, p);
 111         /* Write the state file iff this command uses make. */
 112         if (call_make && command_changed) {
 113                 write_state_file(0, false);
 114         }
 115         make_state->stat.time = file_no_time;
 116         (void)exists(make_state);
 117         before = make_state->stat.time;
 118         /*
 119          * Run command directly if it contains no shell meta chars,
 120          * else run it using the shell.
 121          */
 122         if (await(ignore_error,
 123                   silent_error,
 124                   target,
 125                   wcb.get_string(),
 126                   command->meta ?
 127                     doshell(q, ignore_error, 
 128                             stdout_file, stderr_file, 0) :
 129                     doexec(q, ignore_error, 
 130                            stdout_file, stderr_file,




  90 
  91         /* Strip spaces from head of command string */
  92         while (iswspace(*p)) {
  93                 p++, length--;
  94         }
  95         if (*p == (int) nul_char) {
  96                 return build_failed;
  97         }
  98         /* If we are faking it we just return */
  99         if (do_not_exec_rule &&
 100             working_on_targets &&
 101             !call_make &&
 102             !always_exec) {
 103                 return build_ok;
 104         }
 105         /* no_action_was_taken is used to print special message */
 106         no_action_was_taken = false;
 107 
 108         /* Copy string to make it OK to write it. */
 109         q = ALLOC_WC(length + 1);
 110         (void) wcscpy(q, p);
 111         /* Write the state file iff this command uses make. */
 112         if (call_make && command_changed) {
 113                 write_state_file(0, false);
 114         }
 115         make_state->stat.time = file_no_time;
 116         (void)exists(make_state);
 117         before = make_state->stat.time;
 118         /*
 119          * Run command directly if it contains no shell meta chars,
 120          * else run it using the shell.
 121          */
 122         if (await(ignore_error,
 123                   silent_error,
 124                   target,
 125                   wcb.get_string(),
 126                   command->meta ?
 127                     doshell(q, ignore_error, 
 128                             stdout_file, stderr_file, 0) :
 129                     doexec(q, ignore_error, 
 130                            stdout_file, stderr_file,