Index: third_party/twisted_8_1/twisted/protocols/_c_urlarg.c |
diff --git a/third_party/twisted_8_1/twisted/protocols/_c_urlarg.c b/third_party/twisted_8_1/twisted/protocols/_c_urlarg.c |
deleted file mode 100644 |
index 15c999651d1eb119820b859d3a14e349ee69f9b0..0000000000000000000000000000000000000000 |
--- a/third_party/twisted_8_1/twisted/protocols/_c_urlarg.c |
+++ /dev/null |
@@ -1,146 +0,0 @@ |
-/* |
- * Copyright (c) 2001-2004 Twisted Matrix Laboratories. |
- * See LICENSE for details. |
- |
- * |
- */ |
-/* _c_urlarg.c */ |
- |
-#ifdef __cplusplus |
-extern "C" { |
-#endif |
-#include <Python.h> |
-#include <cStringIO.h> |
-#ifdef __cplusplus |
-} |
-#endif |
- |
-#ifdef __GNUC__ |
-# define TM_INLINE inline |
-#else |
-# define TM_INLINE /* */ |
-#endif |
- |
-static PyObject* UrlargError; |
- |
-#define OUTPUTCHAR(c,n) PycStringIO->cwrite(output, c, n) |
- |
-#define STATE_INITIAL 0 |
-#define STATE_PERCENT 1 |
-#define STATE_HEXDIGIT 2 |
- |
-#define NOT_HEXDIGIT 255 |
-unsigned char hexdigits[256]; |
- |
-TM_INLINE int ishexdigit(unsigned char c) { |
- return hexdigits[c]; |
-} |
- |
-static PyObject *unquote(PyObject *self, PyObject *args, PyObject *kwargs) |
-{ |
- unsigned char *s, *r, *end; |
- unsigned char quotedchar, quotedchartmp = 0, tmp; |
- unsigned char escchar = '%'; /* the character we use to begin %AB sequences */ |
- static char *kwlist[] = {"s", "escchar", NULL}; |
- int state = STATE_INITIAL, length; |
- PyObject *output, *str; |
- if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s#|c:unquote", kwlist, &s, &length, &escchar)) { |
- return NULL; |
- } |
- /* output = cStringIO() */ |
- output = PycStringIO->NewOutput(length); |
- if (output == NULL) { |
- return NULL; |
- } |
- end = s + length; |
- s = s - 1; |
- while ((++s) < end) { |
- switch(state) { |
- case STATE_INITIAL: |
- if (*s == escchar) { |
- state = STATE_PERCENT; |
- } else { |
- r = s - 1; |
- while (*(++r) != escchar && r < end); |
- OUTPUTCHAR(s, r-s); |
- s = r-1; |
- } |
- break; |
- case STATE_PERCENT: |
- if ((quotedchartmp = ishexdigit(*s)) != NOT_HEXDIGIT) { |
- tmp = *s; |
- state = STATE_HEXDIGIT; |
- } else { |
- state = STATE_INITIAL; |
- OUTPUTCHAR(&escchar, 1); |
- s--; |
- } |
- break; |
- case STATE_HEXDIGIT: |
- state = STATE_INITIAL; |
- if ((quotedchar = ishexdigit(*s)) != NOT_HEXDIGIT) { |
- quotedchar |= (quotedchartmp << 4); |
- OUTPUTCHAR("edchar, 1); |
- } else { |
- OUTPUTCHAR(&escchar, 1); |
- s -= 2; |
- } |
- break; |
- } |
- } |
- switch(state) { |
- case STATE_PERCENT: |
- OUTPUTCHAR(&escchar, 1); |
- break; |
- case STATE_HEXDIGIT: |
- OUTPUTCHAR(&escchar, 1); |
- OUTPUTCHAR(&tmp, 1); |
- break; |
- } |
- |
- /* return output.getvalue() */ |
- str = PycStringIO->cgetvalue(output); |
- Py_DECREF(output); |
- return str; |
-} |
- |
-static PyMethodDef _c_urlarg_methods[] = { |
- {"unquote", (PyCFunction)unquote, METH_VARARGS|METH_KEYWORDS}, |
- {NULL, NULL} /* sentinel */ |
-}; |
- |
-DL_EXPORT(void) init_c_urlarg(void) |
-{ |
- PyObject* m; |
- PyObject* d; |
- unsigned char i; |
- |
- PycString_IMPORT; |
- m = Py_InitModule("_c_urlarg", _c_urlarg_methods); |
- d = PyModule_GetDict(m); |
- |
- /* add our base exception class */ |
- UrlargError = PyErr_NewException("urlarg.UrlargError", PyExc_Exception, NULL); |
- PyDict_SetItemString(d, "UrlargError", UrlargError); |
- |
- /* initialize hexdigits */ |
- for(i = 0; i < 255; i++) { |
- hexdigits[i] = NOT_HEXDIGIT; |
- } |
- hexdigits[255] = NOT_HEXDIGIT; |
- for(i = '0'; i <= '9'; i++) { |
- hexdigits[i] = i - '0'; |
- } |
- for(i = 'a'; i <= 'f'; i++) { |
- hexdigits[i] = 10 + (i - 'a'); |
- } |
- for(i = 'A'; i <= 'F'; i++) { |
- hexdigits[i] = 10 + (i - 'A'); |
- } |
- /* Check for errors */ |
- if (PyErr_Occurred()) { |
- PyErr_Print(); |
- Py_FatalError("can't initialize module _c_urlarg"); |
- } |
-} |
- |