1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/ext/-test-/string/capacity.c
卜部昌平 5e22f873ed decouple internal.h headers
Saves comitters' daily life by avoid #include-ing everything from
internal.h to make each file do so instead.  This would significantly
speed up incremental builds.

We take the following inclusion order in this changeset:

1.  "ruby/config.h", where _GNU_SOURCE is defined (must be the very
    first thing among everything).
2.  RUBY_EXTCONF_H if any.
3.  Standard C headers, sorted alphabetically.
4.  Other system headers, maybe guarded by #ifdef
5.  Everything else, sorted alphabetically.

Exceptions are those win32-related headers, which tend not be self-
containing (headers have inclusion order dependencies).
2019-12-26 20:45:12 +09:00

17 lines
367 B
C

#include "ruby.h"
#include "internal/string.h"
static VALUE
bug_str_capacity(VALUE klass, VALUE str)
{
return
STR_EMBED_P(str) ? INT2FIX(RSTRING_EMBED_LEN_MAX) : \
STR_SHARED_P(str) ? INT2FIX(0) : \
LONG2FIX(RSTRING(str)->as.heap.aux.capa);
}
void
Init_string_capacity(VALUE klass)
{
rb_define_singleton_method(klass, "capacity", bug_str_capacity, 1);
}