| 226 | } |
| 227 | |
| 228 | char* builtin_string_slice2 ( const char *str, int start, Context * context, LineInfoArg * at ) { |
| 229 | const uint32_t strLen = stringLengthSafe ( *context, str ); |
| 230 | if (!strLen) |
| 231 | return nullptr; |
| 232 | start = clamp_int((start < 0) ? (strLen + start) : start, 0, strLen); |
| 233 | return strLen > uint32_t(start) ? context->allocateString(str + start, uint32_t(strLen-start), at) : nullptr; |
| 234 | } |
| 235 | |
| 236 | char* builtin_string_reverse ( const char *str, Context * context, LineInfoArg * at ) { |
| 237 | const uint32_t strLen = stringLengthSafe ( *context, str ); |
nothing calls this directly
no test coverage detected