github.com/afumu/libc@v0.0.6/musl/src/locale/wcsxfrm.c (about)

     1  #include <wchar.h>
     2  #include <locale.h>
     3  #include "locale_impl.h"
     4  
     5  /* collate only by code points */
     6  size_t __wcsxfrm_l(wchar_t *restrict dest, const wchar_t *restrict src, size_t n, locale_t loc)
     7  {
     8  	size_t l = wcslen(src);
     9  	if (l < n) {
    10  		wmemcpy(dest, src, l+1);
    11  	} else if (n) {
    12  		wmemcpy(dest, src, n-1);
    13  		dest[n-1] = 0;
    14  	}
    15  	return l;
    16  }
    17  
    18  size_t wcsxfrm(wchar_t *restrict dest, const wchar_t *restrict src, size_t n)
    19  {
    20  	return __wcsxfrm_l(dest, src, n, CURRENT_LOCALE);
    21  }
    22  
    23  weak_alias(__wcsxfrm_l, wcsxfrm_l);