aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2021-01-17 23:37:35 -0800
committerBruce Hill <bruce@bruce-hill.com>2021-01-17 23:37:35 -0800
commit0979e9d68dc5fad0f1d2d62d1c64349c5fa31835 (patch)
treee9c20447ceaad7f3c8fc211bf0269f90e982a91c
parenta337357d7b73021511024fb7aa2a2c2b284cf27f (diff)
Fixed issue where `bp -g bp` would accidentally load local `bp`
executable file instead of /etc/xdg/bp/bp.bp
-rw-r--r--bp.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/bp.c b/bp.c
index 6abd29b..fa137b0 100644
--- a/bp.c
+++ b/bp.c
@@ -458,7 +458,9 @@ int main(int argc, char *argv[])
pattern = bp_replacement(replace_file, pattern, replace_file->contents);
check(pattern, "Replacement failed to compile: %s", flag);
} else if (FLAG("-g") || FLAG("--grammar")) {
- file_t *f = load_file(&loaded_files, flag);
+ file_t *f = NULL;
+ if (strlen(flag) > 3 && strncmp(&flag[strlen(flag)-3], ".bp", 3) == 0)
+ f = load_file(&loaded_files, flag);
if (f == NULL)
f = load_filef(&loaded_files, "%s/.config/"BP_NAME"/%s.bp", getenv("HOME"), flag);
if (f == NULL)