qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 36/41] slirp: Use shell to erase smb directory


From: Jan Kiszka
Subject: [Qemu-devel] [PATCH 36/41] slirp: Use shell to erase smb directory
Date: Wed, 24 Jun 2009 14:42:31 +0200
User-agent: StGIT/0.14.3

Instead of open-coding this, we can use the power of the shell to remove
the smb_dir on exit.

Signed-off-by: Jan Kiszka <address@hidden>
---

 net.c |   30 ++++--------------------------
 1 files changed, 4 insertions(+), 26 deletions(-)

diff --git a/net.c b/net.c
index 0c1a99b..edf7ca6 100644
--- a/net.c
+++ b/net.c
@@ -1014,35 +1014,13 @@ void net_slirp_redir(const char *redir_str)
 
 static char smb_dir[1024];
 
-static void erase_dir(char *dir_name)
-{
-    DIR *d;
-    struct dirent *de;
-    char filename[1024];
-
-    /* erase all the files in the directory */
-    if ((d = opendir(dir_name)) != NULL) {
-        for(;;) {
-            de = readdir(d);
-            if (!de)
-                break;
-            if (strcmp(de->d_name, ".") != 0 &&
-                strcmp(de->d_name, "..") != 0) {
-                snprintf(filename, sizeof(filename), "%s/%s",
-                         smb_dir, de->d_name);
-                if (unlink(filename) != 0)  /* is it a directory? */
-                    erase_dir(filename);
-            }
-        }
-        closedir(d);
-        rmdir(dir_name);
-    }
-}
-
 /* automatic user mode samba server configuration */
 static void smb_exit(void)
 {
-    erase_dir(smb_dir);
+    char cmd[1024];
+
+    snprintf(cmd, sizeof(cmd), "rm -rf %s", smb_dir);
+    system(cmd);
 }
 
 static void slirp_smb(SlirpState* s, const char *exported_dir,





reply via email to

[Prev in Thread] Current Thread [Next in Thread]