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

*** 197,207 **** * If so, remove the dir and see if we know the date. */ if (member->body.member.member != NULL) { Wstring member_string(member->body.member.member); wchar_t * wcb = member_string.get_string(); ! if((slash = (wchar_t *) wsrchr(wcb, (int) slash_char)) != NULL) { INIT_STRING_FROM_STACK(true_member_name, buffer); append_string(member->body.member.library->string_mb, &true_member_name, FIND_LENGTH); append_char((int) parenleft_char, &true_member_name); --- 197,207 ---- * If so, remove the dir and see if we know the date. */ if (member->body.member.member != NULL) { Wstring member_string(member->body.member.member); wchar_t * wcb = member_string.get_string(); ! if((slash = (wchar_t *) wcsrchr(wcb, (int) slash_char)) != NULL) { INIT_STRING_FROM_STACK(true_member_name, buffer); append_string(member->body.member.library->string_mb, &true_member_name, FIND_LENGTH); append_char((int) parenleft_char, &true_member_name);
*** 665,677 **** 1, arp->fd) != 1)) { goto read_error; } MBSTOWCS(wcs_buffer, arp->arf_5.arf_name); ! (void) wsncpy(member_string, wcs_buffer, ! wslen(wcs_buffer)); member_string[sizeof(arp->arf_5.arf_name)] = (int) nul_char; member->body.member.member = GETNAME(member_string, FIND_LENGTH); target->stat.time.tv_sec = sgetl(arp->arf_5.arf_date); --- 665,677 ---- 1, arp->fd) != 1)) { goto read_error; } MBSTOWCS(wcs_buffer, arp->arf_5.arf_name); ! (void) wcsncpy(member_string, wcs_buffer, ! wcslen(wcs_buffer)); member_string[sizeof(arp->arf_5.arf_name)] = (int) nul_char; member->body.member.member = GETNAME(member_string, FIND_LENGTH); target->stat.time.tv_sec = sgetl(arp->arf_5.arf_date);