~louis/ubuntu/trusty/clamav/lp799623_fix_logrotate

« back to all changes in this revision

Viewing changes to libclamav/c++/llvm/lib/Support/regex_impl.h

  • Committer: Bazaar Package Importer
  • Author(s): Scott Kitterman
  • Date: 2010-03-12 11:30:04 UTC
  • mfrom: (0.41.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20100312113004-b0fop4bkycszdd0z
Tags: 0.96~rc1+dfsg-0ubuntu1
* New upstream RC - FFE (LP: #537636):
  - Add OfficialDatabaseOnly option to clamav-base.postinst.in
  - Add LocalSocketGroup option to clamav-base.postinst.in
  - Add LocalSocketMode option to clamav-base.postinst.in
  - Add CrossFilesystems option to clamav-base.postinst.in
  - Add ClamukoScannerCount option to clamav-base.postinst.in
  - Add BytecodeSecurity opiton to clamav-base.postinst.in
  - Add DetectionStatsHostID option to clamav-freshclam.postinst.in
  - Add Bytecode option to clamav-freshclam.postinst.in
  - Add MilterSocketGroup option to clamav-milter.postinst.in
  - Add MilterSocketMode option to clamav-milter.postinst.in
  - Add ReportHostname option to clamav-milter.postinst.in
  - Bump libclamav SO version to 6.1.0 in libclamav6.install
  - Drop clamdmon from clamav.examples (no longer shipped by upstream)
  - Drop libclamav.a from libclamav-dev.install (not built by upstream)
  - Update SO version for lintian override for libclamav6
  - Add new Bytecode Testing Tool, usr/bin/clambc, to clamav.install
  - Add build-depends on python and python-setuptools for new test suite
  - Update debian/copyright for the embedded copy of llvm (using the system
    llvm is not currently feasible)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*-
 
2
 * This code is derived from OpenBSD's libc/regex, original license follows:
 
3
 *
 
4
 * Copyright (c) 1992 Henry Spencer.
 
5
 * Copyright (c) 1992, 1993
 
6
 *      The Regents of the University of California.  All rights reserved.
 
7
 *
 
8
 * This code is derived from software contributed to Berkeley by
 
9
 * Henry Spencer of the University of Toronto.
 
10
 *
 
11
 * Redistribution and use in source and binary forms, with or without
 
12
 * modification, are permitted provided that the following conditions
 
13
 * are met:
 
14
 * 1. Redistributions of source code must retain the above copyright
 
15
 *    notice, this list of conditions and the following disclaimer.
 
16
 * 2. Redistributions in binary form must reproduce the above copyright
 
17
 *    notice, this list of conditions and the following disclaimer in the
 
18
 *    documentation and/or other materials provided with the distribution.
 
19
 * 3. Neither the name of the University nor the names of its contributors
 
20
 *    may be used to endorse or promote products derived from this software
 
21
 *    without specific prior written permission.
 
22
 *
 
23
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 
24
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 
25
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 
26
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 
27
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 
28
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 
29
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 
30
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 
31
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 
32
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 
33
 * SUCH DAMAGE.
 
34
 *
 
35
 *      @(#)regex.h     8.1 (Berkeley) 6/2/93
 
36
 */
 
37
 
 
38
#ifndef _REGEX_H_
 
39
#define _REGEX_H_
 
40
 
 
41
#include <sys/types.h>
 
42
typedef off_t llvm_regoff_t;
 
43
typedef struct {
 
44
  llvm_regoff_t rm_so;          /* start of match */
 
45
  llvm_regoff_t rm_eo;          /* end of match */
 
46
} llvm_regmatch_t;
 
47
 
 
48
typedef struct llvm_regex {
 
49
  int re_magic;
 
50
  size_t re_nsub;               /* number of parenthesized subexpressions */
 
51
  const char *re_endp;  /* end pointer for REG_PEND */
 
52
  struct re_guts *re_g; /* none of your business :-) */
 
53
} llvm_regex_t;
 
54
 
 
55
/* llvm_regcomp() flags */
 
56
#define REG_BASIC       0000
 
57
#define REG_EXTENDED    0001
 
58
#define REG_ICASE       0002
 
59
#define REG_NOSUB       0004
 
60
#define REG_NEWLINE     0010
 
61
#define REG_NOSPEC      0020
 
62
#define REG_PEND        0040
 
63
#define REG_DUMP        0200
 
64
 
 
65
/* llvm_regerror() flags */
 
66
#define REG_NOMATCH      1
 
67
#define REG_BADPAT       2
 
68
#define REG_ECOLLATE     3
 
69
#define REG_ECTYPE       4
 
70
#define REG_EESCAPE      5
 
71
#define REG_ESUBREG      6
 
72
#define REG_EBRACK       7
 
73
#define REG_EPAREN       8
 
74
#define REG_EBRACE       9
 
75
#define REG_BADBR       10
 
76
#define REG_ERANGE      11
 
77
#define REG_ESPACE      12
 
78
#define REG_BADRPT      13
 
79
#define REG_EMPTY       14
 
80
#define REG_ASSERT      15
 
81
#define REG_INVARG      16
 
82
#define REG_ATOI        255     /* convert name to number (!) */
 
83
#define REG_ITOA        0400    /* convert number to name (!) */
 
84
 
 
85
/* llvm_regexec() flags */
 
86
#define REG_NOTBOL      00001
 
87
#define REG_NOTEOL      00002
 
88
#define REG_STARTEND    00004
 
89
#define REG_TRACE       00400   /* tracing of execution */
 
90
#define REG_LARGE       01000   /* force large representation */
 
91
#define REG_BACKR       02000   /* force use of backref code */
 
92
 
 
93
#ifdef __cplusplus
 
94
extern "C" {
 
95
#endif
 
96
 
 
97
int     llvm_regcomp(llvm_regex_t *, const char *, int);
 
98
size_t  llvm_regerror(int, const llvm_regex_t *, char *, size_t);
 
99
int     llvm_regexec(const llvm_regex_t *, const char *, size_t, 
 
100
                     llvm_regmatch_t [], int);
 
101
void    llvm_regfree(llvm_regex_t *);
 
102
size_t  llvm_strlcpy(char *dst, const char *src, size_t siz);
 
103
 
 
104
#ifdef __cplusplus
 
105
}
 
106
#endif
 
107
 
 
108
#endif /* !_REGEX_H_ */