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

*** 177,187 **** (void) sprintf(nice_prio_buf, "-%d", nice_prio); argv[argv_index++] = strdup(nice_prio_buf); } argv[argv_index++] = shellname; argv[argv_index++] = (char*)(ignore_error ? "-c" : "-ce"); ! if ((length = wslen(command)) >= MAXPATHLEN) { tmp_mbs_buffer = getmem((length * MB_LEN_MAX) + 1); (void) wcstombs(tmp_mbs_buffer, command, (length * MB_LEN_MAX) + 1); cmd_argv_index = argv_index; argv[argv_index++] = strdup(tmp_mbs_buffer); retmem_mb(tmp_mbs_buffer); --- 177,187 ---- (void) sprintf(nice_prio_buf, "-%d", nice_prio); argv[argv_index++] = strdup(nice_prio_buf); } argv[argv_index++] = shellname; argv[argv_index++] = (char*)(ignore_error ? "-c" : "-ce"); ! if ((length = wcslen(command)) >= MAXPATHLEN) { tmp_mbs_buffer = getmem((length * MB_LEN_MAX) + 1); (void) wcstombs(tmp_mbs_buffer, command, (length * MB_LEN_MAX) + 1); cmd_argv_index = argv_index; argv[argv_index++] = strdup(tmp_mbs_buffer); retmem_mb(tmp_mbs_buffer);
*** 340,350 **** * Reserve argv[0] for sh in case of exec_vp failure. * Don't worry about prepending /usr/bin/nice command to argv[0]. * In fact, doing it may cause the sh command to fail! */ p = &argv[1]; ! if ((length = wslen(command)) >= MAXPATHLEN) { tmp_mbs_buffer = getmem((length * MB_LEN_MAX) + 1); (void) wcstombs(tmp_mbs_buffer, command, (length * MB_LEN_MAX) + 1); argv[0] = strdup(tmp_mbs_buffer); retmem_mb(tmp_mbs_buffer); } else { --- 340,350 ---- * Reserve argv[0] for sh in case of exec_vp failure. * Don't worry about prepending /usr/bin/nice command to argv[0]. * In fact, doing it may cause the sh command to fail! */ p = &argv[1]; ! if ((length = wcslen(command)) >= MAXPATHLEN) { tmp_mbs_buffer = getmem((length * MB_LEN_MAX) + 1); (void) wcstombs(tmp_mbs_buffer, command, (length * MB_LEN_MAX) + 1); argv[0] = strdup(tmp_mbs_buffer); retmem_mb(tmp_mbs_buffer); } else {
*** 371,381 **** t++; } if (*t) { for (*t++ = (int) nul_char; iswspace(*t); t++); } ! if ((length = wslen(q)) >= MAXPATHLEN) { tmp_mbs_buffer = getmem((length * MB_LEN_MAX) + 1); (void) wcstombs(tmp_mbs_buffer, q, (length * MB_LEN_MAX) + 1); *p++ = strdup(tmp_mbs_buffer); retmem_mb(tmp_mbs_buffer); } else { --- 371,381 ---- t++; } if (*t) { for (*t++ = (int) nul_char; iswspace(*t); t++); } ! if ((length = wcslen(q)) >= MAXPATHLEN) { tmp_mbs_buffer = getmem((length * MB_LEN_MAX) + 1); (void) wcstombs(tmp_mbs_buffer, q, (length * MB_LEN_MAX) + 1); *p++ = strdup(tmp_mbs_buffer); retmem_mb(tmp_mbs_buffer); } else {