Skip to content

Commit 4dfc2ee

Browse files
committed
read-byte fix for Jig.
1 parent 7833f2a commit 4dfc2ee

3 files changed

Lines changed: 6 additions & 1 deletion

File tree

langs/jig/io.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
val_t read_byte(void)
88
{
99
char c = getc(in);
10-
return (c == EOF) ? val_wrap_eof() : val_wrap_int(c);
10+
return (c == EOF) ? val_wrap_eof() : val_wrap_byte(c);
1111
}
1212

1313
val_t peek_byte(void)

langs/jig/values.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,10 @@ int64_t val_unwrap_int(val_t x)
3838
{
3939
return x >> int_shift;
4040
}
41+
val_t val_wrap_byte(unsigned char b)
42+
{
43+
return (b << int_shift) | int_type_tag;
44+
}
4145
val_t val_wrap_int(int64_t i)
4246
{
4347
return (i << int_shift) | int_type_tag;

langs/jig/values.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ type_t val_typeof(val_t x);
4949
*/
5050
int64_t val_unwrap_int(val_t x);
5151
val_t val_wrap_int(int64_t i);
52+
val_t val_wrap_byte(unsigned char b);
5253

5354
int val_unwrap_bool(val_t x);
5455
val_t val_wrap_bool(int b);

0 commit comments

Comments
 (0)