9base

revived minimalist port of Plan 9 userland to Unix
git clone git://git.suckless.org/9base
Log | Files | Refs | README | LICENSE

bputrune.c (309B)


      1 #include	"lib9.h"
      2 #include	<bio.h>
      3 #include	<utf.h>
      4 
      5 int
      6 Bputrune(Biobuf *bp, long c)
      7 {
      8 	Rune rune;
      9 	char str[UTFmax];
     10 	int n;
     11 
     12 	rune = c;
     13 	if(rune < Runeself) {
     14 		Bputc(bp, rune);
     15 		return 1;
     16 	}
     17 	n = runetochar(str, &rune);
     18 	if(n == 0)
     19 		return Bbad;
     20 	if(Bwrite(bp, str, n) != n)
     21 		return Beof;
     22 	return n;
     23 }