lab.nexedi.com will be down from Thursday, 20 March 2025, 07:30:00 UTC for a duration of approximately 2 hours

Commit 04a77ac7 authored by Russ Cox's avatar Russ Cox

convert C runtime to 32-bit runes;

rune now unsigned.

R=r
DELTA=10  (1 added, 0 deleted, 9 changed)
OCL=34140
CL=34146
parent a843b454
......@@ -30,7 +30,7 @@ struct Fmt{
void *farg; /* to make flush a closure */
int nfmt; /* num chars formatted so far */
va_list args; /* args passed to dofmt */
int r; /* % format Rune */
Rune r; /* % format Rune */
int width;
int prec;
unsigned long flags;
......
......@@ -618,12 +618,13 @@ __flagfmt(Fmt *f)
int
__badfmt(Fmt *f)
{
char x[3];
char x[2+UTFmax];
int n;
x[0] = '%';
x[1] = f->r;
x[2] = '%';
f->prec = 3;
__fmtcpy(f, (const void*)x, 3, 3);
n = 1 + runetochar(x+1, &f->r);
x[n++] = '%';
f->prec = n;
__fmtcpy(f, (const void*)x, n, n);
return 0;
}
......@@ -18,7 +18,7 @@
#include <stdint.h>
typedef signed int Rune; /* Code-point values in Unicode 4.0 are 21 bits wide.*/
typedef unsigned int Rune; /* Code-point values in Unicode 4.0 are 21 bits wide.*/
enum
{
......
......@@ -33,7 +33,7 @@ Bgetrune(Biobuf *bp)
{
int c, i;
Rune rune;
char str[4];
char str[UTFmax];
c = Bgetc(bp);
if(c < Runeself) { /* one char */
......
......@@ -32,7 +32,7 @@ int
Bputrune(Biobuf *bp, long c)
{
Rune rune;
char str[4];
char str[UTFmax];
int n;
rune = c;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment