Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:42.1:Staging:C
less
less-429-terminate.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File less-429-terminate.patch of Package less
Index: edit.c =================================================================== --- edit.c.orig 2009-03-30 21:45:51.000000000 +0200 +++ edit.c 2009-06-03 15:20:08.000000000 +0200 @@ -152,7 +152,7 @@ back_textlist(tlist, prev) /* * Close the current input file. */ - static void + public void close_file() { struct scrpos scrpos; Index: funcs.h =================================================================== --- funcs.h.orig 2009-06-03 15:17:47.000000000 +0200 +++ funcs.h 2009-06-03 15:20:08.000000000 +0200 @@ -97,6 +97,7 @@ public void init_textlist (); public char * forw_textlist (); public char * back_textlist (); + public void close_file (); public int edit (); public int edit_ifile (); public int edit_list (); Index: signal.c =================================================================== --- signal.c.orig 2009-03-30 22:35:36.000000000 +0200 +++ signal.c 2009-06-03 15:20:08.000000000 +0200 @@ -37,6 +37,35 @@ extern int quit_on_intr; extern long jump_sline_fraction; /* + * Terminate signal handler. + */ + static RETSIGTYPE +terminate(type) + int type; +{ + /* + * run $LESSCLOSE if needed + */ + close_file(); + + /* + * Clean up the terminal. + */ +#ifdef SIGTTOU + LSIGNAL(SIGTTOU, SIG_IGN); +#endif + clear_bot(); + deinit(); + flush(); + raw_mode(0); +#ifdef SIGTTOU + LSIGNAL(SIGTTOU, SIG_DFL); +#endif + LSIGNAL(SIGTERM, SIG_DFL); + kill(getpid(), SIGTERM); +} + +/* * Interrupt signal handler. */ /* ARGSUSED*/ @@ -147,6 +176,7 @@ init_signals(on) * Set signal handlers. */ (void) LSIGNAL(SIGINT, u_interrupt); + (void) LSIGNAL(SIGTERM, terminate); #if MSDOS_COMPILER==WIN32C SetConsoleCtrlHandler(wbreak_handler, TRUE); #endif @@ -168,6 +198,7 @@ init_signals(on) * Restore signals to defaults. */ (void) LSIGNAL(SIGINT, SIG_DFL); + (void) LSIGNAL(SIGTERM, SIG_DFL); #if MSDOS_COMPILER==WIN32C SetConsoleCtrlHandler(wbreak_handler, FALSE); #endif
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor