1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
/* Copyright (c) 2002-2013 Pigeonhole authors, see the included COPYING file
*/
#include "lib.h"
#include "str.h"
#include "sieve-storage.h"
#include "sieve-storage-script.h"
#include "managesieve-common.h"
#include "managesieve-commands.h"
bool cmd_renamescript(struct client_command_context *cmd)
{
struct client *client = cmd->client;
struct sieve_storage *storage = client->storage;
const char *scriptname, *newname;
struct sieve_script *script;
/* <oldname> <newname> */
if (!client_read_string_args(cmd, 2, TRUE, &scriptname, &newname))
return FALSE;
script = sieve_storage_script_init(storage, scriptname);
if (script == NULL) {
client_send_storage_error(client, storage);
return TRUE;
}
if (sieve_storage_script_rename(script, newname) < 0)
client_send_storage_error(client, storage);
else
client_send_ok(client, "Renamescript completed.");
return TRUE;
}
|