diff options
Diffstat (limited to 'payloads/libpayload/curses/PDCurses-3.4/pdcurses/scr_dump.c')
-rw-r--r-- | payloads/libpayload/curses/PDCurses-3.4/pdcurses/scr_dump.c | 210 |
1 files changed, 0 insertions, 210 deletions
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/scr_dump.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/scr_dump.c deleted file mode 100644 index 6727ba36a2..0000000000 --- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/scr_dump.c +++ /dev/null @@ -1,210 +0,0 @@ -/* Public Domain Curses */ - -#include <curspriv.h> - -RCSID("$Id: scr_dump.c,v 1.30 2008/07/13 16:08:18 wmcbrine Exp $") - -/*man-start************************************************************** - - Name: scr_dump - - Synopsis: - int putwin(WINDOW *win, FILE *filep); - WINDOW *getwin(FILE *filep); - int scr_dump(const char *filename); - int scr_init(const char *filename); - int scr_restore(const char *filename); - int scr_set(const char *filename); - - Description: - getwin() reads window-related data previously stored in a file - by putwin(). It then creates and initialises a new window using - that data. - - putwin() writes all data associated with a window into a file, - using an unspecified format. This information can be retrieved - later using getwin(). - - scr_dump() writes the current contents of the virtual screen to - the file named by filename in an unspecified format. - - scr_restore() function sets the virtual screen to the contents - of the file named by filename, which must have been written - using scr_dump(). The next refresh operation restores the screen - to the way it looked in the dump file. - - In PDCurses, scr_init() does nothing, and scr_set() is a synonym - for scr_restore(). Also, scr_dump() and scr_restore() save and - load from curscr. This differs from some other implementations, - where scr_init() works with curscr, and scr_restore() works with - newscr; but the effect should be the same. (PDCurses has no - newscr.) - - Return Value: - On successful completion, getwin() returns a pointer to the - window it created. Otherwise, it returns a null pointer. Other - functions return OK or ERR. - - Portability X/Open BSD SYS V - putwin Y - getwin Y - scr_dump Y - scr_init Y - scr_restore Y - scr_set Y - -**man-end****************************************************************/ - -#include <stdlib.h> -#include <string.h> - -#define DUMPVER 1 /* Should be updated whenever the WINDOW struct is - changed */ - -int putwin(WINDOW *win, FILE *filep) -{ - static const char *marker = "PDC"; - static const unsigned char version = DUMPVER; - - PDC_LOG(("putwin() - called\n")); - - /* write the marker and the WINDOW struct */ - - if (filep && fwrite(marker, strlen(marker), 1, filep) - && fwrite(&version, 1, 1, filep) - && fwrite(win, sizeof(WINDOW), 1, filep)) - { - int i; - - /* write each line */ - - for (i = 0; i < win->_maxy && win->_y[i]; i++) - if (!fwrite(win->_y[i], win->_maxx * sizeof(chtype), 1, filep)) - return ERR; - - return OK; - } - - return ERR; -} - -WINDOW *getwin(FILE *filep) -{ - WINDOW *win; - char marker[4]; - int i, nlines, ncols; - - PDC_LOG(("getwin() - called\n")); - - if ( !(win = malloc(sizeof(WINDOW))) ) - return (WINDOW *)NULL; - - /* check for the marker, and load the WINDOW struct */ - - if (!filep || !fread(marker, 4, 1, filep) || strncmp(marker, "PDC", 3) - || marker[3] != DUMPVER || !fread(win, sizeof(WINDOW), 1, filep)) - { - free(win); - return (WINDOW *)NULL; - } - - nlines = win->_maxy; - ncols = win->_maxx; - - /* allocate the line pointer array */ - - if ( !(win->_y = malloc(nlines * sizeof(chtype *))) ) - { - free(win); - return (WINDOW *)NULL; - } - - /* allocate the minchng and maxchng arrays */ - - if ( !(win->_firstch = malloc(nlines * sizeof(int))) ) - { - free(win->_y); - free(win); - return (WINDOW *)NULL; - } - - if ( !(win->_lastch = malloc(nlines * sizeof(int))) ) - { - free(win->_firstch); - free(win->_y); - free(win); - return (WINDOW *)NULL; - } - - /* allocate the lines */ - - if ( !(win = PDC_makelines(win)) ) - return (WINDOW *)NULL; - - /* read them */ - - for (i = 0; i < nlines; i++) - { - if (!fread(win->_y[i], ncols * sizeof(chtype), 1, filep)) - { - delwin(win); - return (WINDOW *)NULL; - } - } - - touchwin(win); - - return win; -} - -int scr_dump(const char *filename) -{ - FILE *filep; - - PDC_LOG(("scr_dump() - called: filename %s\n", filename)); - - if (filename && (filep = fopen(filename, "wb")) != NULL) - { - int result = putwin(curscr, filep); - fclose(filep); - return result; - } - - return ERR; -} - -int scr_init(const char *filename) -{ - PDC_LOG(("scr_init() - called: filename %s\n", filename)); - - return OK; -} - -int scr_restore(const char *filename) -{ - FILE *filep; - - PDC_LOG(("scr_restore() - called: filename %s\n", filename)); - - if (filename && (filep = fopen(filename, "rb")) != NULL) - { - WINDOW *replacement = getwin(filep); - fclose(filep); - - if (replacement) - { - int result = overwrite(replacement, curscr); - delwin(replacement); - return result; - } - } - - return ERR; -} - -int scr_set(const char *filename) -{ - PDC_LOG(("scr_set() - called: filename %s\n", filename)); - - return scr_restore(filename); -} |