size += string.size;
length += string.length;
- if (string.length == 0 && string.size != 0) {
+ if (njs_is_byte_string(&string)) {
mask = 0;
}
}
(void) njs_string_prop(&string, njs_argument(args, 0));
- if (string.length == 0 || string.length == string.size) {
- /* Byte or ASCII string. */
+ if (njs_is_byte_or_ascii_string(&string)) {
p = njs_string_alloc(vm, &vm->retval, string.size, string.length);
if (njs_slow_path(p == NULL)) {
(void) njs_string_prop(&string, njs_argument(args, 0));
- if (string.length == 0 || string.length == string.size) {
- /* Byte or ASCII string. */
+ if (njs_is_byte_or_ascii_string(&string)) {
p = njs_string_alloc(vm, &vm->retval, string.size, string.length);
if (njs_slow_path(p == NULL)) {
start = string.start;
end = string.start + string.size;
- if (string.length == 0 || string.length == string.size) {
- /* Byte or ASCII string. */
+ if (njs_is_byte_or_ascii_string(&string)) {
if (mode & NJS_TRIM_START) {
for ( ;; ) {
src = string.start;
end = src + string.size;
- if (string.length == 0 || string.length == string.size) {
- /* Byte or ASCII string. */
+ if (njs_is_byte_or_ascii_string(&string)) {
while (src < end) {
byte = *src++;
src = string.start;
- if (string.length == 0 || string.length == string.size) {
- /* Byte or ASCII string. */
+ if (njs_is_byte_or_ascii_string(&string)) {
(void) njs_string_encode(escape, string.size, src, dst);
return NJS_OK;
}
(void) njs_string_prop(&string1, val1);
(void) njs_string_prop(&string2, val2);
+ length = string1.length + string2.length;
+
/*
* A result of concatenation of Byte and ASCII or UTF-8 strings
* is a Byte string.
*/
- if ((string1.length != 0 || string1.size == 0)
- && (string2.length != 0 || string2.size == 0))
- {
- length = string1.length + string2.length;
-
- } else {
+ if (njs_is_byte_string(&string1) || njs_is_byte_string(&string2)) {
length = 0;
}