Skip to content

Commit b31bc26

Browse files
committed
Add uv_to_utf8 macro family
These are the inverse of the utf8_to_uv family in GH #22541. They are just macros that are synonyms to existing functions, and are being added to reduce cognitive load, so if you know one name, you automatically can figure out the inverse.
1 parent 4a9e05c commit b31bc26

File tree

4 files changed

+31
-5
lines changed

4 files changed

+31
-5
lines changed

embed.fnc

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3809,6 +3809,17 @@ Cp |U8 * |uvoffuni_to_utf8_flags_msgs \
38093809
|UV input_uv \
38103810
|const UV flags \
38113811
|NULLOK HV **msgs
3812+
3813+
Admp |U8 * |uv_to_utf8 |NN U8 *d \
3814+
|UV uv
3815+
Admp |U8 * |uv_to_utf8_flags \
3816+
|NN U8 *d \
3817+
|UV uv \
3818+
|UV flags
3819+
Admp |U8 * |uv_to_utf8_msgs|NN U8 *d \
3820+
|UV uv \
3821+
|UV flags \
3822+
|NULLOK HV **msgs
38123823
CDbp |U8 * |uvuni_to_utf8 |NN U8 *d \
38133824
|UV uv
38143825
EXdpx |bool |validate_proto |NN SV *name \

embed.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -873,6 +873,9 @@
873873
# define utf8n_to_uvchr Perl_utf8n_to_uvchr
874874
# define utf8n_to_uvchr_error Perl_utf8n_to_uvchr_error
875875
# define utf8n_to_uvchr_msgs Perl_utf8n_to_uvchr_msgs
876+
# define uv_to_utf8(a,b) Perl_uv_to_utf8(aTHX,a,b)
877+
# define uv_to_utf8_flags(a,b,c) Perl_uv_to_utf8_flags(aTHX,a,b,c)
878+
# define uv_to_utf8_msgs(a,b,c,d) Perl_uv_to_utf8_msgs(aTHX,a,b,c,d)
876879
# define uvchr_to_utf8(a,b) Perl_uvchr_to_utf8(aTHX,a,b)
877880
# define uvchr_to_utf8_flags(a,b,c) Perl_uvchr_to_utf8_flags(aTHX,a,b,c)
878881
# define uvchr_to_utf8_flags_msgs(a,b,c,d) Perl_uvchr_to_utf8_flags_msgs(aTHX,a,b,c,d)

proto.h

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

utf8.h

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -142,11 +142,11 @@ typedef enum {
142142
#define uvoffuni_to_utf8_flags(d,uv,flags) \
143143
uvoffuni_to_utf8_flags_msgs(d, uv, flags, 0)
144144

145-
#define Perl_uvchr_to_utf8(mTHX, d, u) \
146-
Perl_uvchr_to_utf8_flags(aTHX, d, u, 0)
147-
#define Perl_uvchr_to_utf8_flags(mTHX, d, u, f) \
148-
Perl_uvchr_to_utf8_flags_msgs(aTHX, d, u, f, 0)
149-
#define Perl_uvchr_to_utf8_flags_msgs(mTHX, d, u, f , m) \
145+
#define Perl_uv_to_utf8(mTHX, d, u) \
146+
Perl_uv_to_utf8_flags(aTHX, d, u, 0)
147+
#define Perl_uv_to_utf8_flags(mTHX, d, u, f) \
148+
Perl_uv_to_utf8_msgs(aTHX, d, u, f, 0)
149+
#define Perl_uv_to_utf8_msgs(mTHX, d, u, f , m) \
150150
Perl_uvoffuni_to_utf8_flags_msgs(aTHX_ d, NATIVE_TO_UNI(u), f, m)
151151

152152
/* This is needed to cast the parameters for all those calls that had them
@@ -173,6 +173,9 @@ typedef enum {
173173
#define Perl_c9strict_utf8_to_uv(s, e, cp_p, advance_p) \
174174
Perl_utf8_to_uv_flags( s, e, cp_p, advance_p, \
175175
UTF8_DISALLOW_ILLEGAL_C9_INTERCHANGE)
176+
#define Perl_uvchr_to_utf8 Perl_uv_to_utf8
177+
#define Perl_uvchr_to_utf8_flags Perl_uv_to_utf8_flags
178+
#define Perl_uvchr_to_utf8_flags_msgs Perl_uv_to_utf8_msgs
176179

177180
#define utf16_to_utf8(p, d, bytelen, newlen) \
178181
utf16_to_utf8_base(p, d, bytelen, newlen, 0, 1)

0 commit comments

Comments
 (0)