Use it for translated 'Topics:' message.
* gindex.pl: Use first line of man2hlp output as
translated 'Topics:' message if fourth argument
is empty string.
* Makefile.am (mc.hlp.ru): Use empty string as gindex.pl's
fourth argument.
* main.c (print_mc_usage): Add "stream" parameter to specify
file stream.
(process_args): Use print_mc_usage() with stdout as stream.
(handle_args): Use print_mc_usage() with stderr as stream.
(print_color_usage): Write to stdout.
Inform user about alformed regular expression.
(search_content): Use compiled regular expression.
(do_find): Eliminate `done'. Call regfree for compiled
content_pattern.
may take too much time to calculate it on VFS. Show "UP--DIR"
instead.
(string_file_size_brief): Remove ".." handling - it's now done
in string_file_size(). Show "SUB-DIR" for links to directories,
"SYMLINK" for other links.
was broken. Secondly, every developer should be able to add
this code when needed. Finally, there is no need to expose the
option to the user and translate it into 30 languages.
* subshell.h: Remove debug_subshell.
* subshell.c: Likewise.
* mad.[ch] (mad_get_current_dir): New function to use instead
of g_get_current_dir.
(mad_tempnam): Add file and line parameters.
(mad_alloc0): Make file parameter const.
(mad_realloc): Likewise.
(mad_strdup): Likewise.
(mad_strndup): Likewise.
(mad_free): Likewise.
(mad_finalize): Likewise.
(view_hook): Don't check that the file is regular - it's now
done in do_view_init(). This fixes update problem in quick view
when moving cursor from a regular file to a directory.
not fstat() because open() would hang on pipes. Avoid opening
the file twice.
(init_growing_view): Take file descriptor, not the filename.
(load_view_file): Likewise.
* filegui.c (file_mask_dialog): Cast mc_stat and mc_lstat to
mc_stat_fn to prevent warnings without VFS support.
* fileopctx.c (file_op_context_new): Likewise.
(get_line_at): New function. Returns malloc()ed null-terminated
line from file file_fd. Input is buffered in buf_size long
buffer.
(search_content): Don't use external egrep.
Use get_line_at and regexp.
are used to store file sizes.
* file.c: Likewise.
* file.h: Likewise.
* fileopctx.h: Likewise.
* tree.c: Likewise.
* filegui.c: Likewise.
(show_bar): Take "double" arguments. Normalize arguments of
gauge_set_value() before converting them to "int".
should only be called once, disable_mouse() and enable_mouse()
should be used later. Distinguish between disabled and
undetected mouse. Remove debugging stuff. Adjust all users.
* mouse.c: Implementation of the above.
* key.c: Don't use gpm_flag - check mouse_enabled instead.
because of "kmous" in terminfo. Setiing this flag means much
more than just mouse support. Recognize terminals beginning
with "rxvt" and set xterm_flag for them.
init_mouse() and shut_mouse(), since those functions decide
themselves what to do.
* layout.c (done_screen): Likewise.
* main.c (setup_mc): Likewise.
* text.c (edition_post_exec): Likewise.
(edition_pre_exec): Likewise.
* mouse.c (init_mouse): Use xmouse_seq instead of hardcoded
xterm mouse sequence.
* main.c (setup_post): Join with setup_mc().
(init_xterm_support): New function. Check mouse capability.
(OS_Setup): Remove parts that are now in init_xterm_support().
print_bytesize(). Don't assume English word ordering. Add
singular message when single block.
* win.c (print_bytesize): Remove.
(sprint_bytesize): Remove.
* win.h: Remove print_bytesize() and sprint_bytesize().
translatable message so it's shown in .po files to alert
translators. The message (translated) is used to set the start
column (so the available width) for some "truncatable" strings.
Reenable to make "mc -v" possible.
(do_nc): Call mc_maybe_editor_or_viewer() even if the editor
is not compiled in.
(argument_table) [!USE_INTERNAL_EDIT]: Disable "-e".
follow a GPM_DOWN event. Filter out events with unknown button
numbers, such as mouse wheel events.
(get_event): Return EV_NONE if xmouse_get_event() decided to
ignore the event.
(sort_box): Likewise.
(set_panel_filter): Likewise.
* option.c (init_configure): Likewise.
* menu.c (menubar_handle_key): Show help dependent on the active
menu.
main.h.
(load_file): Use fopen and fstat to prevent race conditions.
(size_trunc): Make suffix const array.
(strip_password): Make prefixes const array.
(file_date): Make fmt auto variable.
Don't use maintainer-only rules since mc.hlp won't be removed
now if perl is missing or gindex.pl fails.
* gindex.pl: Run man2hlp internally. Use files given as
arguments instead of stdin and stdout.
since gcc-2.7.2.1 on SunOS doesn't understand __extension__ and
checking for "long long" is not worth the trouble.
Reported by David Martin <dmartina@excite.es>
characters as octals, use command substitution.
(do_subshell_chdir): Use subshell_name_quote(). Don't change
terminal settings when the quoted path is sent to the shell -
it's now safe.
done_hotlist() and hotlist_done().
(hotlist_done): Set l_hotlist to NULL.
(add2hotlist): Load hotlist if it's neither loaded nor loading.
This fixes Ctrl-x h. Fix compiler warning.
len and vcs_name.
(check_file): Set console_minor to the minor device number of
the console. Disallow /dev/tty0.
(detect_console): Don't parse tty_name, instead make sure that
it corresponds to console_minor. Check console first. Fallback
to /dev/vcc/a* if /dev/vcsa* cannot be opened.
(save_console): Use console_minor.
(restore_console): Likewise.
* screen.c (prev_page_key): Don't require console_flag to be set
to use ctrl_pressed(), only require that HAVE_X is undefined.
(next_page_key): Likewise.
* widget.c (key_left): Don't limit functionality to Linux.
(key_right): Likewise.
* mountlist.c: Likewise. Fix condition when mount_list is
declared.
(fstype_to_string): Rename mount_list to mlist to avoid
confusion with the file-scoped static variable.
defined.
* fsusage.c: Rearrange the includes. Define HAVE_QNX_MOUNT
for old QNX and use it instead of __QNX__.
* mountlist.c: Likewise.
* keyxdef.c: Define HAVE_QNX_KEYS for old QNX and use it instead
of __QNX__.
copy_current_readlink() and copy_other_readlink().
Don't do anything with cmdline and command_prompt.
* screen.c [HAVE_X]: Disable panel_event(), chdir_other_panel()
and chdir_to_readlink(). Adjust all callers.
(panel_key) [HAVE_X]: Don't use command_prompt - always
start search on alphanumeric keys.
* setup.c [HAVE_X]: Disable save_layout(), load_layout(), struct
layout. Adjust all dependencies.
(query_callback) [HAVE_X]: Disable more code.
(listbox_refresh) [!HAVE_X]: Became a macro.
* hotlist.c (init_i18n_stuff): Mark cancel_but for translation.
* tree.c (tree_copy, tree_move): Possible memory leaking fixed.
(tree_keymap): Constified.
mc_home, but try localized version of that file first.
* util.h: Declare load_mc_home_file().
* help.c (interactive_display): Use load_mc_home_file(). If the
first argument is NULL assume mc.hlp.
* dlg.c (dialog_handle_key): Use interactive_display() without
specifying the help file.
* tree.c (tree_copy): Likewise.
* cmd.c (help_cmd): Likewise.
(get_random_hint): Use load_mc_home_file().
* charsets.c (translate_character): Warning fix.
(init_translation_table): Don't deal with printable.
This one is initialized by init_printable_table ().
(load_codepages_list): Use CHARSETS_INDEX.
* selcodepage.c (do_select_codepage): Messages marked for i18n.
* setup.c (load_setup): Eliminate errbuf. Fix error message.
They are declared in selcodepage.c.
* setup.c [USE_VFS]: Remove declarations for variables which are
declared in vfs/ftpfs.c.
(load_setup) [HAVE_CHARSET]: init_printable_table commented
out to enable compilation. Error strings tagged for translation.
(init_setup): Optimized.
* main.c [HAVE_CHARSET]: Don't use eight_bit_clean and
full_eight_bits. Use source_codepage and display_codepage to
deduce the terminal 8-bitness.
* main.h [HAVE_CHARSET]: Change to match main.c.
* setup.c [HAVE_CHARSET]: Implement saving and loading charset
settings.
* util.c (is_printable) [HAVE_CHARSET]: Use charset settings.
* view.c [HAVE_CHARSET]: Implement charset support.
From Walery Studennikov <hqsoftware@mail.ru>.
`x11_display' and `w' to `x11_window'. Make them static.
(init_textmode_x11_support): Include into init_key().
(done_textmode_x11_support): Include into done_key().
(k_dispose): Make static.
(s_dispose): Likewise.
* key.h: Remove init_textmode_x11_support() and
done_textmode_x11_support().
* main.c: Don't call init_textmode_x11_support() and
done_textmode_x11_support().
* widget.c [HAVE_X]: Likewise.
* main.c [HAVE_X]: Likewise. Don't call init_key() and
init_key_input_fd().
* setup.c [HAVE_X]: Remove some variables that make no sence
for the GNOME edition. Eliminate save_panel_types().
* view.c [!PORT_WANTS_VIEW]: Eliminate view_mode_callback().
associate the default colors with DEFAULT_COLOR_INDEX. The old
code would unset alternative charset without making S-Lang aware
of it.
Thanks to John E. Davis <davis@space.mit.edu>
* widget.c (update_input) [HAVE_SLANG]: Revert last change - it
is not needed now.
(shell): Remove comment and #ifdef around shell variable.
(process_args) [HAVE_SUBSHELL_SUPPORT]: All related args enclosed
between one #ifdef ... #endif pair.
(process_args): smbfs_set_debug () takes a debug level as argument,
commented out.
* vfs/sfs.c (shell): Variable moved to ...
* vfs/util-alone.c (shell): ... here'
mc_mkstemps(). Don't free it if mc_mkstemps() fails - it's not
needed anymore.
* user.c (execute_menu_command): Likewise.
* util.c (mc_mkstemps): Return NULL in the filename in the case
of failure. Remove support for NULL as the first argument.
From Andrew V. Samoilov.
* src/user.c (execute_menu_command): Use mc_mkstemps().
* src/util.c (mc_mkstemps): New function - safely create and
open temporary file. Return the handle and the name.
* src/util.h: Declarations for init_tmpdir() and mc_mkstemps().
Define TMPDIR_DEFAULT and SCRIPT_SUFFIX.
* vfs/direntry.c (vfs_s_open): Use mc_mkstemps. Create and close
temporary file to reserve its name on the filesystem.
(vfs_s_retrieve_file): Use mc_mkstemps().
(g_tempnam): Remove.
* vfs/extfs.c (extfs_open): Use mc_mkstemps().
* vfs/sfs.c (redirect): Likewise.
* vfs/shared_ftp_fish.c (_get_file_entry): Likewise.
(retrieve_file): Likewise.
* vfs/vfs.c (mc_def_getlocalcopy): Likewise.
* vfs/xdirentry.h: Remove declaration of g_tempnam().
when PORT_HAS_PAINT_FRAME in undefined.
* wtools.c (listbox_refresh): Disable for HAVE_X, define to
an empty macro instead.
(listbox_callback): Call listbox_refresh() regardless of HAVE_X.
(create_listbox_window): Likewise.
used by message () as printf pattern, so "%s" has to be added
if plain string must be shown but printf conversion
specification(s) may be there.
* view.c (do_view_init): ditto
* user.c (debug_out): ditto
* utilunux.c (close_error_pipe, check_error_pipe): ditto
* background.[ch], vfs/util-alone.c (message_1s): third parameter
constified
egrep_path hardcoded to "egrep" as it is done in locate_egrep ()
(locate_egrep): commented out
(rotating_dash) [!HAVE_X]: moved into do_search to prevent warning
for regexp '^' pattern also, fixed
(search) [HAVE_GNOME]: gnome_message_box_new don't expand printf
pattern, so g_strdup_printf used
* find.c (find_parameters): don't use stat structure if mc_stat failed
(invoke_subshell): ... this.
(init_subshell): Initialize raw_mode here instead of delayng it
until invoke_subshell(). Otherwise the current mode may have
been changed by edition_pre_exec(), which caused Ctrl-O to be
ignored on FreeBSD if a command has been run before switching
to the subshell.
execution for directory names containing 0x03 (intr) 0x14.
See http://www.securityfocus.com/vdb/?id=2016 for details.
Subshell still can't chdir to such directories :(
* subshell.[ch] (do_subshell_chdir): directory constified
for directory names containing 0x03 (intr) 0x14.
See http://www.securityfocus.com/vdb/?id=2016 for details.
Subshell still can't chdir to such directories
* directory parameter constified
it cannot be installed before mc on systems without symlinks.
* gtkedit/Makefile.in: Likewise.
* src/Makefile.in: Install mcedit (if enabled) and mcview.
Uninstall them.
take Midnight Commander. Go to directory that contains some
files. Press <+><CR><+><+><CR><CR><+><+><CR> (<+> being the grey one).
IOW, the first invalid regexp and we are toast - old_pattern is freed and
not reset to NULL. Next call of regexp_match() and we've got a double-free.
What's really pissing off is that caller takes care to tell you that
regexp is invalid. In large red window. I.e. they had added error reporting
and had _never_ given it a try, not to mention giving code a review. Sigh...
doing in binary file it ignore skipped zero(es), so cursor is before
searched expression and next search find the same string. Also regexp
search could return wrong results for '^ ?' expressions.
(get_line_at): skipped: new parameter for number of skipped zero(es)
(search): new features of get_line_at used.
doing in binary file it ignore skipped zero(es), so cursor is before
searched expression and next search find the same string. Also regexp
search could return wrong results for '^ ?' expressions.
(get_line_at): skipped: new parameter for number of skipped zero(es)
(search): new features of get_line_at used.
allowed luser to write '\0' char to any symlinkable file in Linux
system which don't ensure that fd's 0, 1, and 2 are open on startup
of a SUID/SGID binary.
Based on patch from bugtrack by Maurycy Prodeus <z33d@ETH-SECURITY.NET>.
flags moved out of CFLAGS as recommended by GNU coding
standards.
* configure.in: Don't add GLIB_CFLAGS to CFLAGS.
* Make.common.in: XINC eliminated. GLIB_CFLAGS is now added to
XCPPFLAGS.
* INSTALL (Random notes on porting to other architectures):
Completely rewritten. Recommended using CFLAGS instead of XINC.
"make distclean" breaks.
* edit/Makefile.in, gnome/Makefile.in, gtkedit/Makefile.in,
slang/Makefile.in, src/Makefile.in, vfs/Make-mc.in: $(RMF)
replaced with "rm -f" - the stangard says that "rm" is portable.
Ditto $(MV). Adjusted *clean targets to match those in
Automake. Removed "cross" target.
gtkedit/Makefile.in, slang/Makefile.in, src/Makefile.in,
vfs/Make-mc.in: preserve timestamp on "make distdir", otherwise
mc.pot becomes out of date in the tarball.
* main.c [HAVE_X]: print_mc_usage() and print_color_usage()
removed.
version() moved to ...
* features.inc: ... here, renamed to features.c
* main.h: status_using_ncurses moved to ...
* features.h: ... here
* cmd.c, text.c: include "features.h"
* cmd.h: include "panel.h"
* Makefile.in: changed to use features.h and features.c
* hotlist.c (done_hotlist): static tkn_buf, tkn_buf_length and
tkn_length nullified after tkn_buf is freed to prevent crushes.
(new_hotlist): became a macro
* background.c (real_message_[123]s): title is really prepended
by "Background process:" string now if mode == Background
(background_attention): resstr NULLified to prevent warning
* gpopup2.c (handle_empty_trash): Finished trash can. Now I just
need an icon.
2000-06-15 Jonathan Blandford <jrb@redhat.com>
* gpopup2.c: Add "Move to Trash" as an option to the popup menu.
Also, "Empty Trash" as appropriate.
* gscreen.c (file_list_popup): Removed New File command. It
wasn't working, and didn't do anything useful, anyways. Added
"Empty Trash" to the options for the menu.
* panel.h, util.[ch] (struct WPanel, size_trunc, size_trunc_sep): size
parameters and WPanel.total field became double, thus, total size
of selected files/directories is shown in the mini status correctly
when it exceeds 2 GB.
* slint.c (init_pair): segfault fixed when mcedit -b called
* user.c (check_format_var): error messages are localized
(expand_format, user_menu_cmd): memory leaking for %e and %k macro
fixed; segfault fixed when %m macro is used outside user_menu_cmd ()
* ext.c (regex_command): memory leaking fixed when user extension
file is absent
(exec_extension): error message for changed mc.ext file format
are localized -- does we really must be worry about mc 3.0 ?
* widget.c (history_put): counter is initialized again
* src/user.c: Add macro %k it is block file name
Add macro %e it is error file name
Add macro %i it is cursor column indent of spaces, only for edit
Add macro %y, it is syntax of current file in editor, only for edit
Add condition y , it is syntax pattern of current file in edit
Add macro %x it is extension of current file
Add macro %m it is current menu filename
2000-05-04 Valery Kornienkov <vlk@dimavb.st.simbirsk.su>
* gtkedit/editcmd.c: Modify External Formatter (was C indent formatter) .
Autocreate a scripts in home, from templates /usr/lib/mc/edit.indent.rc,
edit.ispell.rc, etc. Remove leading and trailing spaces into _(""),
(the message of David H. Martin <dmartina@usa.net>)
2000-05-05 Valery Kornienkov <vlk@dimavb.st.simbirsk.su>
* src/user.c: Add condition (x filename) into mc.menu .
for "Open next a free console" and like.
2000-05-04 Valery Kornienkov <vlk@dimavb.st.simbirsk.su>
src/user.c: fix segfault in chunk_alloc of glibc, when into condition
of .mnu we have quoted space. (~.mc/menu: + f \.\ test$).
2000-05-04 Valery Kornienkov <vlk@dimavb.st.simbirsk.su>
* gtkedit/edit.c:
Add ability user edit menus: system: /usr/lib/mc/cedit.menu,
* gtkedit/editmenu.c: home: ~/.cedit.menu, local: .cedit.menu
Marked block is access now from an user edit menu
Access ~/.cedit/cooledit.block for insert to cursor place from
user edit menu.
Created system cedit.menu
2000-05-04 Valery Kornienkov <vlk@dimavb.st.simbirsk.su>
* gtkedit/editdraw.c:
Improved a status string of cool editor for best understand,
and to add char,hex view.
2000-05-04 Richard Hestilow <hestgray@ionet.net>
* gnome/gdesktop.c: Fixes snap to grid.
* dir.c (string_sortcomp): strcmp() replaced with strcoll() to make
directory listing LOCALE sensitive. I assume, strcoll exists everywhere,
as it is in POSIX.
* dlg.c: Commited at last patch, that fixes screwed up right panel in
a long format. Occasionaly, all my colors problems also gone. All thanks
to Norbert Warmuth <nwarmuth@privat.circular.de>, who tracked down the
problem, blames to me and Federico :)
* widget.c ([forward|backward]_word): Changed one more time - now it
skips alpnums and THEN spaces+punct. That gives almost the same re-
sults, but twice quicker. Hope, this will be accepted.
* widget.c ([forward|backward]_word): Changed logic of moving - now,
it skips only spaces+punct OR alnum. Reason to have it deleting lines
like "lynx http://www.gnome.org", where "lynx http:" part was erased
in one operation. That's nasty, IMHO. Made this a separate commit, so,
if it seriously breaks compatability it's easy to revert it. Still hope,
nobody'll do that.
* file.c, widget.[ch]: Fixed long existing problems with filenames
and input widgets, then char is greater than 128. They were processed
incorrectly. As usual, char != unsigned char problem.
2000-03-03 Bjrn Eriksson <mdeans@algonet.se>
* Similar patches came from Andrew V. Samoilov <sav@bcs.zp.ua>.
* mad.[ch]: Some functions wrongly by-passed mad_alloc*() (causing
problems when later g_free()ed.
* Added mad_strndup().
* Repeated code collected in mad_fatal_error().
* The gcc-extension/C99-standard variable argument macros (adding
__FILE__, __LINE__ before ', ...') would be nice.
* Alloc_idx_hint and code added, the mad code was way too slow for my
poor computer. A hash-table would be nice.
* (mad_strconcat, mad_strdup_vprintf): g_malloc and g_new are
undefined at the top of mad.c, so mad_alloc must be used.
* vfs/ftpfs.c: Definition of PORT changed in the middle of ftpfs.c
with unexpected side effects (only when HSC_PROXY was
defined). Introduce HSC_PROXY_PORT and FTP_COMMAND_PORT and use
where appropriate.
(dir_load): Do not hard code the directory cache timeout to 10
seconds. Instead use the setting from Options/Virtual VFS ...
* vfs/fish.c (file_store): honour changed semantics for return value
(on error -1 is expected).
* vfs/ftpfs.c (file_store): dito
* gtkedit/editcmd.c (edit_replace_prompt): fix incorrect
initialization of array of structure (gcc version 2.96 20000131
chokes on it).
* lib/mc.hint: C-y and not C-u can be used to insert text in input
lines (e. g. text which has been deleted with M-d).
* configure.in: Fix the extfs-configure-fragment-in-final-output bug
* src/main.c (parse_control_file): add missing right parentheses
* src/boxes.c: fix incorrect initialization of array of structure (gcc
version 2.96 20000131 chokes on it).
* main.c (parse_control_file): add extra secutity checks for
control file. It cannot be group/world writable;
(ctl_x_map, default_map, argument_table): added const qualifier.
* fixed segfault in print_mc_usage
(pavel@ucw.cz did the commit)
* gdesktop.c, gdnd.c, gaction.c, gicon.c,
gnome-file-property-dialog.c, gpopup.c, gpopup2.c, gprefs.cgmain.h,
setup.c: Add option of using GNOME "magic" routines to determine file
types. This makes MC intelligently look at the data in the file to see
what type of file it is, rather than looking at the filename extension.
This slows down MC quite a bit, so it has been made an optional
preference item. Type detection is expected to improve as mime-magic
matures.
* src/subshell.c: Reason: in feed_subshell() we are trying to read
from shell pty,check for retval==-1 && errno != EIO. In that case
we flame and exit. Otherwise we are trying to write what we've
read. Good luck doing it if we got errno==EIO, which is _normal_
for situation when shell just died. Resulting write(1,foo,~0U) is
somewhat excessively, erm, verbose.
* ftpfs.c: basically replaced ftpfs with new one. Unlike the
previous one, this uses new direntry.c layer, so shared_ftp_fish.c
can be killed.
This is new code, so beware.
* layout.c: always display status line. It contains vital
information for ftpfs
1999-03-19 Pavel Machek <pavel@artax.karlin.mff.cuni.cz>
* profile.c (str_translate_newline_dup): someone likes to pass
NULL's around. Warn instead of segfault.
* gcorba.c (corba_activate_server): New function. Activate the
POA manager here, when we are actually ready to process requests,
instead of at the beginning of initialization.
* gmain.c (create_panels): Call corba_activate_server().
* gscreen.c (x_create_panel): Do not change the dialog head's
current pointer.
* gmain.c (x_init_dlg): Only call x_focus_widget() if there is a
current widget.
(non_corba_create_panels): Removed the nasty hack that created a
dummy panel and destroyed it in the idle loop. Wheeeeeee!
1999-09-21 Federico Mena Quintero <federico@redhat.com>
* dlg.c (init_dlg): Walk the list of widgets only if it exists.
(dlg_broadcast_msg_to): Use safer list-walking code for if someone
inserts a widget inside the message broadcast.
* dlg.c (init_dlg): Walk the list of widgets only if it exists.
1999-09-21 Federico Mena Quintero <federico@redhat.com>
* gmain.c (x_init_dlg): Only call x_focus_widget() if there is a
current widget.
The following is a patch from Volker Braun
<volker.braun@physik.hu-berlin.de> to fix column resizing in the
file panels.
* gcustom-layout.c (custom_layout_apply): Set the
default_user_format to the new format.
* gscreen.c (panel_fill_panel_list): Set the column widths
according to the previously stored values.
Nuked the old and hideous panel_file_list_configure_contents().
(panel_file_list_configure): Connect to resize_column in the clist.
(panel_create_file_list): Do not connect to size_allocate.
(x_create_panel): Set the column width array for this panel. Set
the user format from the default one if it exists.
* gsession.c (PanelInfo): Added information about column widths
and the user format.
(save_panel_info): Save the complete information.
(load_panel_info): Load the complete information.
(free_panel_info): Free the user format.
(idle_create_panels): Set the user format and column widths.
1999-09-20 Federico Mena Quintero <federico@redhat.com>
The following is a patch from Volker Braun
<volker.braun@physik.hu-berlin.de> to fix column resizing in the
file panels.
* setup.c (options): Declare the column width option values.
(save_configure): Save the default user format.
(load_setup): Load the default user format.
* panel.h (WPanel): Added a field for the column widths.
* src/user.c (check_patterns): char* is used instead of char [] in sizeof
* src/util.c (string_perm): prefix named pipes by 'p' and not by `s'
1999-09-19 David Martin <dmartina@usa.net>
* gtkedit/editcmd.c (edit_print_string): Use unsigned char so that
8 bit chars from strftime get displayed when inserting date.
* lib/mc.ext.in: Add entries for bzip2 compressed pages as used in
Mandrake 6.0. The generic entry for bzip2 moved to the end of the
file to avoid interferences. In this one I changed the extension check
to a type check (as used for gzip) which might give problems in some
systems.
* configure.in: Use -Tlatin1 to format man pages when available and
"view" 8 bit chars.
1999-09-19 Norbert Warmuth <nwarmuth@privat.circular.de>
* gtkedit/edit.h: Include files reordered in order to make it compile with
--with-debug
* gtkedit/editcmd.c (menu_save_mode_cmd): calculate dialog width
dependent on lenght of translated strings to display.
* src/mad.c, mad.h, util.c, util.h: Move mad-functions from util.[ch]
to mad.[ch]
* src/option.c: Include files reordered in order to make it compile with
--with-debug
* src/mad.c (mad_init): New function. Initialize debug FILE pointer to
stderr (moved to a function because not on every system stderr is
a constant).
(mad_set_debug): added const qualifier
* src/main.c (main): call mad_init
* po/*.po: s/defination/definition/
* gnome/Makefile.in ($(MAGICDEV_GENERATED)): Make it compile with $buildir
!= $srcdir.
* vfs/ftpfs.c (ftpfs_set_debug), vfs.h: added const qualifier.
* vfs/mcserv.c: removed definition of mad_strconcat which is also
in mad.c.
this dialog doesn't look perfect but at least it doesn't break gmc.
1999-09-14 Norbert Warmuth <nwarmuth@privat.circular.de>
* gnome/layout: Added the new samba password dialog.
* src/widget.[ch] (input_new): added const qualifier
* src/util.c (wipe_password): Check for NULL.
1999-09-14 Norbert Warmuth <nwarmuth@privat.circular.de>
* vfs/smbfs.c (various places): Store filenames in memory with the unix
character set and convert it back to the dos character set when filenames
are passed back to the samba server. If samba is configured correctly
this will fix the problems with filenames which contain national characters.
(bucket_set_authinfo): Set domain, username and password which will
be used to log on and authenticate against the samba server and remember this
information on a host/share basis. If set use PASSWD to get the
password. If already authenticated against the host and share use this
information. If already authenticated against host and IPC$ use this
information. If neither of the former is true ask the user how to
log on.
(authinfo_get_authinfo_from_user): New function. Query the user for
domain, username and password to use for authentication.
(authinfo_free): New function. Free memory in authentication structure.
(authinfo_free_all): New function. Free the list used to remember
authentication information.
(authinfo_compare_host_and_share, authinfo_compare_host): New functions.
Helper functions used to search the authentication list.
(authinfo_add): New function. Add one authentication entry to the
authlist.
(authinfo_remove): New function. Remove one entry from the authlist.
(free_bucket): Free memory associated with one bucket.
(smbfs_get_free_bucket): Initialize the complete connection array
with 0. Free the memory allocated for a bucket and initialize the
bucket before reusing it.
(smbfs_open_link): use new functions to get authentication information
(get_stat_info, smbfs_stat): remove unused variables.
* treestore.c: Removed tree_store_destroy(), renamed
tree_store_init() to tree_store_get().
* tree.c (tree_destroy): Do not destroy the tree store.
(tree_new): Get the tree store, do not initialize it.
* gtkdtree.c (gtk_dtree_class_init): Sigh. Create a new signal,
called "possibly_ungrab", used to request the client to ungrab the
mouse at the proper time. This is required because the stupid
clist button press handler grabs the mouse, and we don't want that.
(gtk_dtree_select_row): Emit the possibly_ungrab signal here.
* gscreen.c (panel_tree_drag_motion): Set the
panel->drag_tree_dragging_over flag.
(panel_tree_drag_leave): Unset said flag.
(panel_tree_possibly_ungrab): Ungrab the mouse here.
* main.c: In the GNOME version, we want cd_symlinks to be FALSE.
The VFS should never have to look at this variable, but alas, it
does. BUGFIX: Red Hat Bugzilla #2344.
* setup.c: Disable cd_symlinks in the GNOME version.
* lib/mc.sh: create temporary files in ~/.mc/tmp in order to avoid
symlink attacks (mcfn_install and the man page still needs to be
updated).
* src/main.c (print_mc_usage): Print the bug reporting address.
(main): Put prompt in a new line at termination.
* vfs/shared_ftp_fish.c (get_line): Fixed off by one error ('\0' might
have been written one slot past the supplied character array).
* vfs/ftpfs.c (resolve_symlink_without_ls_options): Don't dump core on
strange symlinks (ls -la doesn't reveal where the symlink points to
and ls -lLa doesn't resolve the symlink either)
Added protection against recursive symbolic links.
* ext.c (quote_block): How did this ever work? People, if you
realloc() things, don't keep pointers to stuff inside the original
block.
* screen.c (do_enter_on_file_entry): Pass in the full name to
if_link_is_exe().
* dir.[ch] (if_link_is_exe): Take in the full name, not the directory
and the file entry.
1999-08-26 Federico Mena Quintero <federico@redhat.com>
* gscreen.c (panel_clist_drag_motion): Pass the full name to
gdnd_validate_action().
(panel_icon_list_drag_motion): Likewise.
(panel_tree_drag_motion): Likewise.
* gdnd.c (gdnd_perform_drop): Renamed the "directory" argument to
"dest_full_name" for clarity.
(gdnd_validate_action): Likewise. Pass in the full name to
if_link_is_exe().
(drop_on_file): Do not compute the full name, since we are already
get it from the caller.
(drop_on_file): Pass in the full name to if_link_is_exe().
* gscreen.c (panel_tree_drag_data_received): Free the pathname.
* gdesktop.c (icon_drag_data_received): Pass the full name of the
file to gdnd_perform_drop(), not just the desktop directory.
* gscreen.c (editing_icon_list): New function to figure out
whether an icon in the icon list is being edited. This is a
FANTASTICALLY UGLY HACK, but we cannot add new functions to the
icon list at this point as it would break forwards compatibility.
Sigh. BUGFIX: GNOME bug tracker #382, #1065.
* glayout.c (gnome_panel_desktop_menu): Added some underline
accelerators.
* gdesktop.c (desktop_arrange_icons_items): Renamed to the desktop
namespace. Added underline accelerators.
(handle_arrange_icons_name): Made static.
(handle_arrange_icons_type): Likewise.
(handle_arrange_icons_size): Likewise.
(handle_arrange_icons_access): Likewise.
(handle_arrange_icons_mod): Likewise.
(handle_arrange_icons_change): Likewise.
(desktop_arrange_icons): Made static.
(strip_tearoff_menu_item): Made it return the number of items in
the menu, not the list of children.
(desktop_icon_info_destroy): Remove the icon from the icon hash
table.
(text_changed): Update the icon hash table information.
* gdesktop.h: Cleaned up some unused prototypes.
* gview.c (view_status): Use the correct g_snprintf() format
argument.
* gcmd.c (sort_get_func_from_type): Indented according to the MC
conventions. People, *PLEASE* follow the Gnome Programming
Guidelines, especially when modifying existing code.
* gdesktop.c (swap): Likewise.
(auto_pos): Likewise.
(get_icon_auto_pos): Likewise.
* gtkedit/syntax.c (upgrade_syntax_file): Mark error strings for
translation.
* gtkedit/editmenu.c (edit_about_cmd): Mark text in "about" for
translation as it used to be.
* po/POTFILES.in: Removed symbolic links, and outdated
gmc-window.[ch] and olddnd.c. These don't repport any new strings,
increase compile time and make po files large. Basically adds
gaction.c, g,mount, smbfs.c to the pre-previous file.
* po/es.po: Added new strings with latest editor changes. Added
strings in gaction.c. Merged with a new mc.pot after the changes
in POTFILES.in.
* gnome/gaction.c (mainly gmc_unable_to_execute_dlg): Moved g_strconcat
to g_strdup_printf, to get compact strings and make coherent
translations. Translate atomic actions (open, edit, view) when
calling this function.
* src/menu.c: (create_menu): Adjust "#ifdef ENABLE_NLS" so that menus
get the right size even when NLS is disabled.
1999-08-08 Norbert Warmuth <nwarmuth@privat.circular.de>
* po/POTFILE.in: Removed gpopup.c as it is not compiled.
* gnome/gconf.h (PORT_STATIC_IN_STRING_FILE_XTIME): new port specific
feature. The Gnome edition first calls all string_file functions
and then uses the return values of these functions. Therefore additional
static buffers in string_file_[acm]time are needed.
* src/screen.c (string_file_[amc]time): These three functions use
file_date which returns a pointer to a static buffer. In the
Gnome edition this buffer has to be coppied to a static buffer
which isn't used in the other two functions (Fix Bug #1766).
* src/util.c, util.h: Moved some constants to util.h
* vfs/tar.c (read_header): Don't segfault when a symlink points to the
root directory.
1999-08-04 Norbert Warmuth <nwarmuth@privat.circular.de>
* src/widget.c (push_history): Add SMB Link to the list of input dialogs
where urls are input without vfs prefix.
Translate the titles of these input dialogs only once.
Removed Gnome specific code because the Gnome edition doesn't use
the input history any more.
* src/util.c (strip_password): Add /#smb: to the list of urls which might
be input with password.
* src/poptalloca.h: New file with definitions for alloca. Note: alloca
is defined as malloc on systems which fail to support alloca. Don't
include this file if you frequently use alloca.
* src/findme.c, src/popt*.c: include poptalloca.h
* src/Makefile.in: added poptalloca.h
* src/menu.c (create_menu): set minimum menu width to 20 characters as
it used to be (this was part of davids patches but I haven't
applied it, yet).
* gnome/gcmd.c (gnome_about_cmd): Change strings in gmc "about" to
static as they only translated once.
* src/menu.c (create_menu, menubar_drop_compute, menubar_paint_idx):
Discount '&' for hotkeys when checking menu widths to avoid the
extra blank space.
Moved this accounting from the drawing to the creating function.
* src/widget.c: Translate History box tittle.
* po/es.po, po/es_ES.po: added translation for history box title
1999-08-01 Norbert Warmuth <nwarmuth@privat.circular.de>
* src/vfs.c: Don't close a function definition with "};". SunCC from
2.5.1 chokes on the extra semicolon.
(mc_munmap): Don't dereference function pointer when checking for
NULL (this check is supposed to prevent a segfault instead of
causing one). This haven't got noticed up to now becaue there's no
file system with mmap but without munmap.
* popt.c, popt.h, poptconfig.c, popthelp.c, poptparse.c:
updated to the version found in the popt module
* features.inc: added report information for smbfs
* gnome/gmc-chargrid.c (update_strip): Paint every character with the
assigned fore and background color instead of using the colors of
the first character for the whole line.
1999-06-24 smil@linuxfan.com
* src/view.c (view_update_bytes_per_line, display): show correctly the
offset of the file (full 8 digit), display offset in bold colour
(view_labels): use goto_addr instead of goto_line in hex mode
(goto_addr): New function. Goto offset address in hex mode.
* src/view.h: use unsigned long for hexedit cursor position in file
* acconfig.h: Add WITH_SMBFS
* macros/gnome-vfs.m4: Support conditional samba support.
1999-06-22 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gsession.c (create_default_panel): Use directory specified in
command line.
* gcorba.c (corba_create_window): Pass the directory we receive or
cwd if this value is NULL.
* gmain.c (non_corba_create_panels): Use parameter for startup
directory (use the this_dir external directory for this).
(create_panels): Pass this_dsir to non_corba_create_panels and
corba_create_window.
* file.c (move_dir_dir): Give an error when an attempt is made to
move an empty directory into itself.
1999-06-14 Wayne Roberts <wroberts1@cx983858-b.orng1.occa.home.com>
* vfs/smbfs.c: New file. Implements the Samba-based file system.
* vfs/vfs.h: Declare vfs_smbfs_ops, vfs_file_is_smb.
* vfs/vfs.c (vfs_file_is_smb): implemented.
(vfs_init) register smbfs.
* vfs/samba: Incorporate SAMBA source code required for smbfs
1999-05-27 Miguel de Icaza <miguel@nuclecu.unam.mx>
* Make.common.in (confdir): Define confdir as sysconfdir. This
should fix the problem we had with FSSTND distributions.
David for the ChangeLog entries).
1999-06-22 David Martin <dmartina@usa.net>
* gnome/gnome-file-property-dialog.c (switch_metadata_box): Tag some
strings for localization.
* gnome/gnome-open-dialog.c (gnome_open_dialog_new): Don't assemble
label_string from seperate strings (makes it easier to translate).
* src/view.c (display): added view_gotoxy's in order to make hex mode
work in the gnome edition.
* gtkedit/gtkedit.c (tb_items): Mark strings for localization.
1999-06-22 Norbert Warmuth <nwarmuth@privat.circular.de>
* gnome/gview.c (viewer_size_changed): Update internal viewer state used
in hex mode.
And some fixes to the bug reported on mc-bugs ("Two Big Bugs in
Quickview@mc").
1999-06-22 Norbert Warmuth <nwarmuth@privat.circular.de>
* src/cmd.c (quick_view_cmd): Change panel when the file we want to
view isn't in the current panel (prevents a "file not found"
error).
* src/menu.c (menubar_execute): De-activate the menubar previous to
invoking the callback. This is needed to make change_panel in
quick_view_cmd work (the activated menubar doesn't allow unfocus,
i.e. dlg_one_down|up don't change anything).
* src/view.c (do_view_init): improved error handling w.r.t quick view
(mc used to dump core when the file to view couldn't be opened).
* src/user.c (user_menu_cmd): Allow national characters as hotkeys.
Don't dump core when the menu file contains only empty lines
* src/view.c (search, block_search): Use the correct column for the
percent display while searching.
Fri Jun 18 11:49:05 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* vfs/ftpfs.c (resolve_symlink_with_ls_options): Some ftp servers don't
make a difference between "LIST -la" and "LIST -lLa". If we find such
a server don't use -lLa when resolving symbolic links.
* complete.c (complete_engine): Put an #ifndef HAVE_GNOME around
the completion/query engine. Make the Gnome version just beep
instead. We do not have the completion/query engine for Gtk.
1999-06-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gwidget.c (x_update_input): Unblock the changed signal *after*
we call gtk_editable_changed().
* gnome/gdesktop-icon.h:
* gnome/gmc-chargrid.c: Replace gdk_font_load() with
gdk_fontset_load(), and change the default font names.
1999-06-01 Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
* util.c (is_printable): in GNOME all characters are printable.
Mon May 17 07:30:48 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* configure.in: Added check for getpt ()
* src/subshell.c (pty_open_master): use getpt () if available to open
the master side of the pty. getpt () is a glibc extension and is
needed when glibc 2.1.x is used with a (linux) kernel without unix98
style ptys (if there is no /dev/ptmx getpt falls back to bsd style
ptys).
* src/filegui.c (check_progress_buttons): Don't update the Gpm mouse
cursor when we check for events. It causes a flickering cursor on a
different virtual console.
* src/util.c (strip_home_and_password): Don't split the path in the
middle of a directory, e.g. "/home/bofh" will not be translated to
"~h" (fixes the bug reported by Alex Fortuna <alex@rdc.ru>)
* find.c: The origin of the bug is in the function do_search (file
find.c). It limits the number of subdirectories to scan by the
number stat.st_nlink-2, or infinite if st_nlink<2. On tar vfs,
st_nlink is always 1, so it should be the second case.
But before doing stat, do_search does opendir. And opendir on tar
vfs (vfs_s_opendir in vfs/direntry.c) increases the st_nlink value
in the stat data! So mc_stat called after mc_opendir on tar vfs
returns st_nlink==2 instead of 1. This is interpreted as if the
directory had no subdirs, thus subdirs are not searched in.
Changing the order of calls to mc_stat and mc_opendir fixes the
problem.
* src/ext.c (exec_extension): Use tempnam instead of tmpnam (AIX doesn't
like the lattern when compiled with -mthreads).
* src/user.c (execute_menu_command): ditto.
Wed Apr 21 22:04:30 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* gtkedit/editcmd.c (edit_save_file): MAD knows about tempnam, no
need to fool it by strdup'ing the return value of tempnam.
Wed Apr 21 21:59:50 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* vfs/extfs.c (extfs_open): tempnam returns a malloced string, no need
to strdup it
(various places): use free instead of g_free to free string returned
by tempnam.