From f1ec6f8399adffd1bc10c9644333ed7a411cff23 Mon Sep 17 00:00:00 2001 From: Aoran Zeng Date: Tue, 26 Sep 2023 22:24:48 +0800 Subject: [PATCH] Use `chsrc_check_file()` --- chsrc.c | 33 +++++++++++---------------------- chsrc.h | 13 ++++++++++++- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/chsrc.c b/chsrc.c index d7f341e..b424e59 100644 --- a/chsrc.c +++ b/chsrc.c @@ -368,13 +368,11 @@ pl_go_setsrc (char* option) void pl_rust_getsrc (char* option) { - char* cmd = NULL; if(xy_on_windows) { - cmd = "type %USERPROFILE%\\.cargo"; + chsrc_check_file ("%USERPROFILE%\\.cargo"); } else { - cmd = "cat ~/.cargo"; + chsrc_check_file ("~/.cargo"); } - chsrc_run(cmd); } /** @@ -728,13 +726,11 @@ pl_r_getsrc (char* option) // options()$repos // options()$BioC_mirror // - char* cmd = NULL; if(xy_on_windows) { - cmd = "type %USERPROFILE%\\Documents\\.Rprofile"; + chsrc_check_file ("%USERPROFILE%\\Documents\\.Rprofile"); } else { - cmd = "cat ~/.Rprofile"; + chsrc_check_file ("~/.Rprofile"); } - chsrc_run(cmd); } /** @@ -787,13 +783,11 @@ pl_r_setsrc (char* option) void pl_julia_getsrc (char* option) { - char* cmd = NULL; if(xy_on_windows) { - cmd = "type %USERPROFILE%\\.julia\\config\\startup.jl"; + chsrc_check_file ("%USERPROFILE%\\.julia\\config\\startup.jl"); } else { - cmd = "cat ~/.julia/config/startup.jl"; + chsrc_check_file ("~/.julia/config/startup.jl"); } - chsrc_run(cmd); } /** @@ -838,8 +832,7 @@ pl_julia_setsrc (char* option) void os_ubuntu_getsrc(char* option) { - char* cmd = "cat /etc/apt/sources.list"; - chsrc_run(cmd); + chsrc_check_file ("/etc/apt/sources.list"); } /** @@ -894,8 +887,7 @@ os_ubuntu_setsrc (char* option) void os_debian_getsrc(char* option) { - char* cmd = "cat /etc/apt/sources.list"; - chsrc_run(cmd); + chsrc_check_file ("/etc/apt/sources.list"); } /** @@ -942,8 +934,7 @@ os_debian_setsrc (char* option) void os_deepin_getsrc(char* option) { - char* cmd = "cat /etc/apt/sources.list"; - chsrc_run(cmd); + chsrc_check_file ("/etc/apt/sources.list"); } /** @@ -1613,8 +1604,7 @@ os_freebsd_setsrc (char* option) void os_netbsd_getsrc (char* option) { - char* cmd = "cat /usr/pkg/etc/pkgin/repositories.conf"; - chsrc_run(cmd); + chsrc_check_file ("/usr/pkg/etc/pkgin/repositories.conf"); } /** @@ -1663,8 +1653,7 @@ os_netbsd_setsrc(char* option) void os_openbsd_getsrc (char* option) { - char* cmd = "cat /etc/installurl"; - chsrc_run(cmd); + chsrc_check_file ("/etc/installurl"); } /** diff --git a/chsrc.h b/chsrc.h index e8be1ea..6be295d 100644 --- a/chsrc.h +++ b/chsrc.h @@ -272,7 +272,6 @@ not_root: #define chsrc_warn(str) xy_warn(xy_2strjoin(App_Prefix, (str))) #define chsrc_error(str) xy_error(xy_2strjoin(App_Prefix, (str))) - static void chsrc_run (const char* cmd) { @@ -280,6 +279,18 @@ chsrc_run (const char* cmd) system(cmd); } +static void +chsrc_check_file (const char* path) +{ + char* cmd = NULL; + if(xy_on_windows) { + cmd = xy_2strjoin ("type ", path); + } else { + cmd = xy_2strjoin ("cat ", path); + } + chsrc_run (cmd); +} + static void chsrc_append_to_file (const char* str, const char* file) {