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);