1
0
Fork 0
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:
nobu 2018-01-07 04:57:04 +00:00
parent 51501137b1
commit ac4d348d45

View file

@ -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))