mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
eval_error.c: concat directly
* eval_error.c (write_warn, write_warn2): get rid of unnecessary intermediate string objects, concat directly. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61649 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
51501137b1
commit
ac4d348d45
1 changed files with 4 additions and 10 deletions
14
eval_error.c
14
eval_error.c
|
@ -3,26 +3,20 @@
|
||||||
* included by eval.c
|
* included by eval.c
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#define write_warn(str, x) \
|
||||||
|
(NIL_P(str) ? warn_print(x) : (void)rb_str_cat_cstr(str, x))
|
||||||
|
#define write_warn2(str, x, l) \
|
||||||
|
(NIL_P(str) ? warn_print2(x, l) : (void)rb_str_cat(str, x, l))
|
||||||
#ifdef HAVE_BUILTIN___BUILTIN_CONSTANT_P
|
#ifdef HAVE_BUILTIN___BUILTIN_CONSTANT_P
|
||||||
#define write_warn(str, x) RB_GNUC_EXTENSION_BLOCK( \
|
|
||||||
NIL_P(str) ? \
|
|
||||||
warn_print(x) : (void)( \
|
|
||||||
(__builtin_constant_p(x)) ? \
|
|
||||||
rb_str_concat((str), rb_str_new((x), (long)strlen(x))) : \
|
|
||||||
rb_str_concat((str), rb_str_new2(x)) \
|
|
||||||
) \
|
|
||||||
)
|
|
||||||
#define warn_print(x) RB_GNUC_EXTENSION_BLOCK( \
|
#define warn_print(x) RB_GNUC_EXTENSION_BLOCK( \
|
||||||
(__builtin_constant_p(x)) ? \
|
(__builtin_constant_p(x)) ? \
|
||||||
rb_write_error2((x), (long)strlen(x)) : \
|
rb_write_error2((x), (long)strlen(x)) : \
|
||||||
rb_write_error(x) \
|
rb_write_error(x) \
|
||||||
)
|
)
|
||||||
#else
|
#else
|
||||||
#define write_warn(str, x) NIL_P(str) ? rb_write_error((x)) : (void)rb_str_concat((str), rb_str_new2(x))
|
|
||||||
#define warn_print(x) rb_write_error(x)
|
#define warn_print(x) rb_write_error(x)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define write_warn2(str,x,l) NIL_P(str) ? warn_print2(x,l) : (void)rb_str_concat((str), rb_str_new((x),(l)))
|
|
||||||
#define warn_print2(x,l) rb_write_error2((x),(l))
|
#define warn_print2(x,l) rb_write_error2((x),(l))
|
||||||
|
|
||||||
#define write_warn_str(str,x) NIL_P(str) ? rb_write_error_str(x) : (void)rb_str_concat((str), (x))
|
#define write_warn_str(str,x) NIL_P(str) ? rb_write_error_str(x) : (void)rb_str_concat((str), (x))
|
||||||
|
|
Loading…
Reference in a new issue