/usr/include/libgoffice-0.8/goffice/utils/regutf8.h is in libgoffice-0.8-dev 0.8.17-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 | #ifndef GO_REGUTF8_H
#define GO_REGUTF8_H
#include <glib.h>
#include <glib-object.h>
/* -------------------------------------------------------------------------- */
G_BEGIN_DECLS
/*
* This enum snarfed from glibc. Insofar it is copyrightable, it is
* Copyright (C) 1985,1989-93,1995-98,2000,2001,2002,2003
* Free Software Foundation, Inc.
*/
enum {
GO_REG_NOERROR = 0, /* Success. */
GO_REG_NOMATCH, /* Didn't find a match (for regexec). */
/* POSIX regcomp return error codes. (In the order listed in the
standard.) */
GO_REG_BADPAT, /* Invalid pattern. */
GO_REG_ECOLLATE, /* Inalid collating element. */
GO_REG_ECTYPE, /* Invalid character class name. */
GO_REG_EESCAPE, /* Trailing backslash. */
GO_REG_ESUBREG, /* Invalid back reference. */
GO_REG_EBRACK, /* Unmatched left bracket. */
GO_REG_EPAREN, /* Parenthesis imbalance. */
GO_REG_EBRACE, /* Unmatched \{. */
GO_REG_BADBR, /* Invalid contents of \{\}. */
GO_REG_ERANGE, /* Invalid range end. */
GO_REG_ESPACE, /* Ran out of memory. */
GO_REG_BADRPT, /* No preceding re for repetition op. */
/* Error codes we've added. */
GO_REG_EEND, /* Premature end. */
GO_REG_ESIZE, /* Compiled pattern bigger than 2^16 bytes. */
GO_REG_ERPAREN /* Unmatched ) or \); not returned from regcomp. */
};
#define GO_REG_OK GO_REG_NOERROR
/* eflags bits. */
enum {
GO_REG_NOTBOL = 1,
GO_REG_NOTEOL = 2
};
/* cflags bits. */
enum {
GO_REG_EXTENDED = 1,
GO_REG_ICASE = 2,
GO_REG_NEWLINE = 4,
GO_REG_NOSUB = 8
};
/* Like POSIX' regex_t. */
typedef struct {
size_t re_nsub;
/*< private >*/
gboolean nosub;
void *ppcre;
} GORegexp;
/* Like POSIX' regoff_t. */
typedef int GORegoff;
/* Like POSIX' regmatch_t. */
typedef struct {
GORegoff rm_so, rm_eo;
} GORegmatch;
int go_regcomp (GORegexp * preg, const char *pattern, int cflags);
int go_regexec (const GORegexp * preg, const char *string, size_t nmatch,
GORegmatch pmatch[], int eflags);
size_t go_regerror (int errcode, const GORegexp * preg, char *errbuf,
size_t errbuf_size);
void go_regfree (GORegexp * preg);
/* -------------------------------------------------------------------------- */
#define GO_TYPE_SEARCH_REPLACE (go_search_replace_get_type ())
#define GO_SEARCH_REPLACE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GO_TYPE_SEARCH_REPLACE, GOSearchReplace))
#define GO_IS_SEARCH_REPLACE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GO_TYPE_SEARCH_REPLACE))
typedef struct _GoSearchReplace {
GObject base;
/*< public >*/
char *search_text;
char *replace_text;
GORegexp *comp_search;
gboolean is_regexp; /* Search text is a regular expression. */
gboolean ignore_case; /* Consider "a" and "A" the same. */
gboolean preserve_case; /* Like Emacs' case-replace. */
gboolean match_words; /* Like grep -w. */
/*< private >*/
gboolean plain_replace;
} GOSearchReplace;
typedef struct {
GObjectClass g_object_class;
} GOSearchReplaceClass;
GQuark go_search_replace_error_quark (void);
GType go_search_replace_get_type (void);
gboolean go_search_replace_verify (GOSearchReplace *sr, gboolean repl, GError **err);
gboolean go_search_match_string (GOSearchReplace *sr, const char *src);
char * go_search_replace_string (GOSearchReplace *sr, const char *src);
const char *go_regexp_quote1 (GString *target, const char *s);
void go_regexp_quote (GString *target, const char *s);
G_END_DECLS
#endif /* GO_REGUTF8_H */
|