19 Nov, 2011

1 commit

  • The utf8s_to_utf16s conversion routine needs to be improved. Unlike
    its utf16s_to_utf8s sibling, it doesn't accept arguments specifying
    the maximum length of the output buffer or the endianness of its
    16-bit output.

    This patch (as1501) adds the two missing arguments, and adjusts the
    only two places in the kernel where the function is called. A
    follow-on patch will add a third caller that does utilize the new
    capabilities.

    The two conversion routines are still annoyingly inconsistent in the
    way they handle invalid byte combinations. But that's a subject for a
    different patch.

    Signed-off-by: Alan Stern
    CC: Clemens Ladisch
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     

16 Jun, 2009

1 commit

  • This patch (as1239) updates the kernel's treatment of Unicode. The
    character-set conversion routines are well behind the current state of
    the Unicode specification: They don't recognize the existence of code
    points beyond plane 0 or of surrogate pairs in the UTF-16 encoding.

    The old wchar_t 16-bit type is retained because it's still used in
    lots of places. This shouldn't cause any new problems; if a
    conversion now results in an invalid 16-bit code then before it must
    have yielded an undefined code.

    Difficult-to-read names like "utf_mbstowcs" are replaced with more
    transparent names like "utf8s_to_utf16s" and the ordering of the
    parameters is rationalized (buffer lengths come immediate after the
    pointers they refer to, and the inputs precede the outputs).
    Fortunately the low-level conversion routines are used in only a few
    places; the interfaces to the higher-level uni2char and char2uni
    methods have been left unchanged.

    Signed-off-by: Alan Stern
    Acked-by: Clemens Ladisch
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     

30 Apr, 2009

1 commit

  • It's possible for character sets to require a multi-byte null
    string terminator. Add a helper function that determines the size
    of the null terminator at runtime.

    Signed-off-by: Jeff Layton
    Acked-by: Suresh Jayaraman
    Signed-off-by: Steve French

    Jeff Layton
     

17 Oct, 2007

1 commit

  • Add const modifiers to a few struct nls_table's member pointers in
    include/linux/nls.h and adds a lot of const's in fs/nls/*.c files.

    Resulting changes as visible by size:

    text data bss dec hex filename
    113612 481216 2368 597196 91ccc nls.org/built-in.o
    593548 3296 288 597132 91c8c nls/built-in.o

    Apparently compiler managed to optimize code a bit better
    because of const-ness.

    No other changes are made.

    Signed-off-by: Denys Vlasenko
    Cc: Al Viro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Denys Vlasenko
     

17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds