clean processmkdir
authorLaurent MAZET <laurent.mazet@thalesgroup.com>
Wed, 15 Jan 2025 10:59:43 +0000 (11:59 +0100)
committerLaurent MAZET <laurent.mazet@thalesgroup.com>
Wed, 15 Jan 2025 10:59:43 +0000 (11:59 +0100)
fm.c
function.c
function.h

diff --git a/fm.c b/fm.c
index bb945822388aa53fc169cde7ea0b8027a3f290f5..658974111b32b106e2f5fd995ce49f6e012fde58 100644 (file)
--- a/fm.c
+++ b/fm.c
@@ -380,15 +380,17 @@ int main (int argc, char *argv[])
                 string = getwindow ("New directory", winscreen, MAXFNAME / 2, MAXFNAME, NULL);
                 if (string) {
                     char *dest = strdupcat (dirname[panel], SEPARATOR, string, NULL);
-                    if (MKDIR (dest) != 0) {
-                        msgwindow ("Can't create directory", winscreen, 0);
+                    char *msg = processmkdir (dest);
+                    if (msg) {
+                        msgwindow (msg, winscreen, 0);
                         getch ();
+                        free (msg);
                     }
                     free (dest);
                     freelist (list[panel]);
                     list[panel] = NULL;
-                    free (string);
                 }
+                free (string);
                 break;
             case ALT_Q: /* quit */
                 if (askwindow (" Restart (Y/N) ", winscreen, "Yy", "Nn") == 1) {
index dbbcc4c57eb942ba58b387b157c8e3905275006d..2f991cbe9ecee81646d115f3f0c22e3cc8630cf6 100644 (file)
@@ -495,6 +495,17 @@ char *processdelete (char *name)
     return msg;
 }
 
+char *processmkdir (char *name)
+{
+    char *msg = NULL;
+
+    if (MKDIR (name) != 0) {
+        msg = strdupcat ("Can't create directory '", name, "'", NULL);
+    }
+
+    return msg;
+}
+
 char *processmove (char *dest, char *src)
 {
     char *msg = NULL;
index 70e4eba136cfa1899d4682f938211c0f209ed44e..01f7b167e32d5fbd94e3a603004e755e4dd150c4 100644 (file)
@@ -51,6 +51,8 @@ char *processcopy (char *dest, char *src);
 
 char *processdelete (char *src);
 
+char *processmkdir (char *name);
+
 char *processmove (char *dest, char *src);
 
 #endif /* __FUNCTION_H__ */