projects
/
cparser
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
implement macro calling
[cparser]
/
unicode.h
diff --git
a/unicode.h
b/unicode.h
index
44a9b92
..
b6a16e3
100644
(file)
--- a/
unicode.h
+++ b/
unicode.h
@@
-50,16
+50,17
@@
static inline void obstack_grow_utf8(struct obstack *const obst, utf32 const c)
if (c < 0x80U) {
obstack_1grow(obst, c);
} else if (c < 0x800) {
if (c < 0x80U) {
obstack_1grow(obst, c);
} else if (c < 0x800) {
- obstack_1grow(obst, 0xC0 |
(c >>
6));
-
obstack_1grow(obst, 0x80 | (c & 0x3F))
;
+ obstack_1grow(obst, 0xC0 |
(c >>
6));
+
goto one_more
;
} else if (c < 0x10000) {
} else if (c < 0x10000) {
- obstack_1grow(obst, 0xE0 | ( c >> 12));
- obstack_1grow(obst, 0x80 | ((c >> 6) & 0x3F));
- obstack_1grow(obst, 0x80 | ( c & 0x3F));
+ obstack_1grow(obst, 0xE0 | (c >> 12));
+ goto two_more;
} else {
} else {
- obstack_1grow(obst, 0xF0 |
(
c >> 18));
+ obstack_1grow(obst, 0xF0 |
(
c >> 18));
obstack_1grow(obst, 0x80 | ((c >> 12) & 0x3F));
obstack_1grow(obst, 0x80 | ((c >> 12) & 0x3F));
+two_more:
obstack_1grow(obst, 0x80 | ((c >> 6) & 0x3F));
obstack_1grow(obst, 0x80 | ((c >> 6) & 0x3F));
+one_more:
obstack_1grow(obst, 0x80 | ( c & 0x3F));
}
}
obstack_1grow(obst, 0x80 | ( c & 0x3F));
}
}