fix: prevent reallocing previous memory used by lm_ctx_resolve
This commit is contained in:
parent
4f4db1963d
commit
91dcbd5507
@ -8,7 +8,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2024-08-22 03:32+0300\n"
|
"POT-Creation-Date: 2024-08-22 08:37+0300\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
@ -204,7 +204,7 @@ msgstr "Failed to run the editor: %s"
|
|||||||
msgid "Failed to open the editor: %s"
|
msgid "Failed to open the editor: %s"
|
||||||
msgstr "Failed to open the editor: %s"
|
msgstr "Failed to open the editor: %s"
|
||||||
|
|
||||||
#: src/cmd/info.c:13 src/cmd/info.c:23 src/cmd/install.c:92 src/cmd/remove.c:53
|
#: src/cmd/info.c:13 src/cmd/info.c:23 src/cmd/install.c:94 src/cmd/remove.c:53
|
||||||
msgid "Package "
|
msgid "Package "
|
||||||
msgstr "Package "
|
msgstr "Package "
|
||||||
|
|
||||||
@ -294,67 +294,67 @@ msgstr "There are no avaliable pools, have you synced yet?"
|
|||||||
msgid "Specified "
|
msgid "Specified "
|
||||||
msgstr "Specified "
|
msgstr "Specified "
|
||||||
|
|
||||||
#: src/cmd/install.c:73
|
#: src/cmd/install.c:76
|
||||||
msgid "Failed to load "
|
msgid "Failed to load "
|
||||||
msgstr "Failed to load "
|
msgstr "Failed to load "
|
||||||
|
|
||||||
#: src/cmd/install.c:83 src/cmd/remove.c:55
|
#: src/cmd/install.c:85 src/cmd/remove.c:55
|
||||||
msgid "Failed to find "
|
msgid "Failed to find "
|
||||||
msgstr "Failed to find "
|
msgstr "Failed to find "
|
||||||
|
|
||||||
#: src/cmd/install.c:101
|
#: src/cmd/install.c:103
|
||||||
msgid "Failed to resolve "
|
msgid "Failed to resolve "
|
||||||
msgstr "Failed to resolve "
|
msgstr "Failed to resolve "
|
||||||
|
|
||||||
#: src/cmd/install.c:110
|
#: src/cmd/install.c:112
|
||||||
msgid "Nothing to do (no packages to install)"
|
msgid "Nothing to do (no packages to install)"
|
||||||
msgstr "Nothing to do (no packages to install)"
|
msgstr "Nothing to do (no packages to install)"
|
||||||
|
|
||||||
#: src/cmd/install.c:119 src/cmd/install.c:121 src/cmd/remove.c:75
|
#: src/cmd/install.c:121 src/cmd/install.c:123 src/cmd/remove.c:75
|
||||||
#: src/cmd/remove.c:77 src/cmd/update.c:50 src/cmd/update.c:52
|
#: src/cmd/remove.c:77 src/cmd/update.c:50 src/cmd/update.c:52
|
||||||
msgid "Following "
|
msgid "Following "
|
||||||
msgstr "Following "
|
msgstr "Following "
|
||||||
|
|
||||||
#: src/cmd/install.c:127 src/cmd/remove.c:84
|
#: src/cmd/install.c:129 src/cmd/remove.c:84
|
||||||
msgid "Total of "
|
msgid "Total of "
|
||||||
msgstr "Total of "
|
msgstr "Total of "
|
||||||
|
|
||||||
#: src/cmd/install.c:130 src/cmd/update.c:59
|
#: src/cmd/install.c:132 src/cmd/update.c:59
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Root directory is modified, install scripts will be saved in %s"
|
msgid "Root directory is modified, install scripts will be saved in %s"
|
||||||
msgstr "Root directory is modified, install scripts will be saved in %s"
|
msgstr "Root directory is modified, install scripts will be saved in %s"
|
||||||
|
|
||||||
#: src/cmd/install.c:132 src/cmd/remove.c:85 src/cmd/update.c:61
|
#: src/cmd/install.c:134 src/cmd/remove.c:85 src/cmd/update.c:61
|
||||||
msgid "Continue?"
|
msgid "Continue?"
|
||||||
msgstr "Continue?"
|
msgstr "Continue?"
|
||||||
|
|
||||||
#: src/cmd/install.c:133 src/cmd/remove.c:86 src/cmd/update.c:62
|
#: src/cmd/install.c:135 src/cmd/remove.c:86 src/cmd/update.c:62
|
||||||
msgid "Operation cancelled"
|
msgid "Operation cancelled"
|
||||||
msgstr "Operation cancelled"
|
msgstr "Operation cancelled"
|
||||||
|
|
||||||
#: src/cmd/install.c:149 src/cmd/install.c:153 src/cmd/install.c:173
|
#: src/cmd/install.c:151 src/cmd/install.c:155 src/cmd/install.c:175
|
||||||
#: src/cmd/install.c:189 src/cmd/remove.c:93 src/cmd/update.c:72
|
#: src/cmd/install.c:191 src/cmd/remove.c:93 src/cmd/update.c:72
|
||||||
#: src/cmd/update.c:83 src/cmd/update.c:94
|
#: src/cmd/update.c:83 src/cmd/update.c:94
|
||||||
msgid "("
|
msgid "("
|
||||||
msgstr "("
|
msgstr "("
|
||||||
|
|
||||||
#: src/cmd/install.c:159 src/cmd/update.c:78
|
#: src/cmd/install.c:161 src/cmd/update.c:78
|
||||||
msgid "Failed to download "
|
msgid "Failed to download "
|
||||||
msgstr "Failed to download "
|
msgstr "Failed to download "
|
||||||
|
|
||||||
#: src/cmd/install.c:180 src/cmd/remove.c:100 src/cmd/update.c:89
|
#: src/cmd/install.c:182 src/cmd/remove.c:100 src/cmd/update.c:89
|
||||||
msgid "Failed to remove "
|
msgid "Failed to remove "
|
||||||
msgstr "Failed to remove "
|
msgstr "Failed to remove "
|
||||||
|
|
||||||
#: src/cmd/install.c:196 src/cmd/update.c:100
|
#: src/cmd/install.c:198 src/cmd/update.c:100
|
||||||
msgid "Failed to install "
|
msgid "Failed to install "
|
||||||
msgstr "Failed to install "
|
msgstr "Failed to install "
|
||||||
|
|
||||||
#: src/cmd/install.c:203
|
#: src/cmd/install.c:205
|
||||||
msgid "Installed "
|
msgid "Installed "
|
||||||
msgstr "Installed "
|
msgstr "Installed "
|
||||||
|
|
||||||
#: src/cmd/install.c:203
|
#: src/cmd/install.c:205
|
||||||
msgid "Installed all of the "
|
msgid "Installed all of the "
|
||||||
msgstr "Installed all of the "
|
msgstr "Installed all of the "
|
||||||
|
|
||||||
|
@ -47,7 +47,7 @@ bool cmd_install(lm_ctx_t *ctx, config_t *config, args_t *args){
|
|||||||
|
|
||||||
ssize_t current = 0, size = 0, save = 0, li = 0;
|
ssize_t current = 0, size = 0, save = 0, li = 0;
|
||||||
bool ret = false, r = false, is_local = false;
|
bool ret = false, r = false, is_local = false;
|
||||||
lm_pkg_t *pkg = NULL, *locals = NULL;
|
lm_pkg_t *pkg = NULL, **locals = NULL;
|
||||||
lm_ctx_resolve_list_t *list = NULL;
|
lm_ctx_resolve_list_t *list = NULL;
|
||||||
lm_entry_t older;
|
lm_entry_t older;
|
||||||
char ssize[LONGSTR_MAX+3];
|
char ssize[LONGSTR_MAX+3];
|
||||||
@ -57,7 +57,7 @@ bool cmd_install(lm_ctx_t *ctx, config_t *config, args_t *args){
|
|||||||
if(NULL != args->list[i].name || NULL == (name = args->list[i].value))
|
if(NULL != args->list[i].name || NULL == (name = args->list[i].value))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
// if thiş is a local archive, load it
|
// if this is a local archive, load it
|
||||||
if(endswith(name, ".mpf") && access(name, F_OK) == 0){
|
if(endswith(name, ".mpf") && access(name, F_OK) == 0){
|
||||||
if(access(name, R_OK) != 0){
|
if(access(name, R_OK) != 0){
|
||||||
error(_("Specified "FG_BOLD"%s"FG_RESET" archive does not have read access"), name);
|
error(_("Specified "FG_BOLD"%s"FG_RESET" archive does not have read access"), name);
|
||||||
@ -65,16 +65,18 @@ bool cmd_install(lm_ctx_t *ctx, config_t *config, args_t *args){
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(NULL == locals)
|
if(NULL == locals)
|
||||||
locals = malloc(sizeof(lm_pkg_t));
|
locals = malloc(sizeof(lm_pkg_t*));
|
||||||
else
|
else
|
||||||
locals = realloc(locals, sizeof(lm_pkg_t)*((++li)+1));
|
locals = realloc(locals, sizeof(lm_pkg_t*)*((++li)+1));
|
||||||
|
|
||||||
if(!lm_ctx_package_from(ctx, &locals[li], name)){
|
pkg = malloc(sizeof(lm_pkg_t));
|
||||||
|
locals[li] = pkg;
|
||||||
|
|
||||||
|
if(!lm_ctx_package_from(ctx, pkg, name)){
|
||||||
error(_("Failed to load "FG_BOLD"%s"FG_RESET": %s"), name, lm_strerror());
|
error(_("Failed to load "FG_BOLD"%s"FG_RESET": %s"), name, lm_strerror());
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
|
|
||||||
pkg = &locals[li];
|
|
||||||
goto resolve;
|
goto resolve;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -139,7 +141,7 @@ bool cmd_install(lm_ctx_t *ctx, config_t *config, args_t *args){
|
|||||||
is_local = false;
|
is_local = false;
|
||||||
|
|
||||||
for(size_t i = 0; i < (li+1) && NULL != locals; i++){
|
for(size_t i = 0; i < (li+1) && NULL != locals; i++){
|
||||||
if(lm_package_is_same(&locals[i], pkg)){
|
if(lm_package_is_same(locals[i], pkg)){
|
||||||
is_local = true;
|
is_local = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -208,7 +210,7 @@ end:
|
|||||||
bar_free();
|
bar_free();
|
||||||
|
|
||||||
for(size_t i = 0; i < (li+1) && NULL != locals; i++)
|
for(size_t i = 0; i < (li+1) && NULL != locals; i++)
|
||||||
lm_ctx_package_from_free(&locals[li]);
|
lm_ctx_package_from_free(locals[li]);
|
||||||
free(locals);
|
free(locals);
|
||||||
|
|
||||||
lm_ctx_resolve_free(list);
|
lm_ctx_resolve_free(list);
|
||||||
|
Loading…
Reference in New Issue
Block a user