return "double";
case IS_STRING:
- return "native string";
+ return "binary string";
case IS_ARRAY:
return "array";
break;
case 's':
+ case 'S':
{
char **p = va_arg(*va, char **);
int *pl = va_arg(*va, int *);
}
/* break omitted intentionally */
+ case IS_UNICODE:
+ if (c == 'S') {
+ return "definitely a binary string";
+ }
+ /* fall through */
case IS_STRING:
case IS_LONG:
case IS_DOUBLE:
case IS_BOOL:
- case IS_UNICODE:
convert_to_string_ex(arg);
*p = Z_STRVAL_PP(arg);
*pl = Z_STRLEN_PP(arg);
*p = Z_STRVAL_PP(arg);
break;
} else {
- return "native string";
+ return "binary string";
}
}
}
case IS_ARRAY:
case IS_RESOURCE:
default:
- return "native string";
+ return "binary string";
}
}
break;
case 'u':
+ case 'U':
{
UChar **p = va_arg(*va, UChar **);
int *pl = va_arg(*va, int *);
/* break omitted intentionally */
case IS_STRING:
+ if (c == 'U') {
+ return "definitely a Unicode string";
+ }
+ /* fall through */
case IS_LONG:
case IS_DOUBLE:
case IS_BOOL:
case IS_ARRAY:
case IS_RESOURCE:
default:
- return "string (native, Unicode, or binary)";
+ return "string (Unicode or binary)";
}
break;
case IS_ARRAY:
case IS_RESOURCE:
default:
- return "string (native, Unicode, or binary)";
+ return "string (Unicode or binary)";
}
}
break;
case 'z': case 'Z':
case 't': case 'y':
case 'u': case 'C':
- case 'h':
+ case 'h': case 'U':
+ case 'S':
max_num_args++;
break;