Skip to content

Commit

Permalink
Deprecate names under Struct
Browse files Browse the repository at this point in the history
  • Loading branch information
nobu committed Apr 1, 2020
1 parent d8f1dd8 commit 25c5381
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 0 deletions.
8 changes: 8 additions & 0 deletions ext/etc/etc.c
Expand Up @@ -54,6 +54,12 @@ char *getlogin();

#define RUBY_ETC_VERSION "1.1.0"

#ifdef HAVE_RB_DEPRECATE_CONSTANT
void rb_deprecate_constant(VALUE mod, const char *name);
#else
# define rb_deprecate_constant(mod,name) ((void)(mod),(void)(name))
#endif

#include "constdefs.h"

/* call-seq:
Expand Down Expand Up @@ -1165,6 +1171,7 @@ Init_etc(void)
rb_define_const(mEtc, "Passwd", sPasswd);
#endif
rb_define_const(rb_cStruct, "Passwd", sPasswd); /* deprecated name */
rb_deprecate_constant(rb_cStruct, "Passwd");
rb_extend_object(sPasswd, rb_mEnumerable);
rb_define_singleton_method(sPasswd, "each", etc_each_passwd, 0);

Expand Down Expand Up @@ -1200,6 +1207,7 @@ Init_etc(void)
rb_define_const(mEtc, "Group", sGroup);
#endif
rb_define_const(rb_cStruct, "Group", sGroup); /* deprecated name */
rb_deprecate_constant(rb_cStruct, "Group");
rb_extend_object(sGroup, rb_mEnumerable);
rb_define_singleton_method(sGroup, "each", etc_each_group, 0);
#endif
Expand Down
5 changes: 5 additions & 0 deletions ext/etc/extconf.rb
Expand Up @@ -47,6 +47,11 @@
%x[#{RbConfig.ruby} #{srcdir}/mkconstants.rb -o #{srcdir}/constdefs.h]
end

decl = [
"void rb_deprecate_constant(VALUE, const char *);",
]
have_func('rb_deprecate_constant(Qnil, "None")', [decl])

$distcleanfiles << "constdefs.h"

create_makefile("etc")

0 comments on commit 25c5381

Please sign in to comment.