Merge pull request #139 from Joshix-1/replacement-fix

Fibal replacement fix
This commit is contained in:
TheDarkBug 2021-10-03 23:56:06 +02:00 committed by GitHub
commit d4a46f2fa4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -173,7 +173,7 @@ int main(int argc, char *argv[])
for (int i = 0; gpu_model[i][0]; i++) for (int i = 0; gpu_model[i][0]; i++)
{ {
uwu_hw(gpu_model[i]); uwu_hw(gpu_model[i]);
} }
uwu_hw(cpu_model); uwu_hw(cpu_model);
uwu_hw(host_model); uwu_hw(host_model);
@ -188,10 +188,11 @@ void parse_config()
// opening and reading the config file // opening and reading the config file
FILE *config; FILE *config;
if (config_directory == NULL) { if (config_directory == NULL)
if (homedir != NULL) {
config = fopen(strcat(homedir, "/.config/uwufetch/config"), "r"); if (homedir != NULL)
} config = fopen(strcat(homedir, "/.config/uwufetch/config"), "r");
}
else else
config = fopen(config_directory, "r"); config = fopen(config_directory, "r");
if (config == NULL) if (config == NULL)
@ -480,11 +481,11 @@ void get_info()
if (sscanf(line, "model name : %[^\n]", cpu_model)) if (sscanf(line, "model name : %[^\n]", cpu_model))
#endif #endif
break; break;
char *tmp_user = getenv("USER"); char *tmp_user = getenv("USER");
if (tmp_user == NULL) if (tmp_user == NULL)
sprintf(user, "%s", ""); sprintf(user, "%s", "");
else else
sprintf(user, "%s", tmp_user); sprintf(user, "%s", tmp_user);
if (iscygwin == 0) if (iscygwin == 0)
fclose(os_release); fclose(os_release);
} }
@ -532,9 +533,9 @@ void get_info()
gethostname(host, 256); gethostname(host, 256);
char *tmp_shell = getenv("SHELL"); char *tmp_shell = getenv("SHELL");
if (tmp_shell == NULL) if (tmp_shell == NULL)
sprintf(shell, "%s", ""); sprintf(shell, "%s", "");
else else
sprintf(shell, "%s", tmp_shell); sprintf(shell, "%s", tmp_shell);
if (strlen(shell) > 16) if (strlen(shell) > 16)
memmove(&shell, &shell[27], strlen(shell)); // android shell was too long, this works only for termux memmove(&shell, &shell[27], strlen(shell)); // android shell was too long, this works only for termux
@ -710,36 +711,32 @@ replace("Hello World!", "World", "everyone")
void replace(char *original, char *search, char *replacer) void replace(char *original, char *search, char *replacer)
{ {
char *ch; char *ch;
if (!(ch = strstr(original, search)))
return;
char buffer[1024]; char buffer[1024];
while ((ch = strstr(original, search)))
{
ch = strstr(original, search);
strncpy(buffer, original, ch - original);
buffer[ch - original] = 0;
sprintf(buffer + (ch - original), "%s%s", replacer, ch + strlen(search));
strncpy(buffer, original, ch - original); original[0] = 0;
buffer[ch - original] = 0; strcpy(original, buffer);
sprintf(buffer + (ch - original), "%s%s", replacer, ch + strlen(search)); }
original[0] = 0;
strcpy(original, buffer);
return replace(original, search, replacer);
} }
void replace_ignorecase(char *original, char *search, char *replacer) void replace_ignorecase(char *original, char *search, char *replacer)
{ {
char *ch; char *ch;
if (!(ch = strcasestr(original, search)))
return;
char buffer[1024]; char buffer[1024];
while ((ch = strcasestr(original, search)))
{
strncpy(buffer, original, ch - original);
buffer[ch - original] = 0;
sprintf(buffer + (ch - original), "%s%s", replacer, ch + strlen(search));
strncpy(buffer, original, ch - original); original[0] = 0;
buffer[ch - original] = 0; strcpy(original, buffer);
sprintf(buffer + (ch - original), "%s%s", replacer, ch + strlen(search)); }
original[0] = 0;
strcpy(original, buffer);
replace(original, search, replacer);
return replace(original, search, replacer);
} }
void print_ascii() void print_ascii()
@ -1158,9 +1155,9 @@ void uwu_hw(char *hwname)
{ {
#define HW_TO_UWU(original, uwuified) \ #define HW_TO_UWU(original, uwuified) \
replace_ignorecase(hwname, original, uwuified); replace_ignorecase(hwname, original, uwuified);
replace(hwname, "CPU", "CC\bPUwU"); // for some reasons this caused a segfault, using a \b char fixes it
replace(hwname, "cpu", "CPUwU");
HW_TO_UWU("lenovo", "LenOwO") HW_TO_UWU("lenovo", "LenOwO")
HW_TO_UWU("cpu", "CPUwU")
HW_TO_UWU("gpu", "GPUwU") HW_TO_UWU("gpu", "GPUwU")
HW_TO_UWU("graphics", "Gwaphics") HW_TO_UWU("graphics", "Gwaphics")
HW_TO_UWU("corporation", "COwOpowation") HW_TO_UWU("corporation", "COwOpowation")