X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=progs%2Ftic.c;h=4d265eb1fed5a1ee55ce48ab6ba3338c232c30a8;hp=717a1fb35126bbb79b2544b03907c2c810d0d933;hb=7087871f804c061d339994964269f3c20e88f547;hpb=64f44b13d30e0a7bc2921a9d43755423f81564fd diff --git a/progs/tic.c b/progs/tic.c index 717a1fb3..4d265eb1 100644 --- a/progs/tic.c +++ b/progs/tic.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. * + * Copyright (c) 1998-2012,2013 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 * @@ -46,7 +46,7 @@ #include #include -MODULE_ID("$Id: tic.c,v 1.180 2012/12/08 22:17:22 tom Exp $") +MODULE_ID("$Id: tic.c,v 1.186 2013/06/08 16:50:47 tom Exp $") #define STDIN_NAME "" @@ -396,13 +396,17 @@ open_tempfile(char *filename) static FILE * copy_input(FILE *source, const char *filename, char *alt_file) { + char my_altfile[PATH_MAX]; FILE *result = 0; - FILE *target = open_tempfile(alt_file); + FILE *target = 0; int ch; + if (alt_file == 0) + alt_file = my_altfile; + if (source == 0) { failed("copy_input (source)"); - } else if (target == 0) { + } else if ((target = open_tempfile(alt_file)) == 0) { failed("copy_input (target)"); } else { clearerr(source); @@ -428,7 +432,7 @@ copy_input(FILE *source, const char *filename, char *alt_file) */ result = fopen(alt_file, "r+"); fclose(target); - to_remove = alt_file; + to_remove = strdup(alt_file); } return result; } @@ -552,7 +556,7 @@ matches(char **needle, const char *haystack) return (code); } -static const char * +static char * valid_db_path(const char *nominal) { struct stat sb; @@ -623,7 +627,7 @@ static void show_databases(const char *outdir) { bool specific = (outdir != 0) || getenv("TERMINFO") != 0; - const char *result; + char *result; const char *tried = 0; if (outdir == 0) { @@ -631,6 +635,7 @@ show_databases(const char *outdir) } if ((result = valid_db_path(outdir)) != 0) { printf("%s\n", result); + free(result); } else { tried = outdir; } @@ -638,6 +643,7 @@ show_databases(const char *outdir) if ((outdir = _nc_home_terminfo())) { if ((result = valid_db_path(outdir)) != 0) { printf("%s\n", result); + free(result); } else if (!specific) { tried = outdir; } @@ -1450,6 +1456,7 @@ uses_SGR_39_49(const char *value) static void check_screen(TERMTYPE *tp) { +#if NCURSES_XNAMES if (_nc_user_definable) { int have_XT = tigetflag("XT"); int have_XM = tigetflag("XM"); @@ -1501,6 +1508,7 @@ check_screen(TERMTYPE *tp) _nc_warning("Expected XT to be set, given kmous"); } } +#endif } /*