sieve_get_arg_type

March 26, 2020 Contributors

Name

sieve_get_arg_type — Return the type of the specified Sieve argument

Synopsis

#include "sieve/ecsieve.h"

| enum sieve_arg_type **sieve_get_arg_type** ( | args, |   |
|   | n); |   |

SIEVEARGS * <var class="pdparam">args</var>;
int <var class="pdparam">n</var>;

Description

Return the type of the specified Sieve argument.

Parameters

args

The argument list.

n

Which argument to examine, indexed from 0.

The type of a Sieve argument may not be known at compile time. Use this with caution during compile callbacks in extensions.

If you want to find out the type of argument returned by sieve_parse_args and its "%", "@" or "*" placeholders, use sieve_get_type_of_arg instead.

Return Values

This function returns one of the SIEVEARG_* constants. These constants are:

/* accessors for sieve args */
enum sieve_arg_type {
  SIEVEARG_BOGUS = 0,
  SIEVEARG_IS_STRING,
  SIEVEARG_IS_NUMBER,
  SIEVEARG_IS_STRINGLIST,
  SIEVEARG_IS_HASH,
  SIEVEARG_IS_TAG
};

Threading

It is legal to call this function in any thread.

See Also

Section 68.76, “SIEVEARGS (sieve_ast)”