nxt_strlen(), nxt_strchr(), nxt_strlchr().
njs_object_prop_t *prop;
nxt_lvlhsh_query_t lhq;
- size = description != NULL ? strlen(description) : 0;
+ size = description != NULL ? nxt_strlen(description) : 0;
ret = njs_string_new(vm, &string, (u_char *) description, size, size);
if (nxt_slow_path(ret != NXT_OK)) {
}
if (syscall != NULL) {
- size = strlen(syscall);
+ size = nxt_strlen(syscall);
ret = njs_string_new(vm, &string, (u_char *) syscall, size, size);
if (nxt_slow_path(ret != NXT_OK)) {
return NJS_ERROR;
/* Skip starting "/". */
source = pattern->source + 1;
- size = strlen((char *) source) - pattern->flags;
+ size = nxt_strlen(source) - pattern->flags;
length = nxt_utf8_length(source, size);
return njs_regexp_string_create(vm, retval, source, size, length);
pattern = value->data.u.regexp->pattern;
source = pattern->source;
- size = strlen((char *) source);
+ size = nxt_strlen(source);
length = nxt_utf8_length(source, size);
return njs_regexp_string_create(vm, retval, source, size, length);
goto done;
}
- memcpy(path + strlen(path), "/shell", sizeof("/shell"));
+ memcpy(path + nxt_strlen(path), "/shell", sizeof("/shell"));
opts.file = path;
}
vm_options.file.start = (u_char *) opts.file;
- vm_options.file.length = strlen(opts.file);
+ vm_options.file.length = nxt_strlen(opts.file);
}
vm_options.init = !opts.interactive;
break;
}
- line.length = strlen((char *) line.start);
+ line.length = nxt_strlen(line.start);
if (line.length == 0) {
continue;
}
static njs_vm_t *
njs_create_vm(njs_opts_t *opts, njs_vm_opt_t *vm_options)
{
- char *p, *start;
+ u_char *p, *start;
njs_vm_t *vm;
nxt_int_t ret;
nxt_str_t path;
for (i = 0; i < opts->n_paths; i++) {
path.start = (u_char *) opts->paths[i];
- path.length = strlen(opts->paths[i]);
+ path.length = nxt_strlen(opts->paths[i]);
ret = njs_vm_add_path(vm, &path);
if (ret != NXT_OK) {
}
}
- start = getenv("NJS_PATH");
+ start = (u_char *) getenv("NJS_PATH");
if (start == NULL) {
return vm;
}
for ( ;; ) {
- p = strchr(start, ':');
+ p = nxt_strchr(start, ':');
- path.start = (u_char *) start;
- path.length = (p != NULL) ? (size_t) (p - start) : strlen(start);
+ path.start = start;
+ path.length = (p != NULL) ? (size_t) (p - start) : nxt_strlen(start);
ret = njs_vm_add_path(vm, &path);
if (ret != NXT_OK) {
if (state == 0) {
cmpl->phase = 0;
cmpl->index = 0;
- cmpl->length = strlen(text);
+ cmpl->length = nxt_strlen(text);
cmpl->suffix_completions = NULL;
nxt_lvlhsh_each_init(&cmpl->lhe, &njs_variables_hash_proto);
}
+nxt_inline u_char *
+nxt_strlchr(u_char *p, u_char *last, u_char c)
+{
+ while (p < last) {
+
+ if (*p == c) {
+ return p;
+ }
+
+ p++;
+ }
+
+ return NULL;
+}
+
+
+#define \
+nxt_strlen(s) \
+ strlen((char *) s)
+
+
#define \
nxt_cpymem(dst, src, n) \
(((u_char *) memcpy(dst, src, n)) + (n))
strncmp((char *) s1, (char *) s2, n)
+#define \
+nxt_strchr(s1, c) \
+ (u_char *) strchr((const char *) s1, (int) c)
+
+
#define \
nxt_memset(buf, c, length) \
(void) memset(buf, c, length)