diff options
Diffstat (limited to 'src/nxt_application.c')
-rw-r--r-- | src/nxt_application.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/nxt_application.c b/src/nxt_application.c index 8ded36da..fba20985 100644 --- a/src/nxt_application.c +++ b/src/nxt_application.c @@ -180,7 +180,7 @@ nxt_discovery_module(nxt_task_t *task, nxt_mp_t *mp, nxt_array_t *modules, const char *name) { void *dl; - nxt_str_t *s; + nxt_str_t version; nxt_int_t ret; nxt_uint_t i, n; nxt_module_t *module; @@ -203,8 +203,8 @@ nxt_discovery_module(nxt_task_t *task, nxt_mp_t *mp, nxt_array_t *modules, app = dlsym(dl, "nxt_app_module"); if (app != NULL) { - nxt_log(task, NXT_LOG_NOTICE, "module: %V %V \"%s\"", - &app->type, &app->version, name); + nxt_log(task, NXT_LOG_NOTICE, "module: %V %s \"%s\"", + &app->type, app->version, name); if (app->compat_length != sizeof(compat) || nxt_memcmp(app->compat, compat, sizeof(compat)) != 0) @@ -225,15 +225,17 @@ nxt_discovery_module(nxt_task_t *task, nxt_mp_t *mp, nxt_array_t *modules, module = modules->elts; n = modules->nelts; + version.start = (u_char *) app->version; + version.length = nxt_strlen(app->version); + for (i = 0; i < n; i++) { if (type == module[i].type - && nxt_strstr_eq(&app->version, &module[i].version)) + && nxt_strstr_eq(&module[i].version, &version)) { nxt_log(task, NXT_LOG_NOTICE, "ignoring %s module with the same " "application language version %V %V as in %V", - name, &app->type, &app->version, - &module[i].file); + name, &app->type, version, &module[i].file); goto done; } @@ -246,8 +248,8 @@ nxt_discovery_module(nxt_task_t *task, nxt_mp_t *mp, nxt_array_t *modules, module->type = type; - s = nxt_str_dup(mp, &module->version, &app->version); - if (s == NULL) { + nxt_str_dup(mp, &module->version, &version); + if (module->version.start == NULL) { goto fail; } |