From c6c67254fb17b3196a7b0d3fda4650f6b20a467d Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Tue, 17 Dec 2019 17:17:07 +0900 Subject: Added rb_warn_deprecated --- error.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'error.c') diff --git a/error.c b/error.c index 4cb17df292..e5dc0c3852 100644 --- a/error.c +++ b/error.c @@ -325,6 +325,22 @@ rb_enc_warning(rb_encoding *enc, const char *fmt, ...) } #endif +void +rb_warn_deprecated(const char *fmt, const char *suggest, ...) +{ + if (NIL_P(ruby_verbose)) return; + if (!rb_warning_category_enabled_p(RB_WARN_CATEGORY_DEPRECATED)) return; + va_list args; + va_start(args, suggest); + VALUE mesg = warning_string(0, fmt, args); + va_end(args); + rb_str_set_len(mesg, RSTRING_LEN(mesg) - 1); + rb_str_cat_cstr(mesg, " is deprecated"); + if (suggest) rb_str_catf(mesg, "; use %s instead", suggest); + rb_str_cat_cstr(mesg, "\n"); + rb_write_warning_str(mesg); +} + static inline int end_with_asciichar(VALUE str, int c) { -- cgit v1.2.3