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
|
/*
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2004 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.0 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_0.txt. |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Author: Sascha Schumann <sascha@schumann.cx> |
+----------------------------------------------------------------------+
*/
/* $Id$ */
#ifndef URI_SCANNER_H
#define URI_SCANNER_H
int php_url_scanner_activate(TSRMLS_D);
int php_url_scanner_deactivate(TSRMLS_D);
char *url_adapt(const char *src, size_t srclen, const char *data, size_t *newlen);
enum url_state {
STATE_NORMAL,
STATE_TAG_START,
STATE_TAG,
STATE_IN_TAG,
STATE_TAG_ATTR,
STATE_TAG_IS,
STATE_TAG_IS2,
STATE_TAG_VAL,
STATE_TAG_VAL2,
STATE_TAG_QVAL1,
STATE_TAG_QVAL2,
STATE_TAG_QVAL2b
};
typedef struct url_adapt_struct {
enum url_state state;
char *tag;
char *attr;
char *val;
char delim;
char *p;
int l, ml;
int attr_done;
} url_adapt_state_t;
#endif
|