[Bug runtime/14487] New: need better UTF-8 handling

jistone at redhat dot com sourceware-bugzilla@sourceware.org
Sat Aug 18 01:01:00 GMT 2012


http://sourceware.org/bugzilla/show_bug.cgi?id=14487

             Bug #: 14487
           Summary: need better UTF-8 handling
           Product: systemtap
           Version: unspecified
            Status: NEW
          Severity: enhancement
          Priority: P2
         Component: runtime
        AssignedTo: systemtap@sourceware.org
        ReportedBy: jistone@redhat.com
    Classification: Unclassified


We generally take the blissful approach that all strings are merely
0-terminated byte sequences, and we don't care much about the meaning of those
bytes.

This breaks down in any instance where we start splitting up those bytes
though.  The most obvious case is with any truncation at MAXSTRINGLEN.  This
could lead to an incomplete UTF-8 sequence at the tail.  (Fortunately UTF-8 is
robust enough that this only corrupts one Unicode character in the output.)  We
also have functions like substr() which count by bytes rather than characters.

It's not clear that we can solve this 100%, but if we choose to commit to a
worldview that all strings are utf-8, then we could make and use our own
runtime strlcpy8, strlcat8, etc. functions which preserve boundaries.

Even then, this is preserving only *code points*, whereas one may really have
composite characters with combining diacritical marks and such.  I believe
combining characters are in specific ranges (though new Unicode versions can
expand this), so really fancy runtime functions might preserve these
connections too.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the Systemtap mailing list