File: sieve_err.c

package info (click to toggle)
kolab-cyrus-imapd 2.2.13-2
  • links: PTS
  • area: main
  • in suites: etch-m68k
  • size: 14,028 kB
  • ctags: 8,058
  • sloc: ansic: 83,921; sh: 36,867; perl: 3,994; makefile: 1,416; yacc: 949; awk: 302; lex: 249; asm: 214
file content (59 lines) | stat: -rw-r--r-- 1,400 bytes parent folder | download | duplicates (8)
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
/*
 * sieve_err.c:
 * This file is automatically generated; please do not edit it.
 */

#include <stdlib.h>

static const char * const text[] = {
	   "Generic Sieve error",
	   "Sieve interpretor not finalized",
	   "Parse error in Sieve script",
	   "Run-time error during Sieve execution",
	   "Internal error in Sieve subsystem",
	   "Memory exhausted in Sieve subsystem",
	   "Sieve action already taken",
    0
};

struct error_table {
    char const * const * msgs;
    long base;
    int n_msgs;
};
struct et_list {
    struct et_list *next;
    const struct error_table * table;
};
extern struct et_list *_et_list;

const struct error_table et_siev_error_table = { text, -1237848064L, 7 };

static struct et_list link = { 0, 0 };

void initialize_siev_error_table_r(struct et_list **list);
void initialize_siev_error_table(void);

void initialize_siev_error_table(void) {
    initialize_siev_error_table_r(&_et_list);
}

/* For Heimdal compatibility */
void initialize_siev_error_table_r(struct et_list **list)
{
    struct et_list *et, **end;

    for (end = list, et = *list; et; end = &et->next, et = et->next)
        if (et->table->msgs == text)
            return;
    et = malloc(sizeof(struct et_list));
    if (et == 0) {
        if (!link.table)
            et = &link;
        else
            return;
    }
    et->table = &et_siev_error_table;
    et->next = 0;
    *end = et;
}