Lines Matching refs:ctx

47 	url_adapt_state_ex_t *ctx;
52 ctx = &BG(url_adapt_state_ex);
56 if (ctx->tags)
57 zend_hash_destroy(ctx->tags);
59 ctx->tags = malloc(sizeof(HashTable));
60 if (!ctx->tags) {
65 zend_hash_init(ctx->tags, 0, NULL, NULL, 1);
83 zend_hash_add(ctx->tags, key, keylen, val, strlen(val)+1, NULL);
178 static inline void tag_arg(url_adapt_state_ex_t *ctx, char quotes, char type TSRMLS_DC)
182 if (strncasecmp(ctx->arg.c, ctx->lookup_data, ctx->arg.len) == 0)
186 smart_str_appendc(&ctx->result, type);
188 append_modified_url(&ctx->val, &ctx->result, &ctx->url_app, PG(arg_separator).output TSRMLS_CC);
190 smart_str_append(&ctx->result, &ctx->val);
193 smart_str_appendc(&ctx->result, type);
210 #define STATE ctx->state
212 #define STD_PARA url_adapt_state_ex_t *ctx, char *start, char *YYCURSOR TSRMLS_DC
213 #define STD_ARGS ctx, start, xp TSRMLS_CC
224 smart_str_appendl(&ctx->result, start, YYCURSOR - start);
236 if (ctx->form_app.len > 0) {
237 switch (ctx->tag.len) {
239 if (!strncasecmp(ctx->tag.c, "form", sizeof("form") - 1)) {
242 if (doit && ctx->val.c && ctx->lookup_data && *ctx->lookup_data) {
243 char *e, *p = zend_memnstr(ctx->val.c, "://", sizeof("://") - 1, ctx->val.c + ctx->val.len);
245 e = memchr(p, '/', (ctx->val.c + ctx->val.len) - p);
247 e = ctx->val.c + ctx->val.len;
249 if ((e - p) && strncasecmp(p, ctx->lookup_data, (e - p))) {
257 if (!strncasecmp(ctx->tag.c, "fieldset", sizeof("fieldset") - 1)) {
264 smart_str_append(&ctx->result, &ctx->form_app);
280 ctx->tag.len = 0;
281 smart_str_appendl(&ctx->tag, start, YYCURSOR - start);
282 for (i = 0; i < ctx->tag.len; i++)
283 ctx->tag.c[i] = tolower((int)(unsigned char)ctx->tag.c[i]);
284 if (zend_hash_find(ctx->tags, ctx->tag.c, ctx->tag.len, (void **) &ctx->lookup_data) == SUCCESS)
291 ctx->arg.len = 0;
292 smart_str_appendl(&ctx->arg, start, YYCURSOR - start);
297 smart_str_setl(&ctx->val, start + quotes, YYCURSOR - start - quotes * 2);
298 tag_arg(ctx, quotes, type TSRMLS_CC);
301 static inline void xx_mainloop(url_adapt_state_ex_t *ctx, const char *newdata, size_t newlen TSRMLS…
308 smart_str_appendl(&ctx->buf, newdata, newlen);
310 YYCURSOR = ctx->buf.c;
311 YYLIMIT = ctx->buf.c + ctx->buf.len;
378 …scdebug(("stopped in state %d at pos %d (%d:%c) %d\n", STATE, YYCURSOR - ctx->buf.c, *YYCURSOR, *Y…
382 if (rest) memmove(ctx->buf.c, start, rest);
383 ctx->buf.len = rest;
411 url_adapt_state_ex_t *ctx;
414 ctx = &BG(url_adapt_state_ex);
416 xx_mainloop(ctx, src, srclen TSRMLS_CC);
418 *newlen = ctx->result.len;
419 if (!ctx->result.c) {
420 smart_str_appendl(&ctx->result, "", 0);
422 smart_str_0(&ctx->result);
424 smart_str_appendl(&ctx->result, ctx->buf.c, ctx->buf.len);
425 *newlen += ctx->buf.len;
426 smart_str_free(&ctx->buf);
428 retval = ctx->result.c;
429 ctx->result.c = NULL;
430 ctx->result.len = 0;
436 url_adapt_state_ex_t *ctx;
438 ctx = &BG(url_adapt_state_ex);
440 memset(ctx, 0, ((size_t) &((url_adapt_state_ex_t *)0)->tags));
447 url_adapt_state_ex_t *ctx;
449 ctx = &BG(url_adapt_state_ex);
451 smart_str_free(&ctx->result);
452 smart_str_free(&ctx->buf);
453 smart_str_free(&ctx->tag);
454 smart_str_free(&ctx->arg);
471 url_adapt_state_ex_t *ctx = &BG(url_adapt_state_ex);
472 if (ctx->buf.len) {
473 smart_str_appendl(&ctx->result, ctx->buf.c, ctx->buf.len);
474 smart_str_appendl(&ctx->result, output, output_len);
476 *handled_output = ctx->result.c;
477 *handled_output_len = ctx->buf.len + output_len;
479 ctx->result.c = NULL;
480 ctx->result.len = 0;
481 smart_str_free(&ctx->buf);