From 401239401e481f64b4e3078ec8c2f9968cb07026 Mon Sep 17 00:00:00 2001 From: netblue30 Date: Wed, 18 Oct 2017 09:14:52 -0400 Subject: remove links for uninstalled programs --- src/firecfg/main.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/firecfg/main.c b/src/firecfg/main.c index 1cdd39c1f..090905a85 100644 --- a/src/firecfg/main.c +++ b/src/firecfg/main.c @@ -91,7 +91,8 @@ static void list(void) { free(firejail_exec); } -static void clear(void) { +static void clean(void) { + printf("Removing all firejail symlinks:\n"); if (getuid() != 0) { fprintf(stderr, "Error: you need to be root to run this command\n"); exit(1); @@ -120,8 +121,11 @@ static void clear(void) { char* fname = realpath(fullname, NULL); if (fname) { if (strcmp(fname, firejail_exec) == 0) { - printf("%s removed\n", fullname); + char *ptr = strrchr(fullname, '/'); + assert(ptr); + ptr++; unlink(fullname); + printf(" %s removed\n", ptr); } free(fname); } @@ -131,6 +135,7 @@ static void clear(void) { closedir(dir); free(firejail_exec); + printf("\n"); } static void set_file(const char *name, const char *firejail_exec) { @@ -283,7 +288,7 @@ int main(int argc, char **argv) { return 0; } else if (strcmp(argv[i], "--clean") == 0) { - clear(); + clean(); return 0; } else if (strcmp(argv[i], "--fix") == 0) { @@ -340,6 +345,7 @@ int main(int argc, char **argv) { } } } + clean(); set_links_firecfg(); -- cgit v1.2.3-54-g00ecf