mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
string.c: adjust local variable declarations
This commit is contained in:
+21
-33
@@ -693,10 +693,9 @@ str_share(mrb_state *mrb, struct RString *orig, struct RString *s)
|
||||
mrb_value
|
||||
mrb_str_byte_subseq(mrb_state *mrb, mrb_value str, mrb_int beg, mrb_int len)
|
||||
{
|
||||
struct RString *orig, *s;
|
||||
struct RString *orig = mrb_str_ptr(str);
|
||||
struct RString *s = mrb_obj_alloc_string(mrb);
|
||||
|
||||
orig = mrb_str_ptr(str);
|
||||
s = mrb_obj_alloc_string(mrb);
|
||||
if (RSTR_EMBEDDABLE_P(len)) {
|
||||
str_init_embed(s, RSTR_PTR(orig)+beg, len);
|
||||
}
|
||||
@@ -747,24 +746,23 @@ str_substr(mrb_state *mrb, mrb_value str, mrb_int beg, mrb_int len)
|
||||
MRB_API mrb_int
|
||||
mrb_str_index(mrb_state *mrb, mrb_value str, const char *sptr, mrb_int slen, mrb_int offset)
|
||||
{
|
||||
mrb_int pos;
|
||||
char *s;
|
||||
mrb_int len;
|
||||
mrb_int len = RSTRING_LEN(str);
|
||||
|
||||
len = RSTRING_LEN(str);
|
||||
if (offset < 0) {
|
||||
offset += len;
|
||||
if (offset < 0) return -1;
|
||||
}
|
||||
if (len - offset < slen) return -1;
|
||||
s = RSTRING_PTR(str);
|
||||
|
||||
char *s = RSTRING_PTR(str);
|
||||
if (offset) {
|
||||
s += offset;
|
||||
}
|
||||
if (slen == 0) return offset;
|
||||
/* need proceed one character at a time */
|
||||
len = RSTRING_LEN(str) - offset;
|
||||
pos = mrb_memsearch(sptr, slen, s, len);
|
||||
|
||||
mrb_int pos = mrb_memsearch(sptr, slen, s, len);
|
||||
if (pos < 0) return pos;
|
||||
return pos + offset;
|
||||
}
|
||||
@@ -772,11 +770,8 @@ mrb_str_index(mrb_state *mrb, mrb_value str, const char *sptr, mrb_int slen, mrb
|
||||
static mrb_int
|
||||
str_index_str(mrb_state *mrb, mrb_value str, mrb_value str2, mrb_int offset)
|
||||
{
|
||||
const char *ptr;
|
||||
mrb_int len;
|
||||
|
||||
ptr = RSTRING_PTR(str2);
|
||||
len = RSTRING_LEN(str2);
|
||||
const char *ptr = RSTRING_PTR(str2);
|
||||
mrb_int len = RSTRING_LEN(str2);
|
||||
|
||||
return mrb_str_index(mrb, str, ptr, len, offset);
|
||||
}
|
||||
@@ -784,20 +779,17 @@ str_index_str(mrb_state *mrb, mrb_value str, mrb_value str2, mrb_int offset)
|
||||
static mrb_value
|
||||
str_replace(mrb_state *mrb, struct RString *s1, struct RString *s2)
|
||||
{
|
||||
size_t len;
|
||||
|
||||
mrb_check_frozen(mrb, s1);
|
||||
if (s1 == s2) return mrb_obj_value(s1);
|
||||
RSTR_COPY_SINGLE_BYTE_FLAG(s1, s2);
|
||||
if (RSTR_SHARED_P(s1)) {
|
||||
str_decref(mrb, s1->as.heap.aux.shared);
|
||||
}
|
||||
else if (!RSTR_EMBED_P(s1) && !RSTR_NOFREE_P(s1) && !RSTR_FSHARED_P(s1)
|
||||
&& s1->as.heap.ptr) {
|
||||
else if (!RSTR_EMBED_P(s1) && !RSTR_NOFREE_P(s1) && !RSTR_FSHARED_P(s1)) {
|
||||
mrb_free(mrb, s1->as.heap.ptr);
|
||||
}
|
||||
|
||||
len = (size_t)RSTR_LEN(s2);
|
||||
size_t len = (size_t)RSTR_LEN(s2);
|
||||
if (RSTR_EMBEDDABLE_P(len)) {
|
||||
str_init_embed(s1, RSTR_PTR(s2), len);
|
||||
}
|
||||
@@ -1014,8 +1006,7 @@ mrb_str_size(mrb_state *mrb, mrb_value self)
|
||||
static mrb_value
|
||||
mrb_str_bytesize(mrb_state *mrb, mrb_value self)
|
||||
{
|
||||
mrb_int len = RSTRING_LEN(self);
|
||||
return mrb_int_value(mrb, len);
|
||||
return mrb_int_value(mrb, RSTRING_LEN(self));
|
||||
}
|
||||
|
||||
/* 15.2.10.5.1 */
|
||||
@@ -1031,9 +1022,7 @@ mrb_str_bytesize(mrb_state *mrb, mrb_value self)
|
||||
static mrb_value
|
||||
mrb_str_times(mrb_state *mrb, mrb_value self)
|
||||
{
|
||||
mrb_int n, len, times;
|
||||
struct RString *str2;
|
||||
char *p;
|
||||
mrb_int len, times;
|
||||
|
||||
mrb_get_args(mrb, "i", ×);
|
||||
if (times < 0) {
|
||||
@@ -1042,10 +1031,11 @@ mrb_str_times(mrb_state *mrb, mrb_value self)
|
||||
if (mrb_int_mul_overflow(RSTRING_LEN(self), times, &len)) {
|
||||
mrb_raise(mrb, E_ARGUMENT_ERROR, "argument too big");
|
||||
}
|
||||
str2 = str_new(mrb, 0, len);
|
||||
p = RSTR_PTR(str2);
|
||||
|
||||
struct RString *str2 = str_new(mrb, 0, len);
|
||||
char *p = RSTR_PTR(str2);
|
||||
if (len > 0) {
|
||||
n = RSTRING_LEN(self);
|
||||
mrb_int n = RSTRING_LEN(self);
|
||||
memcpy(p, RSTRING_PTR(self), n);
|
||||
while (n <= len/2) {
|
||||
memcpy(p + n, p, n);
|
||||
@@ -1073,15 +1063,13 @@ mrb_str_times(mrb_state *mrb, mrb_value self)
|
||||
MRB_API int
|
||||
mrb_str_cmp(mrb_state *mrb, mrb_value str1, mrb_value str2)
|
||||
{
|
||||
mrb_int len, len1, len2;
|
||||
mrb_int retval;
|
||||
struct RString *s1 = mrb_str_ptr(str1);
|
||||
struct RString *s2 = mrb_str_ptr(str2);
|
||||
|
||||
len1 = RSTR_LEN(s1);
|
||||
len2 = RSTR_LEN(s2);
|
||||
len = lesser(len1, len2);
|
||||
retval = memcmp(RSTR_PTR(s1), RSTR_PTR(s2), len);
|
||||
mrb_int len1 = RSTR_LEN(s1);
|
||||
mrb_int len2 = RSTR_LEN(s2);
|
||||
mrb_int len = lesser(len1, len2);
|
||||
mrb_int retval = memcmp(RSTR_PTR(s1), RSTR_PTR(s2), len);
|
||||
if (retval == 0) {
|
||||
if (len1 == len2) return 0;
|
||||
if (len1 > len2) return 1;
|
||||
|
||||
Reference in New Issue
Block a user