POSIX::strftime nevraci UTF-8?
Jan Kasprzak
kas na fi.muni.cz
Čtvrtek Únor 2 15:52:07 MET 2006
Honza Pazdziora wrote:
: > Prislo by mi logicke, kdyby strftime() vracelo znaky v pripade, ze
: > formatovaci retezec je znakovy, nebo tak nejak.
:
: Neco jako (netestovano, ani nekompilovano)
:
: --- ./ext/POSIX/POSIX.xs.orig 2006-02-02 14:52:31.000000000 +0100
: +++ ./ext/POSIX/POSIX.xs 2006-02-02 15:22:13.000000000 +0100
: @@ -1812,9 +1812,13 @@
: int isdst
: CODE:
: {
: + SV *sv;
: char *buf = my_strftime(fmt, sec, min, hour, mday, mon,
: year, wday, yday, isdst);
: if (buf) {
: - ST(0) = sv_2mortal(newSVpv(buf, 0));
: + sv = newSVpv(buf, 0);
: + if (SvUTF8(fmt) && is_utf8_string(buf, strlen(buf)))
: + SvUTF8_on(sv);
: + ST(0) = sv_2mortal(sv);
: Safefree(buf);
: }
: }
Hmm, zajimave. Nicmene, to kriterium asi musi byt jine
nez ze formatovaci retezec je v UTF8:
$ perl -Mutf8 -e 'print utf8::is_utf8("%c\n") ? "je" : "neni", "\n"'
neni
$
Zda se, ze ASCII retezce nejsou z hlediska Perlu utf8, i kdyz
je pri jejich kompilaci aktivni "use utf8;". Da se nejak z hlediska
volane funkce (toho strftime) zjistit, ze volajici ma aktivni "use utf8;"
(= mel aktivni v dobe _jeho_ kompilace)? Nebo jake jine kriterium?
-Y.
--
| Jan "Yenya" Kasprzak <kas at {fi.muni.cz - work | yenya.net - private}> |
| GPG: ID 1024/D3498839 Fingerprint 0D99A7FB206605D7 8B35FCDE05B18A5E |
| http://www.fi.muni.cz/~kas/ Journal: http://www.fi.muni.cz/~kas/blog/ |
> Specs are a basis for _talking_about_ things. But they are _not_ a basis <
> for implementing software. --Linus Torvalds <
Další informace o konferenci Perl