Пример #1
0
void print_word(Word* w)
{
	int i;

	for (i = 0; i < w->length; i++)
		print_sym(w->word[i]);
}
Пример #2
0
void
draw_map(int cx, int cy)
{
    int x, y, symcount, attr, cursx, cursy;
    unsigned int frame;
    struct curses_symdef syms[4];

    if (!display_buffer || !mapwin)
        return;

    getyx(mapwin, cursy, cursx);

    frame = 0;
    if (settings.blink)
        frame = get_milliseconds() / 666;

    for (y = 0; y < ROWNO; y++) {
        for (x = 1; x < COLNO; x++) {
            int bg_color = 0;

            /* set the position for each character to prevent incorrect
               positioning due to charset issues (IBM chars on a unicode term
               or vice versa) */
            wmove(mapwin, y, x - 1);

            symcount = mapglyph(&display_buffer[y][x], syms, &bg_color);
            attr = A_NORMAL;
            if (!(COLOR_PAIRS >= 113 || (COLORS < 16 && COLOR_PAIRS >= 57))) {
                /* we don't have background colors available */
                bg_color = 0;
                if (((display_buffer[y][x].monflags & MON_TAME) &&
                     settings.hilite_pet) ||
                    ((display_buffer[y][x].monflags & MON_DETECTED) &&
                     settings.use_inverse))
                    attr |= A_REVERSE;
            } else if (bg_color == 0) {
                /* we do have background colors available */
                if ((display_buffer[y][x].monflags & MON_DETECTED) &&
                    settings.use_inverse)
                    bg_color = CLR_MAGENTA;
                if ((display_buffer[y][x].monflags & MON_PEACEFUL) &&
                    settings.hilite_pet)
                    bg_color = CLR_BROWN;
                if ((display_buffer[y][x].monflags & MON_TAME) &&
                    settings.hilite_pet)
                    bg_color = CLR_BLUE;
            }
            print_sym(mapwin, &syms[frame % symcount], attr, bg_color);
        }
    }

    wmove(mapwin, cursy, cursx);
    wnoutrefresh(mapwin);
}
Пример #3
0
void
print_scope(D_Scope *st) {
    printf("SCOPE %X: ", (long)st);
    printf("  owned: %d, kind: %d, ", st->owned_by_user, st->kind);
    if (st->ll) printf("  LL\n");
    if (st->hash) printf("  HASH\n");
    if (st->hash) {
        int i;
        for (i = 0; i < st->hash->syms.n; i++)
            if (st->hash->syms.v[i])
                print_sym(st->hash->syms.v[i]);
    } else {
        D_Sym *ll = st->ll;
        while (ll) {
            print_sym(ll);
            ll = ll->next;
        }
    }
    printf("\n\n");
    if (st->search) print_scope(st->search);
}
Пример #4
0
static void
print_stacktrace(void)
{
	uintptr_t cur_stack[ERR_STACK_FRAMES];

	/*
	 * if we are in a signal context, checking for it will recurse
	 */
	uint_t nframes = getpcstack(cur_stack, ERR_STACK_FRAMES, 0);
	uint_t idx;

	if (nframes > SKIP_FRAMES) {
		umem_printf("stack trace:\n");

		for (idx = SKIP_FRAMES; idx < nframes; idx++) {
			(void) print_sym((void *)cur_stack[idx]);
			umem_printf("\n");
		}
	}
}
Пример #5
0
void mel_print( struct mel_value* value ) {
  if( value == 0 ) {
    printf("nil");
    return;
  }

  switch( value->mel_type ) {
    case mel_pairt:
      print_pair( value );
      break;
    case mel_intt:
      print_int( value );
      break;
    case mel_flot:
      print_float( value );
      break;
    case mel_symt:
      print_sym( value );
      break;
    case mel_strt:
      print_string( value );
      break;
    case mel_cfunt:
      print_cfunc( value );
      break;
    case mel_chart:
      print_char( value );
      break;
    case mel_lisp_funt:
      print_lispfun( value );
      break;
    case mel_true:
      printf("true");
      break;
    default:
      break;
  }
}