From 1ca0317a351f3075b2ea0b9bb5e59ccb4bcb960b Mon Sep 17 00:00:00 2001 From: Jan200101 Date: Wed, 16 Dec 2020 16:35:10 +0100 Subject: add more warning flags, correct syntax, add UNUSED macro, […] - added -Wall -Wextra -pedantic to the compile options - various syntax has been corrected: - static is used before const - correct integer types are used in for loops - empty newlines are added - every command has an argc and argv but some don't use them so they are marked as potentially unused if compiled on a GNUC compatible compiler - mark JSONC variables as advanced so they do not show up as generic variables MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/command.h | 6 +++--- src/common.c | 4 ++-- src/common.h | 10 ++++++++-- src/config.c | 2 +- src/dxvk.c | 6 +++--- src/dxvk.h | 2 +- src/lutris.c | 24 ++++++++++++------------ src/main.c | 4 ++-- src/main.h | 2 +- src/net.h | 2 +- src/tar.h | 2 +- src/wine.c | 6 +++--- src/wine.h | 2 +- 13 files changed, 39 insertions(+), 33 deletions(-) (limited to 'src') diff --git a/src/command.h b/src/command.h index 9aeb07e..aeb4287 100644 --- a/src/command.h +++ b/src/command.h @@ -5,7 +5,7 @@ #include "common.h" #define COMMAND(GROUP, COMMAND)\ -int GROUP##_##COMMAND(int argc, char** argv) +int GROUP##_##COMMAND(UNUSED int argc, UNUSED char** argv) #define COMMAND_HELP(GROUP, MSG) \ @@ -24,9 +24,9 @@ int GROUP##_##COMMAND(int argc, char** argv) COMMAND_GROUP(GROUP) \ { \ if (argc > 1) \ - for (int i = 0; i < ARRAY_LEN(GROUP##_commands); ++i) \ + for (unsigned long i = 0; i < ARRAY_LEN(GROUP##_commands); ++i) \ if (!strcmp(GROUP##_commands[i].name, argv[1])) return GROUP##_commands[i].func(argc-1, argv+1); \ return GROUP##_help(argc-1, argv+1); \ } -#endif \ No newline at end of file +#endif diff --git a/src/common.c b/src/common.c index 7f91105..17edbd9 100644 --- a/src/common.c +++ b/src/common.c @@ -58,7 +58,7 @@ int makeDir(const char* path) char pathcpy[PATH_MAX]; char *index; - strncpy(pathcpy, path, PATH_MAX); // make a mutable copy of the path + strncpy(pathcpy, path, PATH_MAX-1); // make a mutable copy of the path for(index = pathcpy+1; *index; ++index) { @@ -126,4 +126,4 @@ int removeDir(const char *path) { r = rmdir(path); return r; -} \ No newline at end of file +} diff --git a/src/common.h b/src/common.h index f376195..5916b99 100644 --- a/src/common.h +++ b/src/common.h @@ -28,9 +28,15 @@ #define USAGE_STR "Usage: " NAME #ifdef DEBUG -#define unreachable printf("unreachable code reached\n" __FILE__ ":L%i\n", __LINE__); exit(0); +#define UNREACHABLE printf("unreachable code reached\n" __FILE__ ":L%i\n", __LINE__); exit(0); #else -#define unreachable +#define UNREACHABLE +#endif + +#ifdef __GNUC__ +#define UNUSED __attribute__((__unused__)) +#else +#define UNUSED #endif struct MemoryStruct { diff --git a/src/config.c b/src/config.c index 318b196..85aaf40 100644 --- a/src/config.c +++ b/src/config.c @@ -49,4 +49,4 @@ void getDXVKDir(char* config, const size_t size) { getDataDir(config, size); strncat(config, "/dxvk", size - strlen(config) - 1); -} \ No newline at end of file +} diff --git a/src/dxvk.c b/src/dxvk.c index d64efa5..65af7c5 100644 --- a/src/dxvk.c +++ b/src/dxvk.c @@ -12,7 +12,7 @@ #include "tar.h" #include "config.h" -const static struct Command dxvk_commands[] = { +static const struct Command dxvk_commands[] = { { .name = "download", .func = dxvk_download, .description = "download and install a dxvk version" }, { .name = "remove", .func = dxvk_remove, .description = "remove a dxvk version" }, { .name = "list", .func = dxvk_list, .description = "list available dxvk versions" }, @@ -36,7 +36,7 @@ COMMAND(dxvk, download) char* choice = argv[1]; - for (int i = 0; i < json_object_array_length(runner); ++i) + for (size_t i = 0; i < json_object_array_length(runner); ++i) { value = json_object_array_get_idx(runner, i); json_object_object_get_ex(value, "tag_name", &temp); @@ -221,4 +221,4 @@ COMMAND(dxvk, installed) return 0; } -COMMAND_HELP(dxvk, " dxvk"); \ No newline at end of file +COMMAND_HELP(dxvk, " dxvk") diff --git a/src/dxvk.h b/src/dxvk.h index 1469088..2859478 100644 --- a/src/dxvk.h +++ b/src/dxvk.h @@ -13,4 +13,4 @@ COMMAND(dxvk, install); COMMAND(dxvk, installed); COMMAND(dxvk, help); -#endif \ No newline at end of file +#endif diff --git a/src/lutris.c b/src/lutris.c index 5e213ff..a5f8ebd 100644 --- a/src/lutris.c +++ b/src/lutris.c @@ -8,7 +8,7 @@ #include "lutris.h" #include "net.h" -const static struct Command lutris_commands[] = { +static const struct Command lutris_commands[] = { #ifdef DEBUG { .name = "install", .func = lutris_install, .description = "install a lutris script" }, #endif @@ -93,7 +93,7 @@ COMMAND(lutris, install) break; default: - unreachable; + UNREACHABLE break; } } @@ -126,7 +126,7 @@ COMMAND(lutris, install) break; default: - unreachable; + UNREACHABLE break; } } @@ -155,7 +155,7 @@ COMMAND(lutris, info) if (installer.filecount) { puts("\nFiles:"); - for (int i = 0; i < installer.filecount; ++i) + for (size_t i = 0; i < installer.filecount; ++i) { printf("\t%s ->%s\n", installer.files[i]->filename, installer.files[i]->url); } @@ -165,13 +165,13 @@ COMMAND(lutris, info) { puts("\nDirectives:"); - for (int i = 0; i < installer.directivecount; ++i) + for (size_t i = 0; i < installer.directivecount; ++i) { printf("\t%s", keywordstr[installer.directives[i]->command]); if (installer.directives[i]->task != NO_TASK) printf(" %s", taskKeywordstr[installer.directives[i]->task]); - for (int j = 0; j < installer.directives[i]->size; ++j) + for (size_t j = 0; j < installer.directives[i]->size; ++j) { printf(" %s", installer.directives[i]->arguments[j]); } @@ -297,7 +297,7 @@ struct script_t lutris_getInstaller(char* installername) installer.filecount = json_object_array_length(files); installer.files = malloc(installer.filecount * sizeof(void*)); - for (int i = 0; i < installer.filecount; ++i) + for (size_t i = 0; i < installer.filecount; ++i) { struct json_object* file = json_object_array_get_idx(files, i); struct lh_entry* entry = json_object_get_object(file)->head; @@ -337,7 +337,7 @@ struct script_t lutris_getInstaller(char* installername) installer.directivecount = json_object_array_length(scriptinstall); installer.directives = malloc(installer.directivecount * sizeof(void*)); - for (int i = 0; i < installer.directivecount; ++i) + for (size_t i = 0; i < installer.directivecount; ++i) { struct json_object* step = json_object_array_get_idx(scriptinstall, i); struct json_object* directive; @@ -457,7 +457,7 @@ struct script_t lutris_getInstaller(char* installername) } installer.directives[i]->arguments = malloc(installer.directives[i]->size * sizeof(char*)); - for (int j = 0; j < installer.directives[i]->size; ++j) + for (size_t j = 0; j < installer.directives[i]->size; ++j) { str = json_object_get_string(options[j+offset]); installer.directives[i]->arguments[j] = malloc(strlen(str) * sizeof(char) +1); @@ -494,9 +494,9 @@ void lutris_freeInstaller(struct script_t* installer) if (installer->directives) { - for (int i = 0; i < installer->directivecount; ++i) + for (size_t i = 0; i < installer->directivecount; ++i) { - for (int j = 0; j < installer->directives[i]->size; ++j) + for (size_t j = 0; j < installer->directives[i]->size; ++j) { free(installer->directives[i]->arguments[j]); } @@ -509,7 +509,7 @@ void lutris_freeInstaller(struct script_t* installer) if (installer->files) { - for (int i = 0; i < installer->filecount; ++i) + for (size_t i = 0; i < installer->filecount; ++i) { free(installer->files[i]->filename); free(installer->files[i]->url); diff --git a/src/main.c b/src/main.c index 13364dc..605e1dc 100644 --- a/src/main.c +++ b/src/main.c @@ -10,7 +10,7 @@ #include "common.h" #include "config.h" -const static struct Command main_commands[] = { +static const struct Command main_commands[] = { { .name = "wine", .func = wine, .description = "manage wine versions" }, { .name = "dxvk", .func = dxvk, .description = "manage DXVK versions" }, { .name = "lutris", .func = lutris, .description = "run lutris instraller"}, @@ -40,4 +40,4 @@ COMMAND(main, env) return 0; } -COMMAND_HELP(main, "") \ No newline at end of file +COMMAND_HELP(main, "") diff --git a/src/main.h b/src/main.h index 9a26b6a..e7edf7c 100644 --- a/src/main.h +++ b/src/main.h @@ -6,4 +6,4 @@ COMMAND(main, env); COMMAND(main, help); -#endif \ No newline at end of file +#endif diff --git a/src/net.h b/src/net.h index f3c92c3..8c5b894 100644 --- a/src/net.h +++ b/src/net.h @@ -7,4 +7,4 @@ size_t WriteMemoryCallback(void*, size_t, size_t, void*); struct MemoryStruct* downloadToRam(const char* URL); struct json_object* fetchJSON(const char*); -#endif \ No newline at end of file +#endif diff --git a/src/tar.h b/src/tar.h index a91a344..5cb9d50 100644 --- a/src/tar.h +++ b/src/tar.h @@ -5,4 +5,4 @@ void extract(const struct MemoryStruct* tar, const char* outputdir); -#endif \ No newline at end of file +#endif diff --git a/src/wine.c b/src/wine.c index 9276459..a905c91 100644 --- a/src/wine.c +++ b/src/wine.c @@ -15,7 +15,7 @@ #include "config.h" #include "common.h" -const static struct Command wine_commands[] = { +static const struct Command wine_commands[] = { { .name = "download", .func = wine_download, .description = "download and extract a wine versions" }, { .name = "remove", .func = wine_remove, .description = "remove a wine version" }, { .name = "list", .func = wine_list, .description = "list installable wine versions" }, @@ -45,7 +45,7 @@ COMMAND(wine, download) char* choice = argv[i]; - for (int i = 0; i < json_object_array_length(versions); ++i) + for (size_t i = 0; i < json_object_array_length(versions); ++i) { value = json_object_array_get_idx(versions, i); json_object_object_get_ex(value, "version", &temp); @@ -377,7 +377,7 @@ COMMAND(wine, env) return 0; } -COMMAND_HELP(wine, " wine"); +COMMAND_HELP(wine, " wine") enum wine_type_t check_wine_ver(char* winepath, size_t size) { diff --git a/src/wine.h b/src/wine.h index d8ecdbe..30cc697 100644 --- a/src/wine.h +++ b/src/wine.h @@ -25,4 +25,4 @@ COMMAND(wine, help); enum wine_type_t check_wine_ver(char*, size_t); -#endif \ No newline at end of file +#endif -- cgit v1.2.3