* ftpfs.c (translate_path): Remove static buffer from here.
Return a strdupped string now.
(send_ftp_command): Release translate_path result here.
(open_data_connection): Release translate_path result here.
(ftpfs_chdir_internal): Reease it here too.
* gdnd.c (file_has_drop_action): New function to test whether a
file has the drop-action metadata or MIME action property.
(gdnd_validate_action): Take the drop-action metadata/MIME
property into account.
(gdnd_can_drop_on_file): New function to see whether a
non-directory file can take drops.
* gscreen.c (drop_on_panel): New helper function to drop stuff on
a panel. This uses gdnd_can_drop_on_file so that we have the
correct behavior. This enables dropping on executables and files
with the drop-action metadata/MIME property again.
(panel_icon_list_drag_data_received): Use drop_on_panel().
(panel_clist_drag_data_received): Use drop_on_panel(). Normalize
the Y coordinate to the clist_window.
* 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.
* gdesktop-prefs.[ch]: New files that handle the desktop
preferences page. Now we have a nice way to configure the
position of desktop icons.
* gprefs.c (create_prop_box): Use desktop_prefs_new() to create
the desktop preferences page.
(apply_page_changes): Do not update the desktop here.
(apply_callback): Take the desktop page into account.
* gdesktop.c (desktop_use_shaped_text): Renamed from
desktop_use_transparent_text.
* Makefile.in: Added gdesktop-prefs.[ch] to the list of sources.
* configure.in (AC_WITH_SLANG): rm -f destination before makeing
a symbolic link (ln -sf doesn't work as expected on Solaris)
1999-08-19 Norbert Warmuth <nwarmuth@privat.circular.de>
* vfs/smbfs.c: added missing include file
(browsing_helper): use g_strdup instead of g_new + pstrcpy
(Btw. this is an example why the handholding of smblib gives a
false security feeling. pstrcpy limits the number of characters
copied and is used with a buffer which is smaler than the hard
coded limit in pstrcpy)
(loaddir_helper): ditto
(server_browsing_helper): ditto
(get_remote_stat): fixed memory leaks
(smbfs_loaddir): ditto
(get_stat_info): ditto
(smbfs_stat): ditto
(convert_path): rewritten, now it's much cleaner what it does.
This rewrite was necessary because gcc -O2 choked on glibc 2.1
systems. In that combination strncat is a macro which expands to
strlen and strcat and in vfs/samba/include/includes.h the latter is
defined to __ERROR__XX__NEVER_USE_STRCAT___;.
* vfs/direntry.c (vfs_s_getlocalcopy): There's an aditional strdup
needed. In rare cases a pointer was freed twice. Pavel Machek
pointed this out a while ago but obviously it hasn't been fixed, yet.
* vfs/sfs.c (vfmake): Quote characters with a special meaning to the
shell in filenames/-pathes (Fix Bug #1931, VFS will not work if
your full path has the space character in it.).
* vfs/sfs.c (vfmake): Quote characters with a special meaning to the
shell in filenames/-pathes (Fix Bug #1931, VFS will not work if
your full path has the space character in it.).
* gmain.c (default_edition_colors): "brightred" is not a standard
X color; use "red" instead.
(get_color): Take into account the result of gdk_color_parse().
* 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.
* gscreen.c (panel_fill_panel_list): Select or unselect the rows
as appropriate, not just select them. This is needed because the
clist changes the selection under us when appending rows.
Finally, do not call select_item() at the end; just reset the
panel->selected value.
(panel_fill_panel_icons): Likewise.
(tree_drag_open_directory): Disabled the auto-collapse
functionality yet again, since it has numerous problems. BUGFIX:
GNOME bug tracker #1656.
* gcmd.c (gnome_reverse_selection_cmd_panel): Re-enabled this
function. The reverse selection bug was somewhere else after all.
* glayout.c (gnome_panel_edit_menu): Re-inserted the item for
reverse selection. It was pointing to the wrong callback, that is
why it never worked.
* 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.
The two following entries are BUGFIX: GNOME bug tracker #1789.
* gscreen.c (panel_fill_panel_list): Do not allow selection of "..".
(panel_icon_list_select_icon): Likewise.
* glayout.c (gnome_panel_edit_menu): Removed the Invert Selection
command. It is completely broken for the expected GNOME
semantics.
* gnome-file-property-dialog.c (perm_group_new): If the file
belongs to an unknown user/group, use the group's number as a
string for the entry box. BUGFIX: GNOME bug tracker #1414.
(perm_owner_new): Do the same thing for the user.
* 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.