static bool tst_vnotifym_generate (const struct sieve_codegen_env *cgenv, struct sieve_command *cmd) { sieve_operation_emit(cgenv->sblock, cmd->ext, &valid_notify_method_operation); /* Generate arguments */ return sieve_generate_arguments(cgenv, cmd, NULL); }
static bool tst_mailboxexists_generate (const struct sieve_codegen_env *cgenv, struct sieve_command *tst) { sieve_operation_emit(cgenv->sblock, tst->ext, &mailboxexists_operation); /* Generate arguments */ return sieve_generate_arguments(cgenv, tst, NULL); }
static bool cmd_fileinto_generate (const struct sieve_codegen_env *cgenv, struct sieve_command *cmd) { sieve_operation_emit(cgenv->sblock, cmd->ext, &fileinto_operation); /* Generate arguments */ return sieve_generate_arguments(cgenv, cmd, NULL); }
static bool tst_test_multiscript_generate (const struct sieve_codegen_env *cgenv, struct sieve_command *tst) { sieve_operation_emit(cgenv->sblock, tst->ext, &test_multiscript_operation); /* Generate arguments */ return sieve_generate_arguments(cgenv, tst, NULL); }
static bool tst_body_generate (const struct sieve_codegen_env *cgenv, struct sieve_command *cmd) { (void)sieve_operation_emit(cgenv->sblock, cmd->ext, &body_operation); /* Generate arguments */ return sieve_generate_arguments(cgenv, cmd, NULL); }
static bool tst_spamvirustest_generate (const struct sieve_codegen_env *cgenv, struct sieve_command *tst) { if ( sieve_command_is(tst, spamtest_test) ) sieve_operation_emit(cgenv->sblock, tst->ext, &spamtest_operation); else if ( sieve_command_is(tst, virustest_test) ) sieve_operation_emit(cgenv->sblock, tst->ext, &virustest_operation); else i_unreached(); /* Generate arguments */ return sieve_generate_arguments(cgenv, tst, NULL); }
static bool cmd_test_imap_metadata_generate (const struct sieve_codegen_env *cgenv, struct sieve_command *cmd) { /* Emit operation */ if ( sieve_command_is(cmd, cmd_test_imap_metadata_set) ) sieve_operation_emit (cgenv->sblock, cmd->ext, &test_imap_metadata_set_operation); else i_unreached(); /* Generate arguments */ if ( !sieve_generate_arguments(cgenv, cmd, NULL) ) return FALSE; return TRUE; }
static bool cmd_filter_generate (const struct sieve_codegen_env *cgenv, struct sieve_command *cmd) { sieve_operation_emit(cgenv->sblock, cmd->ext, &cmd_filter_operation); /* Emit is_test flag */ sieve_binary_emit_byte(cgenv->sblock, ( cmd->ast_node->type == SAT_TEST )); /* Generate arguments */ if ( !sieve_generate_arguments(cgenv, cmd, NULL) ) return FALSE; /* Emit a placeholder when the <arguments> argument is missing */ if ( sieve_ast_argument_next(cmd->first_positional) == NULL ) sieve_opr_omitted_emit(cgenv->sblock); return TRUE; }