158 |
} |
} |
159 |
else |
else |
160 |
{ |
{ |
161 |
register struct Lisp_String *s = XSTRING (object); |
int len = SCHARS (object); |
162 |
|
|
163 |
if (! (0 <= XINT (*begin) && XINT (*begin) <= XINT (*end) |
if (! (0 <= XINT (*begin) && XINT (*begin) <= XINT (*end) |
164 |
&& XINT (*end) <= s->size)) |
&& XINT (*end) <= len)) |
165 |
args_out_of_range (*begin, *end); |
args_out_of_range (*begin, *end); |
166 |
XSETFASTINT (*begin, XFASTINT (*begin)); |
XSETFASTINT (*begin, XFASTINT (*begin)); |
167 |
if (begin != end) |
if (begin != end) |
168 |
XSETFASTINT (*end, XFASTINT (*end)); |
XSETFASTINT (*end, XFASTINT (*end)); |
169 |
i = s->intervals; |
i = STRING_INTERVALS (object); |
170 |
|
|
171 |
if (s->size == 0) |
if (len == 0) |
172 |
return NULL_INTERVAL; |
return NULL_INTERVAL; |
173 |
|
|
174 |
searchpos = XINT (*begin); |
searchpos = XINT (*begin); |
553 |
} |
} |
554 |
else |
else |
555 |
{ |
{ |
|
register struct Lisp_String *s = XSTRING (object); |
|
|
|
|
556 |
beg = 0; |
beg = 0; |
557 |
end = s->size; |
end = SCHARS (object); |
558 |
i = s->intervals; |
i = STRING_INTERVALS (object); |
559 |
} |
} |
560 |
|
|
561 |
if (!(beg <= position && position <= end)) |
if (!(beg <= position && position <= end)) |