From: Laurent MAZET Date: Wed, 15 Jan 2025 10:59:43 +0000 (+0100) Subject: clean processmkdir X-Git-Tag: v1.0~40 X-Git-Url: https://secure.softndesign.org/git/?a=commitdiff_plain;h=7d7c44d28901aed43204bb4b772bfc4a07d01023;p=fm.git clean processmkdir --- diff --git a/fm.c b/fm.c index bb94582..6589741 100644 --- 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) { diff --git a/function.c b/function.c index dbbcc4c..2f991cb 100644 --- a/function.c +++ b/function.c @@ -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; diff --git a/function.h b/function.h index 70e4eba..01f7b16 100644 --- a/function.h +++ b/function.h @@ -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__ */