ctx = SG(server_context);
r = ctx->r;
- if (arg_count == 3 && Z_STRVAL_PP(walk_to_top)) {
- while(r->prev) {
- r = r->prev;
- }
+ if (arg_count == 3) {
+ convert_to_boolean_ex(walk_to_top);
+ if (Z_LVAL_PP(walk_to_top)) {
+ while(r->prev) {
+ r = r->prev;
+ }
+ }
}
convert_to_string_ex(variable);
ctx = SG(server_context);
r = ctx->r;
- if (arg_count == 2 && Z_STRVAL_PP(walk_to_top)) {
- while(r->prev) {
- r = r->prev;
- }
+ if (arg_count == 2) {
+ convert_to_boolean_ex(walk_to_top);
+ if (Z_LVAL_PP(walk_to_top)) {
+ while(r->prev) {
+ r = r->prev;
+ }
+ }
}
convert_to_string_ex(variable);