mirror of
https://github.com/jarun/nnn.git
synced 2024-12-01 02:49:44 +00:00
Add an api to check if copying possible
This commit is contained in:
parent
0fb49390df
commit
2324e8e3e7
40
src/nnn.c
40
src/nnn.c
|
@ -855,6 +855,29 @@ static bool showcplist()
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool cpsafe()
|
||||||
|
{
|
||||||
|
/* Fail if copy file path not generated */
|
||||||
|
if (!g_cppath[0]) {
|
||||||
|
printmsg("copy file not found");
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Warn if selection not completed */
|
||||||
|
if (cfg.copymode) {
|
||||||
|
printmsg("finish selection first");
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Fail if copy file path isn't accessible */
|
||||||
|
if (access(g_cppath, R_OK) == -1) {
|
||||||
|
printmsg("empty selection list");
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
/* Initialize curses mode */
|
/* Initialize curses mode */
|
||||||
static bool initcurses(void)
|
static bool initcurses(void)
|
||||||
{
|
{
|
||||||
|
@ -3423,23 +3446,8 @@ nochange:
|
||||||
case SEL_MV:
|
case SEL_MV:
|
||||||
case SEL_RMMUL:
|
case SEL_RMMUL:
|
||||||
{
|
{
|
||||||
/* Fail if copy file path not generated */
|
if (!cpsafe())
|
||||||
if (!g_cppath[0]) {
|
|
||||||
printmsg("copy file not found");
|
|
||||||
goto nochange;
|
goto nochange;
|
||||||
}
|
|
||||||
|
|
||||||
/* Warn if selection not completed */
|
|
||||||
if (cfg.copymode) {
|
|
||||||
printmsg("finish selection first");
|
|
||||||
goto nochange;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Fail if copy file path isn't accessible */
|
|
||||||
if (access(g_cppath, R_OK) == -1) {
|
|
||||||
printmsg("empty selection list");
|
|
||||||
goto nochange;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (sel == SEL_CP) {
|
if (sel == SEL_CP) {
|
||||||
snprintf(g_buf, CMD_LEN_MAX,
|
snprintf(g_buf, CMD_LEN_MAX,
|
||||||
|
|
Loading…
Reference in a new issue