| modification, are permitted provided that the conditions mentioned |
| in the accompanying LICENSE file are met. |
+--------------------------------------------------------------------+
- | Copyright (c) 2004-2011, Michael Wallner <mike@php.net> |
+ | Copyright (c) 2004-2014, Michael Wallner <mike@php.net> |
+--------------------------------------------------------------------+
*/
-#include "php_http.h"
+#include "php_http_api.h"
-PHP_HTTP_API php_http_strlist_iterator_t *php_http_strlist_iterator_init(php_http_strlist_iterator_t *iter, const char list[], unsigned factor)
+php_http_strlist_iterator_t *php_http_strlist_iterator_init(php_http_strlist_iterator_t *iter, const char list[], unsigned factor)
{
if (!iter) {
iter = emalloc(sizeof(*iter));
return iter;
}
-PHP_HTTP_API const char *php_http_strlist_iterator_this(php_http_strlist_iterator_t *iter, unsigned *id)
+const char *php_http_strlist_iterator_this(php_http_strlist_iterator_t *iter, unsigned *id)
{
if (id) {
- *id = iter->major * iter->factor + iter->minor;
+ *id = (iter->major + 1) * iter->factor + iter->minor;
}
return iter->p;
}
-PHP_HTTP_API const char *php_http_strlist_iterator_next(php_http_strlist_iterator_t *iter)
+const char *php_http_strlist_iterator_next(php_http_strlist_iterator_t *iter)
{
if (*iter->p) {
while (*iter->p) {
if (!*iter->p) {
++iter->p;
++iter->major;
+ iter->minor = 0;
}
}
return iter->p;
}
-PHP_HTTP_API void php_http_strlist_iterator_dtor(php_http_strlist_iterator_t *iter)
+void php_http_strlist_iterator_dtor(php_http_strlist_iterator_t *iter)
{
}
-PHP_HTTP_API void php_http_strlist_iterator_free(php_http_strlist_iterator_t **iter)
+void php_http_strlist_iterator_free(php_http_strlist_iterator_t **iter)
{
if (*iter) {
efree(*iter);
}
}
-PHP_HTTP_API const char *php_http_strlist_find(const char list[], unsigned factor, unsigned item)
+const char *php_http_strlist_find(const char list[], unsigned factor, unsigned item)
{
unsigned M = 0, m = 0, major, minor;
const char *p = &list[0];