static bool cmd_execute_generate_input_tag (const struct sieve_codegen_env *cgenv, struct sieve_ast_argument *arg, struct sieve_command *cmd) { if ( arg->parameters == NULL ) { sieve_opr_omitted_emit(cgenv->sblock); return TRUE; } return sieve_generate_argument_parameters(cgenv, cmd, arg); }
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; }