mc/lib
Mooffie 0e89375772 Ticket #3617: (mc_open): handle varargs mode_t promotion issue.
On systems where 'mode_t' is smaller than 'int', doing 'va_arg (ap, mode_t)' is
wrong because of C's "default argument promotions". GCC 4 creates crashing code
in this case.

The "va_arg" page of Gnulib's manual describes the problem and a simple solution:

    https://www.gnu.org/software/gnulib/manual/html_node/va_005farg.html

However, since that solution reportedly (see thread at next link) still causes
GCC to print warnings (for no good reason; perhaps this was fixed in newer
GCCs), we pick a solution that defines a PROMOTED_MODE_T at the configuration
stage:

    https://lists.gnu.org/archive/html/bug-gnulib/2009-05/msg00231.html

(We take our 'mode_t.m4' from the most recent Gnulib source.)

(If any of the URLs above no longer works, simply search the web for the
mentioned words.)
2016-03-28 08:59:14 +03:00
..
event Clarify AM_CPPFLAGS. 2016-03-04 09:23:36 +03:00
filehighlight filehighlight: clarify includes. 2016-03-04 09:23:36 +03:00
mcconfig Update copyright years. 2016-01-01 11:48:10 +03:00
search Ticket #3491: fix case insensitive search in non-unicode locales. 2016-02-02 09:37:15 +03:00
skin Clarify AM_CPPFLAGS. 2016-03-04 09:23:36 +03:00
strutil Update copyright years. 2016-01-01 11:48:10 +03:00
tty Update copyright years. 2016-01-01 11:48:10 +03:00
vfs Ticket #3617: (mc_open): handle varargs mode_t promotion issue. 2016-03-28 08:59:14 +03:00
widget Clarify send of MSG_NOTIFY. 2016-03-12 14:49:40 +03:00
charsets.c Update copyright years. 2016-01-01 11:48:10 +03:00
charsets.h Core, mceditor, mcviewer and mcdiffviewer code tweak and cleanup 2012-06-25 16:58:57 +04:00
event-types.h Reimplement handling of ev_vfs_print_message_t message. 2015-11-05 14:33:21 +03:00
event.h Event system: added addition parameter event_init_data to mc_event_del() function. 2011-06-21 16:13:10 +04:00
filehighlight.h filehighlight: clarify includes. 2016-03-04 09:23:36 +03:00
fileloc.h Ticket #2625: mc does not preserve file mtime when copying over ssh 2011-12-12 11:51:25 +03:00
fs.h Ticket #3464: (compute_namelen): remove... 2015-05-24 17:59:18 +03:00
glibcompat.c Update copyright years. 2016-01-01 11:48:10 +03:00
glibcompat.h Remove GLib-compatible code related to GLib < 2.26. 2016-01-01 11:48:06 +03:00
global.c Update copyright years. 2016-01-01 11:48:10 +03:00
global.h Remove unneeded struct keyword for typedef'd structs 2016-03-04 09:23:38 +03:00
hook.c Update copyright years. 2016-01-01 11:48:10 +03:00
hook.h fixed doxygen documentation 2012-09-10 14:29:53 +03:00
keybind.c Update copyright years. 2016-01-01 11:48:10 +03:00
keybind.h Use signed long instead of unsigned long for binded actions. 2016-01-01 11:48:08 +03:00
lock.c Remove unneeded struct keyword for typedef'd structs 2016-03-04 09:23:38 +03:00
lock.h Changed lock_file() and unlock_file() functions 2012-03-06 11:52:30 +03:00
logging.c Update copyright years. 2016-01-01 11:48:10 +03:00
logging.h Clarify __attribute ((format (printf))) usage. 2015-11-05 14:33:20 +03:00
Makefile.am Clarify AM_CPPFLAGS. 2016-03-04 09:23:36 +03:00
mcconfig.h (mc_config_get_string_list): clarify usage. 2014-07-22 13:12:06 +04:00
search.h Use STR_E_NOTFOUND message where required. 2016-01-01 11:48:08 +03:00
serialize.c Use meaningful errno or 0. 2016-02-02 09:42:51 +03:00
serialize.h Added ability to serialize/deserialize strings and config objects(mc_config_t) 2011-06-23 14:45:00 +03:00
shell.c (mc_shell_recognize_path): clarify duplicate comments 2016-03-17 09:24:11 +03:00
shell.h Add mc_shell_init() and mc_shell_deinit() functions. 2016-01-01 11:48:06 +03:00
skin.h Ticket #3204: As user, I want to use own default colors for viewer. 2014-05-07 23:03:33 +03:00
strescape.h Code indentation in lib directory 2010-11-24 10:27:20 +03:00
strutil.h Clarify __attribute ((format (printf))) usage. 2015-11-05 14:33:20 +03:00
timefmt.c Update copyright years. 2016-01-01 11:48:10 +03:00
timefmt.h Moved time related stuff from lib/util.[ch] into lib/timefmt.[ch]. 2010-11-24 10:27:47 +03:00
timer.c Update copyright years. 2016-01-01 11:48:10 +03:00
timer.h Ticket #2136: implement user-friendly interruption of long-time operations. 2014-07-22 13:40:30 +04:00
unixcompat.h Use #ifdef for autoconf provided marcos... 2015-05-03 19:43:48 +03:00
util.c (load_mc_home_file): return data length. 2016-03-04 09:23:36 +03:00
util.h (load_mc_home_file): return data length. 2016-03-04 09:23:36 +03:00
utilunix.c Remove unneeded struct keyword for typedef'd structs 2016-03-04 09:23:38 +03:00
utilunix.h Lib: removed includes to "src" directory 2011-03-21 23:55:52 +02:00
widget.h Rename Dlg_head to WDialog. 2012-11-19 21:42:47 +04:00