13e12c5d1SDavid du Colombier #include <u.h> 23e12c5d1SDavid du Colombier #include <libc.h> 33e12c5d1SDavid du Colombier #include <bio.h> 43e12c5d1SDavid du Colombier 53e12c5d1SDavid du Colombier int Bputrune(Biobufhdr * bp,long c)63e12c5d1SDavid du ColombierBputrune(Biobufhdr *bp, long c) 73e12c5d1SDavid du Colombier { 83e12c5d1SDavid du Colombier Rune rune; 9*eaba85aaSDavid du Colombier char str[UTFmax]; 103e12c5d1SDavid du Colombier int n; 113e12c5d1SDavid du Colombier 123e12c5d1SDavid du Colombier rune = c; 133e12c5d1SDavid du Colombier if(rune < Runeself) { 143e12c5d1SDavid du Colombier Bputc(bp, rune); 153e12c5d1SDavid du Colombier return 1; 163e12c5d1SDavid du Colombier } 173e12c5d1SDavid du Colombier n = runetochar(str, &rune); 183e12c5d1SDavid du Colombier if(n == 0) 193e12c5d1SDavid du Colombier return Bbad; 203e12c5d1SDavid du Colombier if(Bwrite(bp, str, n) != n) 213e12c5d1SDavid du Colombier return Beof; 223e12c5d1SDavid du Colombier return n; 233e12c5d1SDavid du Colombier } 24