encoding = NULL;
- if (!njs_value_is_string(njs_value_arg(&encode))) {
+
+ if (njs_value_is_string(njs_value_arg(&encode))) {
njs_value_string_get(njs_value_arg(&encode), &s);
- if (!njs_strstr_eq(&s, &string_buffer)) {
- encoding = njs_buffer_encoding(vm, njs_value_arg(&encode), 1);
- if (njs_slow_path(encoding == NULL)) {
- return NJS_ERROR;
- }
+ } else {
+ s.length = 0;
+ s.start = NULL;
+ }
+
+ if (!njs_strstr_eq(&s, &string_buffer)) {
+ encoding = njs_buffer_encoding(vm, njs_value_arg(&encode), 1);
+ if (njs_slow_path(encoding == NULL)) {
+ return NJS_ERROR;
}
}
encoding = NULL;
- if (!njs_value_is_string(njs_value_arg(&encode))) {
+ if (njs_value_is_string(njs_value_arg(&encode))) {
njs_value_string_get(njs_value_arg(&encode), &s);
- if (!njs_strstr_eq(&s, &string_buffer)) {
- encoding = njs_buffer_encoding(vm, njs_value_arg(&encode), 1);
- if (njs_slow_path(encoding == NULL)) {
- return NJS_ERROR;
- }
+ } else {
+ s.length = 0;
+ s.start = NULL;
+ }
+
+ if (!njs_strstr_eq(&s, &string_buffer)) {
+ encoding = njs_buffer_encoding(vm, njs_value_arg(&encode), 1);
+ if (njs_slow_path(encoding == NULL)) {
+ return NJS_ERROR;
}
}