Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ (10.2) — Plan9 3rd Edition (Vita Nuova)

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

convcs(2)

utf(6)

RUNE(10.2)

NAME

runetochar, chartorune, runelen, fullrune, utflen, utfrune, utfrrune, utfutf − rune/UTF conversion

SYNOPSIS

intrunetochar(char ∗s, Rune ∗r)

intchartorune(Rune ∗r, char ∗s)

intrunelen(long r)

intfullrune(char ∗s, int n)

intutflen(char ∗s)

char∗utfrune(char ∗s, long c)

char∗utfrrune(char ∗s, long c)

char∗utfutf(char ∗s1, char ∗s2)

DESCRIPTION

These routines convert to and from a UTF byte stream and runes. 

­Runetochar copies one rune at ­r to at most ­UTFmax bytes starting at ­s and returns the number of bytes copied.  UTFmax, defined as ­3 in <libc.h>, is the maximum number of bytes required to represent a rune. 

­Chartorune copies at most ­UTFmax bytes starting at ­s to one rune at ­r and returns the number of bytes copied.  If the input is not exactly in UTF format, ­chartorune will convert to 0x80 and return 1. 

­Runelen returns the number of bytes required to convert ­r into UTF. 

­Fullrune returns 1 if the string ­s of length ­n is long enough to be decoded by ­chartorune and 0 otherwise.  This does not guarantee that the string contains a legal UTF encoding.  This routine is used by programs that obtain input a byte at a time and need to know when a full rune has arrived. 

The following routines are analogous to the corresponding string routines with ­utf substituted for ­str and ­rune substituted for chr. 

­Utflen returns the number of runes that are represented by the UTF string s.

­Utfrune (utfrrune) returns a pointer to the first (last) occurrence of rune ­c in the UTF string s, or 0 if ­c does not occur in the string.  The NUL byte terminating a string is considered to be part of the string s.

­Utfutf returns a pointer to the first occurrence of the UTF string ­s2 as a UTF substring of s1, or 0 if there is none. If ­s2 is the null string, ­utfutf returns s1.

SOURCE

­/kern/rune.c
­/kern/runestrlen.c
­/kern/utflen.c
­/kern/utfrrune.c
­/kern/utfrune.c

SEE ALSO

convcs(2), utf(6)

Plan 9  —  April 14, 2000

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026