mirror of
https://github.com/Dr-Noob/cpufetch.git
synced 2026-03-25 16:00:39 +01:00
[v0.86][OPTIONS] Replace levels option with debug option, which does the same on x86, but also exists on ARM, which prints MIDR registers (need work to be properly implemented)
This commit is contained in:
@@ -21,15 +21,13 @@ enum {
|
||||
ARG_CHAR_STYLE,
|
||||
ARG_CHAR_COLOR,
|
||||
ARG_CHAR_HELP,
|
||||
#ifdef ARCH_X86
|
||||
ARG_CHAR_LEVELS,
|
||||
#endif
|
||||
ARG_CHAR_DEBUG,
|
||||
ARG_CHAR_VERBOSE,
|
||||
ARG_CHAR_VERSION
|
||||
};
|
||||
|
||||
struct args_struct {
|
||||
bool levels_flag;
|
||||
bool debug_flag;
|
||||
bool help_flag;
|
||||
bool verbose_flag;
|
||||
bool version_flag;
|
||||
@@ -55,8 +53,8 @@ bool show_version() {
|
||||
return args.version_flag;
|
||||
}
|
||||
|
||||
bool show_levels() {
|
||||
return args.levels_flag;
|
||||
bool show_debug() {
|
||||
return args.debug_flag;
|
||||
}
|
||||
|
||||
bool verbose_enabled() {
|
||||
@@ -166,7 +164,7 @@ bool parse_args(int argc, char* argv[]) {
|
||||
opterr = 0;
|
||||
|
||||
bool color_flag = false;
|
||||
args.levels_flag = false;
|
||||
args.debug_flag = false;
|
||||
args.verbose_flag = false;
|
||||
args.help_flag = false;
|
||||
args.style = STYLE_EMPTY;
|
||||
@@ -176,9 +174,7 @@ bool parse_args(int argc, char* argv[]) {
|
||||
{"style", required_argument, 0, ARG_CHAR_STYLE },
|
||||
{"color", required_argument, 0, ARG_CHAR_COLOR },
|
||||
{"help", no_argument, 0, ARG_CHAR_HELP },
|
||||
#ifdef ARCH_X86
|
||||
{"levels", no_argument, 0, ARG_CHAR_LEVELS },
|
||||
#endif
|
||||
{"debug", no_argument, 0, ARG_CHAR_DEBUG },
|
||||
{"verbose", no_argument, 0, ARG_CHAR_VERBOSE },
|
||||
{"version", no_argument, 0, ARG_CHAR_VERSION },
|
||||
{0, 0, 0, 0}
|
||||
@@ -223,15 +219,13 @@ bool parse_args(int argc, char* argv[]) {
|
||||
}
|
||||
args.verbose_flag = true;
|
||||
}
|
||||
#ifdef ARCH_X86
|
||||
else if(c == ARG_CHAR_LEVELS) {
|
||||
if(args.levels_flag) {
|
||||
printErr("Levels option specified more than once");
|
||||
else if(c == ARG_CHAR_DEBUG) {
|
||||
if(args.debug_flag) {
|
||||
printErr("Debug option specified more than once");
|
||||
return false;
|
||||
}
|
||||
args.levels_flag = true;
|
||||
args.debug_flag = true;
|
||||
}
|
||||
#endif
|
||||
else if (c == ARG_CHAR_VERSION) {
|
||||
if(args.version_flag) {
|
||||
printErr("Version option specified more than once");
|
||||
|
||||
@@ -30,7 +30,7 @@ enum {
|
||||
|
||||
bool parse_args(int argc, char* argv[]);
|
||||
bool show_help();
|
||||
bool show_levels();
|
||||
bool show_debug();
|
||||
bool show_version();
|
||||
bool verbose_enabled();
|
||||
void free_colors_struct(struct colors* cs);
|
||||
|
||||
@@ -53,7 +53,7 @@ void printBug(const char *fmt, ...) {
|
||||
vsnprintf(buffer,buffer_size, fmt, args);
|
||||
va_end(args);
|
||||
fprintf(stderr,RED "[ERROR]: "RESET "%s\n",buffer);
|
||||
fprintf(stderr,"Please, create a new issue with this error message and your CPU model in https://github.com/Dr-Noob/cpufetch/issues\n");
|
||||
fprintf(stderr,"Please, create a new issue with this error message the output of 'cpufetch --debug' in https://github.com/Dr-Noob/cpufetch/issues\n");
|
||||
}
|
||||
|
||||
void set_log_level(bool verbose) {
|
||||
|
||||
@@ -8,19 +8,15 @@
|
||||
#ifdef ARCH_X86
|
||||
static const char* ARCH_STR = "x86_64 build";
|
||||
#include "../x86/cpuid.h"
|
||||
#else
|
||||
#elif ARCH_ARM
|
||||
static const char* ARCH_STR = "ARM build";
|
||||
#include "../arm/midr.h"
|
||||
#endif
|
||||
|
||||
static const char* VERSION = "0.85";
|
||||
static const char* VERSION = "0.86";
|
||||
|
||||
void print_help(char *argv[]) {
|
||||
#ifdef ARCH_X86
|
||||
printf("Usage: %s [--version] [--help] [--levels] [--style \"fancy\"|\"retro\"|\"legacy\"] [--color \"intel\"|\"amd\"|'R,G,B:R,G,B:R,G,B:R,G,B']\n\n", argv[0]);
|
||||
#else
|
||||
printf("Usage: %s [--version] [--help] [--style \"fancy\"|\"retro\"|\"legacy\"] [--color \"intel\"|\"amd\"|'R,G,B:R,G,B:R,G,B:R,G,B']\n\n", argv[0]);
|
||||
#endif
|
||||
printf("Usage: %s [--version] [--help] [--debug] [--style \"fancy\"|\"retro\"|\"legacy\"] [--color \"intel\"|\"amd\"|'R,G,B:R,G,B:R,G,B:R,G,B']\n\n", argv[0]);
|
||||
|
||||
printf("Options: \n\
|
||||
--color Set the color scheme. By default, cpufetch uses the system color scheme. This option \n\
|
||||
@@ -38,7 +34,9 @@ void print_help(char *argv[]) {
|
||||
* \"legacy\": Fallback style for terminals that does not support colors \n\n");
|
||||
|
||||
#ifdef ARCH_X86
|
||||
printf(" --levels Prints CPU model and cpuid levels (debug purposes)\n\n");
|
||||
printf(" --debug Prints CPU model and cpuid levels (debug purposes)\n\n");
|
||||
#elif ARCH_ARM
|
||||
printf(" --debug Prints main ID register values for all cores (debug purposes)\n\n");
|
||||
#endif
|
||||
|
||||
printf(" --verbose Prints extra information (if available) about how cpufetch tried fetching information\n\n\
|
||||
@@ -77,13 +75,11 @@ int main(int argc, char* argv[]) {
|
||||
if(cpu == NULL)
|
||||
return EXIT_FAILURE;
|
||||
|
||||
#ifdef ARCH_X86
|
||||
if(show_levels()) {
|
||||
if(show_debug()) {
|
||||
print_version();
|
||||
print_levels(cpu);
|
||||
print_debug(cpu);
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
#endif
|
||||
|
||||
struct frequency* freq = get_frequency_info(cpu);
|
||||
if(freq == NULL)
|
||||
|
||||
@@ -526,13 +526,3 @@ bool print_cpufetch(struct cpuInfo* cpu, struct cache* cach, struct frequency* f
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
#ifdef ARCH_X86
|
||||
void print_levels(struct cpuInfo* cpu) {
|
||||
printf("%s\n", cpu->cpu_name);
|
||||
printf("- Max standart level: 0x%.8X\n", cpu->maxLevels);
|
||||
printf("- Max extended level: 0x%.8X\n", cpu->maxExtendedLevels);
|
||||
|
||||
free_cpuinfo_struct(cpu);
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user