| | 171 | | | | void *(SV *o) | | | 172 | | | | { | | | 173 | | | | SV **sv; | | | 174 | | | | HV *hv; | | | 175 | | | | void *p; | | | 176 | | | | | | | 177 | | | | hv = hvref(o);
| | | 178 | | | | if (hv == NULL)
| | true | 179 | | | | return NULL;
| | | 180 | | | | | | | 181 | | | | sv = hv_fetch(hv, "", 6, 0);
| /usr/lib/perl5/5.10.0/i586-linux-thread-multi/CORE/embed.h | | 2567 | #define hv_common_key_len(a,b,c,d,e,f) Perl_hv_common_key_len(aTHX_ a,b,c,d,e,f) |
| | | 182 | | | | if (sv == NULL)
| | | 183 | | | | croak("variable is damaged");
| | | 184 | | | | p = GINT_TO_POINTER(SvIV(*sv));
| | | 185 | | | | return p; | | irssi_ref_object$return <= 4067 | 186 | | | | } |
| | 204 | | | | | | | | static char *printtext_get_args(TEXT_DEST_REC *dest, const char *str, | | | 205 | | | | | | | | va_list va) | | | 206 | | | | | | | | { | | | 207 | | | | | | | | GString *out; | | | 208 | | | | | | | | char *ret; | | | 209 | | | | | | | | | | | 210 | | | | | | | | out = g_string_new(NULL);
| | | 211 | | | | | | | | for (; *str != '\0'; str++) { | | | 212 | | | | | | | | if (*str != '%') { | | | 213 | | | | | | | | g_string_append_c(out, *str);
| | | 214 | | | | | | | | continue; | | | 215 | | | | | | | | } | | | 216 | | | | | | | | | | | 217 | | | | | | | | if (*++str == '\0') | | | 218 | | | | | | | | break; | | | 219 | | | | | | | | | | | 220 | | | | | | | | | | | 221 | | | | | | | | switch (*str) { | | | 222 | | | | | | | | case 's': { | | | 223 | | | | | | | | char *s = (char *) va_arg(va, char *);
| | | 224 | | | | | | | | if (s && *s) printtext_append_str(dest, out, s); | | | 225 | | | | | | | | break; | | | 226 | | | | | | | | } | | | 227 | | | | | | | | case 'd': { | | | 228 | | | | | | | | int d = (int) va_arg(va, int);
| | | 229 | | | | | | | | g_string_append_printf(out, "%d", d); | | | 230 | | | | | | | | break; | | | 231 | | | | | | | | } | | | 232 | | | | | | | | case 'f': { | | | 233 | | | | | | | | double f = (double) va_arg(va, double);
| | | 234 | | | | | | | | g_string_append_printf(out, "%0.2f", f); | | | 235 | | | | | | | | break; | | | 236 | | | | | | | | } | | | 237 | | | | | | | | case 'u': { | | | 238 | | | | | | | | unsigned int d = | | | 239 | | | | | | | | (unsigned int) va_arg(va, unsigned int);
| | | 240 | | | | | | | | g_string_append_printf(out, "%u", d); | | | 241 | | | | | | | | break; | | | 242 | | | | | | | | } | | | 243 | | | | | | | | case 'l': { | | | 244 | | | | | | | | long d = (long) va_arg(va, long);
| | | 245 | | | | | | | | | | | 246 | | | | | | | | if (*++str != 'd' && *str != 'u') { | | | 247 | | | | | | | | g_string_append_printf(out, "%ld", d); | | | 248 | | | | | | | | str--; | | | 249 | | | | | | | | } else { | | | 250 | | | | | | | | if (*str == 'd') | | | 251 | | | | | | | | g_string_append_printf(out, "%ld", d); | | | 252 | | | | | | | | else | | | 253 | | | | | | | | g_string_append_printf(out, "%lu", d); | | | 254 | | | | | | | | } | | | 255 | | | | | | | | break; | | | 256 | | | | | | | | } | | | 257 | | | | | | | | default: |
| | 104 | | | | | | | | | | int format_expand_styles(GString *out, const char **format, int *flags) | | | 105 | | | | | | | | | | { | | | 106 | | | | | | | | | | char *p, fmt; | | | 107 | | | | | | | | | | | | | 108 | | | | | | | | | | fmt = **format; | | | 109 | | | | | | | | | | switch (fmt) { | | | 110 | | | | | | | | | | case '{': | | | 111 | | | | | | | | | | case '}': | | | 112 | | | | | | | | | | case '%': | | | 113 | | | | | | | | | | | | | 114 | | | | | | | | | | g_string_append_c(out, fmt);
| | | 115 | | | | | | | | | | break; | | | 116 | | | | | | | | | | case 'U': | | | 117 | | | | | | | | | | | | | 118 | | | | | | | | | | g_string_append_c(out, 4);
| | | 119 | | | | | | | | | | g_string_append_c(out, FORMAT_STYLE_UNDERLINE);
| | | | | | | | | | | | | ... | | | 151 | | | | | | | | | | break; | | | 152 | | | | | | | | | | case '>': | | | 153 | | | | | | | | | | | | | 154 | | | | | | | | | | g_string_append_c(out, 4);
| | | 155 | | | | | | | | | | g_string_append_c(out, FORMAT_STYLE_CLRTOEOL);
| | | 156 | | | | | | | | | | break; | | | 157 | | | | | | | | | | case '#': | | | 158 | | | | | | | | | | g_string_append_c(out, 4);
| | | 159 | | | | | | | | | | g_string_append_c(out, FORMAT_STYLE_MONOSPACE);
| | | 160 | | | | | | | | | | break; | | | 161 | | | | | | | | | | case '[': | | | 162 | | | | | | | | | | |
|