diff options
| author | dacctal <donotcontactmevia@email.invalid> | 2026-06-24 23:41:07 +0000 |
|---|---|---|
| committer | dacctal <donotcontactmevia@email.invalid> | 2026-06-24 23:41:07 +0000 |
| commit | 5fc668d59ea4e70c01a101fef8625783a6a78217 (patch) | |
| tree | db04d27f6cce184ded0dcda17e001765e0072ee6 | |
| parent | ce36dbdde5364ebb10c052c5d0aee64547e8f34f (diff) | |
fixed update command, no more segfaults1.1.3
| -rw-r--r-- | bldit.lua | 6 | ||||
| -rw-r--r-- | include/lua_state.h | 4 | ||||
| -rw-r--r-- | src/is_updated.c | 12 | ||||
| -rw-r--r-- | src/lua_state.c | 10 | ||||
| -rw-r--r-- | src/vars.c | 2 |
5 files changed, 20 insertions, 14 deletions
@@ -1,7 +1,7 @@ -bldit_version = "1.0.0" -package_version = "1.0.0" +bldit_version = "1.1.3" +package_version = "1.1.3" -global_dependencies = { +dependencies = { luajit = { url = "https://luajit.org/git/luajit.git", version = "v2.1", diff --git a/include/lua_state.h b/include/lua_state.h index f8564b9..cfd0d5e 100644 --- a/include/lua_state.h +++ b/include/lua_state.h @@ -31,7 +31,7 @@ bool config_build(const char *path, const char *target); bool config_install(const char *path, const char *target); bool config_uninstall(const char *path, const char *target); -char* bldit_getver(void); -char* bldit_pkg_getver(void); +const char* bldit_getver(void); +const char* bldit_pkg_getver(void); #endif
\ No newline at end of file diff --git a/src/is_updated.c b/src/is_updated.c index 6ed53d3..66d7fb1 100644 --- a/src/is_updated.c +++ b/src/is_updated.c @@ -12,9 +12,10 @@ bool is_updated(const char *src) { bool result = false; if (src && strlen(src) > 0 && chdir(src) != 0) return result; - char *bldit_pkgver = bldit_pkg_getver(); + const char *bldit_pkgver = bldit_pkg_getver(); char *git_tag = cmd_out("git tag | tail -n 1"); - result = (strstr(git_tag, bldit_pkgver) != NULL); + if (bldit_pkgver && strcmp(bldit_pkgver, "") != 0) + result = (strstr(git_tag, bldit_pkgver) != NULL); char *git_pull = cmd_out("git pull"); result = (strstr(git_pull, "Already up to date.") != NULL); free(git_tag); @@ -23,8 +24,11 @@ bool is_updated(const char *src) { } bool is_bldit_usable() { - char* bldit_version = bldit_getver(); - if (strcmp(bldit_version, version) == 0) return true; + const char* bldit_version = bldit_getver(); + if ( + strcmp(bldit_version, "") != 0 && + strcmp(bldit_version, version) == 0 + ) return true; bool prev_pass = false; for (int i = 0; i < strlen(bldit_version); i++) { if (bldit_version[i] == '.') continue; diff --git a/src/lua_state.c b/src/lua_state.c index a60fb7f..d6524fc 100644 --- a/src/lua_state.c +++ b/src/lua_state.c @@ -417,28 +417,30 @@ bool repo_uninstall(const char *repository, const char *target) { return target_loop_success; } -char* bldit_getver() { +const char* bldit_getver() { init_bldit(); lua_getglobal(B, "bldit_version"); if (!lua_isstring(B, -1)) { if (is_verbose) printf("%s bldit.lua: 'bldit_version' is not a string.\n", print_warning); + lua_pop(B, 3); return NULL; } const char* bldit_version = lua_tostring(B, -1); - return strdup(bldit_version); + return bldit_version; } -char* bldit_pkg_getver() { +const char* bldit_pkg_getver() { init_bldit(); lua_getglobal(B, "package_version"); if (!lua_isstring(B, -1)) { if (is_verbose) printf("%s bldit.lua: 'package_version' is not a string.\n", print_warning); + lua_pop(B, 3); return NULL; } const char* package_version = lua_tostring(B, -1); - return strdup(package_version); + return package_version; } bool bldit(const char *target) { @@ -51,7 +51,7 @@ const char *get_install_dir(const char *key) { return ""; } -const char *version = "1.1.2"; +const char *version = "1.1.3"; const char *red = "\e[0;31m"; const char *green = "\e[0;32m"; |
