| | 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 <= 4095 | 186 | | | | } |
| | 435 | | | | char *theme_format_expand_data(THEME_REC *theme, const char **format, | | | 436 | | | | char default_fg, char default_bg, | | | 437 | | | | char *save_last_fg, char *save_last_bg, | | | 438 | | | | int flags) | | | 439 | | | | { | | | 440 | | | | GString *str; | | | 441 | | | | char *ret, *abstract; | | | 442 | | | | char last_fg, last_bg; | | | 443 | | | | int recurse_flags; | | | 444 | | | | | | | 445 | | | | last_fg = default_fg; | | | 446 | | | | last_bg = default_bg; | | | 447 | | | | recurse_flags = flags & EXPAND_FLAG_RECURSIVE_MASK;
| | | 448 | | | | | | | 449 | | | | str = g_string_new(NULL);
| | | 450 | | | | while (**format != '\0') { | | | 451 | | | | if ((flags & EXPAND_FLAG_ROOT) == 0 && **format == '}') {
| | | 452 | | | | | | | 453 | | | | (*format)++; | | | 454 | | | | break; | | | 455 | | | | } | | | 456 | | | | | | | 457 | | | | if (**format != '{') { | | | 458 | | | | if ((flags & EXPAND_FLAG_LASTCOLOR_ARG) &&
| | | 459 | | | | **format == '$' && (*format)[1] == '0') { | | | 460 | | | | | | | 461 | | | | | | | 462 | | | | if (save_last_fg != NULL) {
| | | 463 | | | | *save_last_fg = last_fg; | | | 464 | | | | save_last_fg = NULL;
| | | 465 | | | | } | | | 466 | | | | if (save_last_bg != NULL) {
| | | 467 | | | | *save_last_bg = last_bg; | | | 468 | | | | save_last_bg = NULL;
| | | 469 | | | | } | | | 470 | | | | } | | | 471 | | | | | | | 472 | | | | theme_format_append_next(theme, str, format, | | | 473 | | | | default_fg, default_bg, | | | 474 | | | | &last_fg, &last_bg, | | | 475 | | | | recurse_flags); | | | 476 | | | | continue; | | | 477 | | | | } | | | 478 | | | | | | | 479 | | | | (*format)++; | | | 480 | | | | if (**format == '\0' || **format == '}') | | | 481 | | | | break; | | | 482 | | | | | | | 483 | | | | | | | 484 | | | | abstract = theme_format_expand_abstract(theme, format, | | | 485 | | | | last_fg, last_bg, |
|