Prima
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
#include "apricot.h"
#include "guts.h"
#ifdef __cplusplus
extern "C" {
#endif
int
prima_utf8_length( const char * utf8, int maxlen)
{
int ulen = 0;
if ( maxlen < 0 ) maxlen = INT16_MAX;
while ( maxlen > 0 && *utf8 ) {
const char *u = (char*) utf8_hop(( U8*) utf8, 1);
ulen++;
maxlen -= u - utf8;
utf8 = u;
}
return ulen;
}
Bool
prima_is_utf8_sv( SV * sv)
{
/* from Encode.xs */
if (SvGMAGICAL(sv)) {
SV * sv2 = newSVsv(sv); /* GMAGIG will be done */
Bool ret = SvUTF8(sv2) ? 1 : 0;
SvREFCNT_dec(sv2); /* it was a temp copy */
return ret;
} else {
return SvUTF8(sv) ? 1 : 0;
}
}
SV*
prima_svpv_utf8( const char *text, int is_utf8)
{
SV *sv = newSVpv(text, 0);
if ( is_utf8 ) SvUTF8_on(sv);
return sv;
}
#ifdef __cplusplus
}
#endif
view all matches for this distributionview release on metacpan - search on metacpan
( run in 0.335 second using v1.00-cache-2.02-grep-82fe00e-cpan-503542c4f10 )