Merge branch '3915_cleanup'

* 3915_cleanup: (24 commits)
  Update po/*.po files.
  src/filemanager/panelize.c: fix coding style.
  Sync with gnulib 844f63f9576ebb74fde62e5017bf838c69db22c4.
  Sync with gnulib 1ff0e9684bb83a8277ffe22ac125ce7e90f6702b.
  Sync with gnulib e96dcbcbc5142bd04c6c2e9e4595d9bea910fb3b.
  Sync with gnulib 23671eec22f5221a2dff50942f24c41bcf9caeaf.
  Sync with gnulib 8ae091f7c8cd35cc7dff82c544d04da6fd095e11.
  Sync with gnulib 4d4877e6c2123c4862c321f3eab28a55bf886216.
  Sync with gnulib cbc85bb67fc628349e0351b835efc9e91cd0482f.
  Sync with gnulib be9e66b37c948df517ee905b4a9689a50946409c.
  (make_symlink): rename variable.
  (do_move_dir_dir): rename variables.
  (copy_dir_dir): rename variables.
  misc/syntax/Syntax.in: simplify regex for PO and CUDA syntaxes.
  misc/syntax/Syntax.in: fix regex for Meson syntax.
  dir_list: fix memory leak when list is free'd.
  Sync with gnulib f7a6286e04209da1bc7b1820002b6a5c32638369.
  Sync with gnulib d1327df1f1c9bae26571e6699800c8d1c4712afb.
  Sync with gnulib fa3e2ad20d10d648cc74a5d320ce531a80ff7b1f.
  Sync with gnulib 74c29c68bba3fe7c2f02eb3fc9f7ef196cec1bc6.
  ...
This commit is contained in:
Andrew Borodin 2018-11-24 18:13:49 +03:00
commit 91a428db5c
73 changed files with 738 additions and 941 deletions

View File

@ -127,8 +127,6 @@ Frequently Asked Questions
* sparc-linux-linux2.x * sparc-linux-linux2.x
* sparc64-linux-linux2.1 * sparc64-linux-linux2.1
* mips-sgi-irix5.x, 6.x * mips-sgi-irix5.x, 6.x
* mips-dec-ultrix4.3
* rs6000-ibm-aix3.2.5
* sparc-sun-sunos4.1 * sparc-sun-sunos4.1
* sparc-sun-solaris2.3, 2.4, 2.5 * sparc-sun-solaris2.3, 2.4, 2.5
* sparc-sun-netbsd1.0 * sparc-sun-netbsd1.0

View File

@ -324,7 +324,6 @@ i386-*-linux
sparc-*-linux sparc-*-linux
alpha-*-linux alpha-*-linux
powerpc-*-linux powerpc-*-linux
mips-dec-ultrix4.3
mips-dec-{open,net}bsd1.0 mips-dec-{open,net}bsd1.0
mips-sgi-irix5.2 mips-sgi-irix5.2
mips-sgi-irix5.3 mips-sgi-irix5.3

View File

@ -66,8 +66,7 @@
st_blocks ((statbuf).st_size) : 0) st_blocks ((statbuf).st_size) : 0)
#endif #endif
#else #else
/* Some systems, like Sequents, return st_blksize of 0 on pipes. /* When running 'rsh hpux11-system cat any-file', cat would
Also, when running 'rsh hpux11-system cat any-file', cat would
determine that the output stream had an st_blksize of 2147421096. determine that the output stream had an st_blksize of 2147421096.
Conversely st_blksize can be 2 GiB (or maybe even larger) with XFS Conversely st_blksize can be 2 GiB (or maybe even larger) with XFS
on 64-bit hosts. Somewhat arbitrarily, limit the "optimal" block on 64-bit hosts. Somewhat arbitrarily, limit the "optimal" block
@ -83,10 +82,6 @@
This loses when mixing HP-UX and BSD file systems with NFS. */ This loses when mixing HP-UX and BSD file systems with NFS. */
#define ST_NBLOCKSIZE 1024 #define ST_NBLOCKSIZE 1024
#else /* !hpux */ #else /* !hpux */
#if defined _AIX && defined _I386
/* AIX PS/2 counts st_blocks in 4K units. */
#define ST_NBLOCKSIZE (4 * 1024)
#else
#if defined _CRAY #if defined _CRAY
#define ST_NBLOCKS(statbuf) \ #define ST_NBLOCKS(statbuf) \
(S_ISREG ((statbuf).st_mode) || S_ISDIR ((statbuf).st_mode) \ (S_ISREG ((statbuf).st_mode) || S_ISDIR ((statbuf).st_mode) \
@ -94,7 +89,6 @@
#endif #endif
#endif #endif
#endif #endif
#endif
#ifndef ST_NBLOCKS #ifndef ST_NBLOCKS
#define ST_NBLOCKS(statbuf) ((statbuf).st_blocks) #define ST_NBLOCKS(statbuf) ((statbuf).st_blocks)

View File

@ -11,15 +11,11 @@
/*** typedefs(not structures) and defined constants **********************************************/ /*** typedefs(not structures) and defined constants **********************************************/
/* Taken from S-Lang's slutty.c */ /* Taken from S-Lang's slutty.c */
#ifdef ultrix /* Ultrix gets _POSIX_VDISABLE wrong! */
#define NULL_VALUE -1
#else
#ifdef _POSIX_VDISABLE #ifdef _POSIX_VDISABLE
#define NULL_VALUE _POSIX_VDISABLE #define NULL_VALUE _POSIX_VDISABLE
#else #else
#define NULL_VALUE 255 #define NULL_VALUE 255
#endif #endif
#endif
/*** enums ***************************************************************************************/ /*** enums ***************************************************************************************/

View File

@ -19,10 +19,6 @@
#include <sys/sysmacros.h> #include <sys/sysmacros.h>
#endif #endif
#if defined(_AIX)
#include <time.h> /* AIX for tm */
#endif
#include <unistd.h> #include <unistd.h>
/*** typedefs(not structures) and defined constants **********************************************/ /*** typedefs(not structures) and defined constants **********************************************/

View File

@ -82,10 +82,6 @@ vfs_class *current_vfs = NULL;
/*** file scope macro definitions ****************************************************************/ /*** file scope macro definitions ****************************************************************/
#if defined(_AIX) && !defined(NAME_MAX)
#define NAME_MAX FILENAME_MAX
#endif
#define VFS_FIRST_HANDLE 100 #define VFS_FIRST_HANDLE 100
/*** file scope type declarations ****************************************************************/ /*** file scope type declarations ****************************************************************/

View File

@ -1,4 +1,4 @@
# serial 32 # serial 34
# Obtaining file system usage information. # Obtaining file system usage information.
# Copyright (C) 1997-1998, 2000-2001, 2003-2017 Free Software Foundation, Inc. # Copyright (C) 1997-1998, 2000-2001, 2003-2017 Free Software Foundation, Inc.
@ -29,27 +29,30 @@ AC_DEFUN([gl_FSUSAGE],
AC_DEFUN([gl_FILE_SYSTEM_USAGE], AC_DEFUN([gl_FILE_SYSTEM_USAGE],
[ [
dnl Enable large-file support. This has the effect of changing the size dnl Enable large-file support. This has the effect of changing the size
dnl of field f_blocks in 'struct statvfs' from 32 bit to 64 bit on dnl of field f_blocks in 'struct statvfs' from 32 bit to 64 bit on
dnl glibc/Hurd, HP-UX 11, Solaris (32-bit mode). It also changes the size dnl glibc/Hurd, HP-UX 11, Solaris (32-bit mode). It also changes the size
dnl of field f_blocks in 'struct statfs' from 32 bit to 64 bit on dnl of field f_blocks in 'struct statfs' from 32 bit to 64 bit on
dnl Mac OS X >= 10.5 (32-bit mode). dnl Mac OS X >= 10.5 (32-bit mode).
AC_REQUIRE([AC_SYS_LARGEFILE]) AC_REQUIRE([AC_SYS_LARGEFILE])
AC_MSG_CHECKING([how to get file system space usage]) AC_MSG_CHECKING([how to get file system space usage])
ac_fsusage_space=no ac_fsusage_space=no
# Perform only the link test since it seems there are no variants of the # Perform only the link test since it seems there are no variants of the
# statvfs function. This check is more than just AC_CHECK_FUNCS([statvfs]) # statvfs function. This check is more than just AC_CHECK_FUNCS([statvfs])
# because that got a false positive on SCO OSR5. Adding the declaration # because that got a false positive on SCO OSR5. Adding the declaration
# of a 'struct statvfs' causes this test to fail (as it should) on such # of a 'struct statvfs' causes this test to fail (as it should) on such
# systems. That system is reported to work fine with STAT_STATFS4 which # systems. That system is reported to work fine with STAT_STATFS4 which
# is what it gets when this test fails. # is what it gets when this test fails.
if test $ac_fsusage_space = no; then if test $ac_fsusage_space = no; then
# glibc/{Hurd,kFreeBSD}, FreeBSD >= 5.0, NetBSD >= 3.0, # glibc/{Hurd,kFreeBSD}, FreeBSD >= 5.0, NetBSD >= 3.0,
# OpenBSD >= 4.4, AIX, HP-UX, IRIX, Solaris, Cygwin, Interix, BeOS. # OpenBSD >= 4.4, AIX, HP-UX, IRIX, Solaris, Cygwin, Interix, BeOS.
AC_CACHE_CHECK([for statvfs function (SVR4)], [fu_cv_sys_stat_statvfs], AC_CACHE_CHECK([for statvfs function (SVR4)],
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h> [fu_cv_sys_stat_statvfs],
[AC_LINK_IFELSE(
[AC_LANG_PROGRAM([[
#include <sys/types.h>
#ifdef __osf__ #ifdef __osf__
"Do not use Tru64's statvfs implementation" "Do not use Tru64's statvfs implementation"
#endif #endif
@ -68,45 +71,47 @@ struct statvfs fsd;
int check_f_blocks_size[sizeof fsd.f_blocks * CHAR_BIT <= 32 ? -1 : 1]; int check_f_blocks_size[sizeof fsd.f_blocks * CHAR_BIT <= 32 ? -1 : 1];
#endif #endif
]], ]],
[[statvfs (0, &fsd);]])], [[statvfs (0, &fsd);]])],
[fu_cv_sys_stat_statvfs=yes], [fu_cv_sys_stat_statvfs=yes],
[fu_cv_sys_stat_statvfs=no])]) [fu_cv_sys_stat_statvfs=no])
if test $fu_cv_sys_stat_statvfs = yes; then
ac_fsusage_space=yes
# AIX >= 5.2 has statvfs64 that has a wider f_blocks field than statvfs.
# glibc, HP-UX, IRIX, Solaris have statvfs64 as well, but on these systems
# statvfs with large-file support is already equivalent to statvfs64.
AC_CACHE_CHECK([whether to use statvfs64],
[fu_cv_sys_stat_statvfs64],
[AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
[[#include <sys/types.h>
#include <sys/statvfs.h>
struct statvfs64 fsd;
int check_f_blocks_larger_in_statvfs64
[sizeof (((struct statvfs64 *) 0)->f_blocks)
> sizeof (((struct statvfs *) 0)->f_blocks)
? 1 : -1];
]],
[[statvfs64 (0, &fsd);]])],
[fu_cv_sys_stat_statvfs64=yes],
[fu_cv_sys_stat_statvfs64=no])
]) ])
if test $fu_cv_sys_stat_statvfs64 = yes; then if test $fu_cv_sys_stat_statvfs = yes; then
AC_DEFINE([STAT_STATVFS64], [1], ac_fsusage_space=yes
[ Define if statvfs64 should be preferred over statvfs.]) # AIX >= 5.2 has statvfs64 that has a wider f_blocks field than statvfs.
else # glibc, HP-UX, IRIX, Solaris have statvfs64 as well, but on these systems
AC_DEFINE([STAT_STATVFS], [1], # statvfs with large-file support is already equivalent to statvfs64.
[ Define if there is a function named statvfs. (SVR4)]) AC_CACHE_CHECK([whether to use statvfs64],
[fu_cv_sys_stat_statvfs64],
[AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
[[#include <sys/types.h>
#include <sys/statvfs.h>
struct statvfs64 fsd;
int check_f_blocks_larger_in_statvfs64
[sizeof (((struct statvfs64 *) 0)->f_blocks)
> sizeof (((struct statvfs *) 0)->f_blocks)
? 1 : -1];
]],
[[statvfs64 (0, &fsd);]])],
[fu_cv_sys_stat_statvfs64=yes],
[fu_cv_sys_stat_statvfs64=no])
])
if test $fu_cv_sys_stat_statvfs64 = yes; then
AC_DEFINE([STAT_STATVFS64], [1],
[Define if statvfs64 should be preferred over statvfs.])
else
AC_DEFINE([STAT_STATVFS], [1],
[Define if there is a function named statvfs. (SVR4)])
fi
fi fi
fi fi
fi
# Check for this unconditionally so we have a # Check for this unconditionally so we have a
# good fallback on glibc/Linux > 2.6 < 2.6.36 # good fallback on glibc/Linux > 2.6 < 2.6.36
AC_MSG_CHECKING([for two-argument statfs with statfs.f_frsize member]) AC_CACHE_CHECK([for two-argument statfs with statfs.f_frsize member],
AC_CACHE_VAL([fu_cv_sys_stat_statfs2_frsize], [fu_cv_sys_stat_statfs2_frsize],
[AC_RUN_IFELSE([AC_LANG_SOURCE([[ [AC_RUN_IFELSE(
[AC_LANG_SOURCE([[
#ifdef HAVE_SYS_PARAM_H #ifdef HAVE_SYS_PARAM_H
#include <sys/param.h> #include <sys/param.h>
#endif #endif
@ -119,26 +124,26 @@ AC_CACHE_VAL([fu_cv_sys_stat_statfs2_frsize],
int int
main () main ()
{ {
struct statfs fsd; struct statfs fsd;
fsd.f_frsize = 0; fsd.f_frsize = 0;
return statfs (".", &fsd) != 0; return statfs (".", &fsd) != 0;
}]])], }]])],
[fu_cv_sys_stat_statfs2_frsize=yes], [fu_cv_sys_stat_statfs2_frsize=yes],
[fu_cv_sys_stat_statfs2_frsize=no], [fu_cv_sys_stat_statfs2_frsize=no],
[fu_cv_sys_stat_statfs2_frsize=no])]) [fu_cv_sys_stat_statfs2_frsize=no])
AC_MSG_RESULT([$fu_cv_sys_stat_statfs2_frsize]) ])
if test $fu_cv_sys_stat_statfs2_frsize = yes; then if test $fu_cv_sys_stat_statfs2_frsize = yes; then
ac_fsusage_space=yes ac_fsusage_space=yes
AC_DEFINE([STAT_STATFS2_FRSIZE], [1], AC_DEFINE([STAT_STATFS2_FRSIZE], [1],
[ Define if statfs takes 2 args and struct statfs has a field named f_frsize. [Define if statfs takes 2 args and struct statfs has a field named f_frsize.
(glibc/Linux > 2.6)]) (glibc/Linux > 2.6)])
fi fi
if test $ac_fsusage_space = no; then if test $ac_fsusage_space = no; then
# DEC Alpha running OSF/1 # DEC Alpha running OSF/1
AC_MSG_CHECKING([for 3-argument statfs function (DEC OSF/1)]) AC_CACHE_CHECK([for 3-argument statfs function (DEC OSF/1)],
AC_CACHE_VAL([fu_cv_sys_stat_statfs3_osf1], [fu_cv_sys_stat_statfs3_osf1],
[AC_RUN_IFELSE([AC_LANG_SOURCE([[ [AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <sys/param.h> #include <sys/param.h>
#include <sys/types.h> #include <sys/types.h>
#include <sys/mount.h> #include <sys/mount.h>
@ -149,28 +154,27 @@ if test $ac_fsusage_space = no; then
fsd.f_fsize = 0; fsd.f_fsize = 0;
return statfs (".", &fsd, sizeof (struct statfs)) != 0; return statfs (".", &fsd, sizeof (struct statfs)) != 0;
}]])], }]])],
[fu_cv_sys_stat_statfs3_osf1=yes], [fu_cv_sys_stat_statfs3_osf1=yes],
[fu_cv_sys_stat_statfs3_osf1=no], [fu_cv_sys_stat_statfs3_osf1=no],
[fu_cv_sys_stat_statfs3_osf1=no])]) [fu_cv_sys_stat_statfs3_osf1=no])
AC_MSG_RESULT([$fu_cv_sys_stat_statfs3_osf1]) ])
if test $fu_cv_sys_stat_statfs3_osf1 = yes; then if test $fu_cv_sys_stat_statfs3_osf1 = yes; then
ac_fsusage_space=yes ac_fsusage_space=yes
AC_DEFINE([STAT_STATFS3_OSF1], [1], AC_DEFINE([STAT_STATFS3_OSF1], [1],
[ Define if statfs takes 3 args. (DEC Alpha running OSF/1)]) [Define if statfs takes 3 args. (DEC Alpha running OSF/1)])
fi
fi fi
fi
if test $ac_fsusage_space = no; then if test $ac_fsusage_space = no; then
# glibc/Linux, Mac OS X, FreeBSD < 5.0, NetBSD < 3.0, OpenBSD < 4.4. # glibc/Linux, Mac OS X, FreeBSD < 5.0, NetBSD < 3.0, OpenBSD < 4.4.
# (glibc/{Hurd,kFreeBSD}, FreeBSD >= 5.0, NetBSD >= 3.0, # (glibc/{Hurd,kFreeBSD}, FreeBSD >= 5.0, NetBSD >= 3.0,
# OpenBSD >= 4.4, AIX, HP-UX, OSF/1, Cygwin already handled above.) # OpenBSD >= 4.4, AIX, HP-UX, OSF/1, Cygwin already handled above.)
# (On IRIX you need to include <sys/statfs.h>, not only <sys/mount.h> and # (On IRIX you need to include <sys/statfs.h>, not only <sys/mount.h> and
# <sys/vfs.h>.) # <sys/vfs.h>.)
# (On Solaris, statfs has 4 arguments.) # (On Solaris, statfs has 4 arguments.)
AC_MSG_CHECKING([for two-argument statfs with statfs.f_bsize dnl AC_CACHE_CHECK([for two-argument statfs with statfs.f_bsize member (AIX, 4.3BSD)],
member (AIX, 4.3BSD)]) [fu_cv_sys_stat_statfs2_bsize],
AC_CACHE_VAL([fu_cv_sys_stat_statfs2_bsize], [AC_RUN_IFELSE([AC_LANG_SOURCE([[
[AC_RUN_IFELSE([AC_LANG_SOURCE([[
#ifdef HAVE_SYS_PARAM_H #ifdef HAVE_SYS_PARAM_H
#include <sys/param.h> #include <sys/param.h>
#endif #endif
@ -183,57 +187,56 @@ member (AIX, 4.3BSD)])
int int
main () main ()
{ {
struct statfs fsd; struct statfs fsd;
fsd.f_bsize = 0; fsd.f_bsize = 0;
return statfs (".", &fsd) != 0; return statfs (".", &fsd) != 0;
}]])], }]])],
[fu_cv_sys_stat_statfs2_bsize=yes], [fu_cv_sys_stat_statfs2_bsize=yes],
[fu_cv_sys_stat_statfs2_bsize=no], [fu_cv_sys_stat_statfs2_bsize=no],
[fu_cv_sys_stat_statfs2_bsize=no])]) [fu_cv_sys_stat_statfs2_bsize=no])
AC_MSG_RESULT([$fu_cv_sys_stat_statfs2_bsize]) ])
if test $fu_cv_sys_stat_statfs2_bsize = yes; then if test $fu_cv_sys_stat_statfs2_bsize = yes; then
ac_fsusage_space=yes ac_fsusage_space=yes
AC_DEFINE([STAT_STATFS2_BSIZE], [1], AC_DEFINE([STAT_STATFS2_BSIZE], [1],
[ Define if statfs takes 2 args and struct statfs has a field named f_bsize. [Define if statfs takes 2 args and struct statfs has a field named f_bsize.
(4.3BSD, SunOS 4, HP-UX, AIX PS/2)]) (4.3BSD, SunOS 4, HP-UX)])
fi
fi fi
fi
if test $ac_fsusage_space = no; then if test $ac_fsusage_space = no; then
# SVR3 # SVR3
# (Solaris already handled above.) # (Solaris already handled above.)
AC_MSG_CHECKING([for four-argument statfs (AIX-3.2.5, SVR3)]) AC_CACHE_CHECK([for four-argument statfs (SVR3)],
AC_CACHE_VAL([fu_cv_sys_stat_statfs4], [fu_cv_sys_stat_statfs4],
[AC_RUN_IFELSE([AC_LANG_SOURCE([[ [AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <sys/types.h> #include <sys/types.h>
#include <sys/statfs.h> #include <sys/statfs.h>
int int
main () main ()
{ {
struct statfs fsd; struct statfs fsd;
return statfs (".", &fsd, sizeof fsd, 0) != 0; return statfs (".", &fsd, sizeof fsd, 0) != 0;
}]])], }]])],
[fu_cv_sys_stat_statfs4=yes], [fu_cv_sys_stat_statfs4=yes],
[fu_cv_sys_stat_statfs4=no], [fu_cv_sys_stat_statfs4=no],
[fu_cv_sys_stat_statfs4=no])]) [fu_cv_sys_stat_statfs4=no])
AC_MSG_RESULT([$fu_cv_sys_stat_statfs4]) ])
if test $fu_cv_sys_stat_statfs4 = yes; then if test $fu_cv_sys_stat_statfs4 = yes; then
ac_fsusage_space=yes ac_fsusage_space=yes
AC_DEFINE([STAT_STATFS4], [1], AC_DEFINE([STAT_STATFS4], [1],
[ Define if statfs takes 4 args. (SVR3, Dynix, old Irix, old AIX, Dolphin)]) [Define if statfs takes 4 args. (SVR3, old Irix)])
fi
fi fi
fi
if test $ac_fsusage_space = no; then if test $ac_fsusage_space = no; then
# 4.4BSD and older NetBSD # 4.4BSD and older NetBSD
# (OSF/1 already handled above.) # (OSF/1 already handled above.)
# (On AIX, you need to include <sys/statfs.h>, not only <sys/mount.h>.) # (On AIX, you need to include <sys/statfs.h>, not only <sys/mount.h>.)
# (On Solaris, statfs has 4 arguments and 'struct statfs' is not declared in # (On Solaris, statfs has 4 arguments and 'struct statfs' is not declared in
# <sys/mount.h>.) # <sys/mount.h>.)
AC_MSG_CHECKING([for two-argument statfs with statfs.f_fsize dnl AC_CACHE_CHECK([for two-argument statfs with statfs.f_fsize member (4.4BSD and NetBSD)],
member (4.4BSD and NetBSD)]) [fu_cv_sys_stat_statfs2_fsize],
AC_CACHE_VAL([fu_cv_sys_stat_statfs2_fsize], [AC_RUN_IFELSE([AC_LANG_SOURCE([[
[AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <sys/types.h> #include <sys/types.h>
#ifdef HAVE_SYS_PARAM_H #ifdef HAVE_SYS_PARAM_H
#include <sys/param.h> #include <sys/param.h>
@ -244,58 +247,23 @@ member (4.4BSD and NetBSD)])
int int
main () main ()
{ {
struct statfs fsd; struct statfs fsd;
fsd.f_fsize = 0; fsd.f_fsize = 0;
return statfs (".", &fsd) != 0; return statfs (".", &fsd) != 0;
}]])], }]])],
[fu_cv_sys_stat_statfs2_fsize=yes], [fu_cv_sys_stat_statfs2_fsize=yes],
[fu_cv_sys_stat_statfs2_fsize=no], [fu_cv_sys_stat_statfs2_fsize=no],
[fu_cv_sys_stat_statfs2_fsize=no])]) [fu_cv_sys_stat_statfs2_fsize=no])
AC_MSG_RESULT([$fu_cv_sys_stat_statfs2_fsize]) ])
if test $fu_cv_sys_stat_statfs2_fsize = yes; then if test $fu_cv_sys_stat_statfs2_fsize = yes; then
ac_fsusage_space=yes ac_fsusage_space=yes
AC_DEFINE([STAT_STATFS2_FSIZE], [1], AC_DEFINE([STAT_STATFS2_FSIZE], [1],
[ Define if statfs takes 2 args and struct statfs has a field named f_fsize. [Define if statfs takes 2 args and struct statfs has a field named f_fsize.
(4.4BSD, NetBSD)]) (4.4BSD, NetBSD)])
fi
fi fi
fi
if test $ac_fsusage_space = no; then AS_IF([test $ac_fsusage_space = yes], [$1], [$2])
# Ultrix
AC_MSG_CHECKING([for two-argument statfs with struct fs_data (Ultrix)])
AC_CACHE_VAL([fu_cv_sys_stat_fs_data],
[AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <sys/types.h>
#ifdef HAVE_SYS_PARAM_H
#include <sys/param.h>
#endif
#ifdef HAVE_SYS_MOUNT_H
#include <sys/mount.h>
#endif
#ifdef HAVE_SYS_FS_TYPES_H
#include <sys/fs_types.h>
#endif
int
main ()
{
struct fs_data fsd;
/* Ultrix's statfs returns 1 for success,
0 for not mounted, -1 for failure. */
return statfs (".", &fsd) != 1;
}]])],
[fu_cv_sys_stat_fs_data=yes],
[fu_cv_sys_stat_fs_data=no],
[fu_cv_sys_stat_fs_data=no])])
AC_MSG_RESULT([$fu_cv_sys_stat_fs_data])
if test $fu_cv_sys_stat_fs_data = yes; then
ac_fsusage_space=yes
AC_DEFINE([STAT_STATFS2_FS_DATA], [1],
[ Define if statfs takes 2 args and the second argument has
type struct fs_data. (Ultrix)])
fi
fi
AS_IF([test $ac_fsusage_space = yes], [$1], [$2])
]) ])
@ -305,18 +273,22 @@ AS_IF([test $ac_fsusage_space = yes], [$1], [$2])
# enable the work-around code in fsusage.c. # enable the work-around code in fsusage.c.
AC_DEFUN([gl_STATFS_TRUNCATES], AC_DEFUN([gl_STATFS_TRUNCATES],
[ [
AC_MSG_CHECKING([for statfs that truncates block counts]) AC_CACHE_CHECK([for statfs that truncates block counts],
AC_CACHE_VAL([fu_cv_sys_truncating_statfs], [fu_cv_sys_truncating_statfs],
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ [AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([[
#if !defined(sun) && !defined(__sun) #if !defined(sun) && !defined(__sun)
choke -- this is a workaround for a Sun-specific problem choke -- this is a workaround for a Sun-specific problem
#endif #endif
#include <sys/types.h> #include <sys/types.h>
#include <sys/vfs.h>]], #include <sys/vfs.h>
[[struct statfs t; long c = *(t.f_spare); ]],
if (c) return 0;]])], [[struct statfs t; long c = *(t.f_spare);
[fu_cv_sys_truncating_statfs=yes], if (c) return 0;
[fu_cv_sys_truncating_statfs=no])]) ]])],
[fu_cv_sys_truncating_statfs=yes],
[fu_cv_sys_truncating_statfs=no])
])
if test $fu_cv_sys_truncating_statfs = yes; then if test $fu_cv_sys_truncating_statfs = yes; then
AC_DEFINE([STATFS_TRUNCATES_BLOCK_COUNTS], [1], AC_DEFINE([STATFS_TRUNCATES_BLOCK_COUNTS], [1],
[Define if the block counts reported by statfs may be truncated to 2GB [Define if the block counts reported by statfs may be truncated to 2GB
@ -324,13 +296,12 @@ choke -- this is a workaround for a Sun-specific problem
(SunOS 4.1.2, 4.1.3, and 4.1.3_U1 are reported to have this problem. (SunOS 4.1.2, 4.1.3, and 4.1.3_U1 are reported to have this problem.
SunOS 4.1.1 seems not to be affected.)]) SunOS 4.1.1 seems not to be affected.)])
fi fi
AC_MSG_RESULT([$fu_cv_sys_truncating_statfs])
]) ])
# Prerequisites of lib/fsusage.c not done by gl_FILE_SYSTEM_USAGE. # Prerequisites of lib/fsusage.c not done by gl_FILE_SYSTEM_USAGE.
AC_DEFUN([gl_PREREQ_FSUSAGE_EXTRA], AC_DEFUN([gl_PREREQ_FSUSAGE_EXTRA],
[ [
AC_CHECK_HEADERS([dustat.h sys/fs/s5param.h sys/statfs.h]) AC_CHECK_HEADERS([sys/fs/s5param.h sys/statfs.h])
gl_STATFS_TRUNCATES gl_STATFS_TRUNCATES
]) ])

View File

@ -1,47 +1,49 @@
# serial 33 # serial 36
# How to list mounted file systems. # How to list mounted file systems.
# Copyright (C) 1998-2004, 2006, 2009-2017 Free Software Foundation, Inc. # Copyright (C) 1998-2004, 2006, 2009-2018 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
dnl From Jim Meyering. dnl From Jim Meyering.
dnl
AC_PREREQ([2.60])
dnl This is not pretty. I've just taken the autoconf code and wrapped dnl This is not pretty. I've just taken the autoconf code and wrapped
dnl it in an AC_DEFUN and made some other fixes. dnl it in an AC_DEFUN and made some other fixes.
dnl
# Replace Autoconf's AC_FUNC_GETMNTENT to work around a bug in Autoconf # Replace Autoconf's AC_FUNC_GETMNTENT to omit checks that are unnecessary
# through Autoconf 2.59. We can remove this once we assume Autoconf 2.60 # nowadays.
# or later.
AC_DEFUN([AC_FUNC_GETMNTENT], AC_DEFUN([AC_FUNC_GETMNTENT],
[# getmntent is in the standard C library on UNICOS, in -lsun on Irix 4, [
# -lseq on Dynix/PTX, -lgen on Unixware. # getmntent is in the standard C library on UNICOS, in -lsun on Irix 4,
AC_SEARCH_LIBS([getmntent], [sun seq gen]) # -lgen on Unixware.
AC_CHECK_FUNCS([getmntent]) AC_SEARCH_LIBS([getmntent], [sun gen])
AC_CHECK_FUNCS([getmntent])
]) ])
# gl_LIST_MOUNTED_FILE_SYSTEMS([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) # gl_LIST_MOUNTED_FILE_SYSTEMS([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
AC_DEFUN([gl_LIST_MOUNTED_FILE_SYSTEMS], AC_DEFUN([gl_LIST_MOUNTED_FILE_SYSTEMS],
[ [
AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AC_CANONICAL_HOST])
AC_CHECK_FUNCS([listmntent getmntinfo]) AC_CHECK_FUNCS([listmntent])
AC_CHECK_HEADERS_ONCE([sys/param.h sys/statvfs.h]) AC_CHECK_HEADERS_ONCE([sys/param.h sys/statvfs.h])
# We must include grp.h before ucred.h on OSF V4.0, since ucred.h uses # We must include grp.h before ucred.h on OSF V4.0, since ucred.h uses
# NGROUPS (as the array dimension for a struct member) without a definition. # NGROUPS (as the array dimension for a struct member) without a definition.
AC_CHECK_HEADERS([sys/ucred.h], [], [], [#include <grp.h>]) AC_CHECK_HEADERS([sys/ucred.h], [], [], [#include <grp.h>])
AC_CHECK_HEADERS([sys/mount.h], [], [], AC_CHECK_HEADERS([sys/mount.h], [], [],
[AC_INCLUDES_DEFAULT [AC_INCLUDES_DEFAULT
[#if HAVE_SYS_PARAM_H [#if HAVE_SYS_PARAM_H
#include <sys/param.h> #include <sys/param.h>
#endif]]) #endif
]])
AC_CHECK_HEADERS([mntent.h sys/fs_types.h]) AC_CHECK_HEADERS([mntent.h sys/fs_types.h])
getfsstat_includes="\ getfsstat_includes="\
$ac_includes_default $ac_includes_default
#if HAVE_SYS_PARAM_H #if HAVE_SYS_PARAM_H
# include <sys/param.h> /* needed by powerpc-apple-darwin1.3.7 */ # include <sys/param.h> /* needed by powerpc-apple-darwin1.3.7 */
@ -57,74 +59,42 @@ $ac_includes_default
# include <sys/fs_types.h> /* needed by powerpc-apple-darwin1.3.7 */ # include <sys/fs_types.h> /* needed by powerpc-apple-darwin1.3.7 */
#endif #endif
" "
AC_CHECK_MEMBERS([struct fsstat.f_fstypename],,,[$getfsstat_includes]) AC_CHECK_MEMBERS([struct fsstat.f_fstypename],,,[$getfsstat_includes])
# Determine how to get the list of mounted file systems. # Determine how to get the list of mounted file systems.
ac_list_mounted_fs= ac_list_mounted_fs=
# If the getmntent function is available but not in the standard library, # If the getmntent function is available but not in the standard library,
# make sure LIBS contains the appropriate -l option. # make sure LIBS contains the appropriate -l option.
AC_FUNC_GETMNTENT AC_FUNC_GETMNTENT
# This test must precede the ones for getmntent because Unicos-9 is if test -z "$ac_list_mounted_fs"; then
# reported to have the getmntent function, but its support is incompatible # AIX.
# with other getmntent implementations. AC_CACHE_CHECK([for mntctl function and struct vmount],
[fu_cv_sys_mounted_vmount],
# NOTE: Normally, I wouldn't use a check for system type as I've done for [AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include <fshelp.h>]])],
# 'CRAY' below since that goes against the whole autoconf philosophy. But [fu_cv_sys_mounted_vmount=yes],
# I think there is too great a chance that some non-Cray system has a [fu_cv_sys_mounted_vmount=no])])
# function named listmntent to risk the false positive. if test $fu_cv_sys_mounted_vmount = yes; then
ac_list_mounted_fs=found
if test -z "$ac_list_mounted_fs"; then AC_DEFINE([MOUNTED_VMOUNT], [1],
# Cray UNICOS 9
AC_MSG_CHECKING([for listmntent of Cray/Unicos-9])
AC_CACHE_VAL([fu_cv_sys_mounted_cray_listmntent],
[fu_cv_sys_mounted_cray_listmntent=no
AC_EGREP_CPP([yes],
[#ifdef _CRAY
yes
#endif
], [test $ac_cv_func_listmntent = yes \
&& fu_cv_sys_mounted_cray_listmntent=yes]
)
]
)
AC_MSG_RESULT([$fu_cv_sys_mounted_cray_listmntent])
if test $fu_cv_sys_mounted_cray_listmntent = yes; then
ac_list_mounted_fs=found
AC_DEFINE([MOUNTED_LISTMNTENT], [1],
[Define if there is a function named listmntent that can be used to
list all mounted file systems. (UNICOS)])
fi
fi
if test -z "$ac_list_mounted_fs"; then
# AIX.
AC_MSG_CHECKING([for mntctl function and struct vmount])
AC_CACHE_VAL([fu_cv_sys_mounted_vmount],
[AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include <fshelp.h>]])],
[fu_cv_sys_mounted_vmount=yes],
[fu_cv_sys_mounted_vmount=no])])
AC_MSG_RESULT([$fu_cv_sys_mounted_vmount])
if test $fu_cv_sys_mounted_vmount = yes; then
ac_list_mounted_fs=found
AC_DEFINE([MOUNTED_VMOUNT], [1],
[Define if there is a function named mntctl that can be used to read [Define if there is a function named mntctl that can be used to read
the list of mounted file systems, and there is a system header file the list of mounted file systems, and there is a system header file
that declares 'struct vmount'. (AIX)]) that declares 'struct vmount'. (AIX)])
fi
fi fi
fi
if test $ac_cv_func_getmntent = yes; then if test $ac_cv_func_getmntent = yes; then
# This system has the getmntent function. # This system has the getmntent function.
# Determine whether it's the one-argument variant or the two-argument one. # Determine whether it's the one-argument variant or the two-argument one.
if test -z "$ac_list_mounted_fs"; then if test -z "$ac_list_mounted_fs"; then
# GNU/Linux, 4.3BSD, SunOS, HP-UX, Dynix, Irix # glibc, HP-UX, IRIX, Cygwin, Android, also (obsolete) 4.3BSD, SunOS.
AC_MSG_CHECKING([for one-argument getmntent function]) AC_CACHE_CHECK([for one-argument getmntent function],
AC_CACHE_VAL([fu_cv_sys_mounted_getmntent1], [fu_cv_sys_mounted_getmntent1],
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ [AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([[
/* SunOS 4.1.x /usr/include/mntent.h needs this for FILE */ /* SunOS 4.1.x /usr/include/mntent.h needs this for FILE */
#include <stdio.h> #include <stdio.h>
@ -136,109 +106,143 @@ if test $ac_cv_func_getmntent = yes; then
# if defined MNT_MNTTAB /* HP-UX. */ # if defined MNT_MNTTAB /* HP-UX. */
# define MOUNTED MNT_MNTTAB # define MOUNTED MNT_MNTTAB
# endif # endif
# if defined MNTTABNAME /* Dynix. */
# define MOUNTED MNTTABNAME
# endif
#endif #endif
]], ]],
[[ struct mntent *mnt = 0; char *table = MOUNTED; [[struct mntent *mnt = 0; char *table = MOUNTED;
if (sizeof mnt && sizeof table) return 0;]])], if (sizeof mnt && sizeof table) return 0;
[fu_cv_sys_mounted_getmntent1=yes], ]])],
[fu_cv_sys_mounted_getmntent1=no])]) [fu_cv_sys_mounted_getmntent1=yes],
AC_MSG_RESULT([$fu_cv_sys_mounted_getmntent1]) [fu_cv_sys_mounted_getmntent1=no])
if test $fu_cv_sys_mounted_getmntent1 = yes; then ])
ac_list_mounted_fs=found if test $fu_cv_sys_mounted_getmntent1 = yes; then
AC_DEFINE([MOUNTED_GETMNTENT1], [1], ac_list_mounted_fs=found
[Define if there is a function named getmntent for reading the list AC_DEFINE([MOUNTED_GETMNTENT1], [1],
of mounted file systems, and that function takes a single argument. [Define if there is a function named getmntent for reading the list
(4.3BSD, SunOS, HP-UX, Dynix, Irix)]) of mounted file systems, and that function takes a single argument.
AC_CHECK_FUNCS([hasmntopt]) (4.3BSD, SunOS, HP-UX, Irix)])
AC_CHECK_FUNCS([hasmntopt])
fi
fi fi
if test -z "$ac_list_mounted_fs"; then
# Solaris >= 8.
AC_CACHE_CHECK([for getextmntent function],
[fu_cv_sys_mounted_getextmntent],
[AC_EGREP_HEADER([getextmntent], [sys/mnttab.h],
[fu_cv_sys_mounted_getextmntent=yes],
[fu_cv_sys_mounted_getextmntent=no])])
if test $fu_cv_sys_mounted_getextmntent = yes; then
ac_list_mounted_fs=found
AC_DEFINE([MOUNTED_GETEXTMNTENT], [1],
[Define if there is a function named getextmntent for reading the list
of mounted file systems. (Solaris)])
fi
fi
if test -z "$ac_list_mounted_fs"; then
# Solaris < 8, also (obsolete) SVR4.
# Solaris >= 8 has the two-argument getmntent but is already handled above.
AC_CACHE_CHECK([for two-argument getmntent function],
[fu_cv_sys_mounted_getmntent2],
[AC_EGREP_HEADER([getmntent], [sys/mnttab.h],
[fu_cv_sys_mounted_getmntent2=yes],
[fu_cv_sys_mounted_getmntent2=no])
])
if test $fu_cv_sys_mounted_getmntent2 = yes; then
ac_list_mounted_fs=found
AC_DEFINE([MOUNTED_GETMNTENT2], [1],
[Define if there is a function named getmntent for reading the list of
mounted file systems, and that function takes two arguments. (SVR4)])
AC_CHECK_FUNCS([hasmntopt])
fi
fi
fi fi
if test -z "$ac_list_mounted_fs"; then if test -z "$ac_list_mounted_fs"; then
# SVR4 # OSF/1, also (obsolete) Apple Darwin 1.3.
AC_MSG_CHECKING([for two-argument getmntent function]) # powerpc-apple-darwin1.3.7 needs sys/param.h sys/ucred.h sys/fs_types.h
AC_CACHE_VAL([fu_cv_sys_mounted_getmntent2],
[AC_EGREP_HEADER([getmntent], [sys/mnttab.h],
fu_cv_sys_mounted_getmntent2=yes,
fu_cv_sys_mounted_getmntent2=no)])
AC_MSG_RESULT([$fu_cv_sys_mounted_getmntent2])
if test $fu_cv_sys_mounted_getmntent2 = yes; then
ac_list_mounted_fs=found
AC_DEFINE([MOUNTED_GETMNTENT2], [1],
[Define if there is a function named getmntent for reading the list of
mounted file systems, and that function takes two arguments. (SVR4)])
AC_CHECK_FUNCS([hasmntopt])
fi
fi
fi AC_CACHE_CHECK([for getfsstat function],
[fu_cv_sys_mounted_getfsstat],
if test -z "$ac_list_mounted_fs"; then [AC_LINK_IFELSE(
# DEC Alpha running OSF/1, and Apple Darwin 1.3. [AC_LANG_PROGRAM([[
# powerpc-apple-darwin1.3.7 needs sys/param.h sys/ucred.h sys/fs_types.h
AC_MSG_CHECKING([for getfsstat function])
AC_CACHE_VAL([fu_cv_sys_mounted_getfsstat],
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[
#include <sys/types.h> #include <sys/types.h>
#if HAVE_STRUCT_FSSTAT_F_FSTYPENAME #if HAVE_STRUCT_FSSTAT_F_FSTYPENAME
# define FS_TYPE(Ent) ((Ent).f_fstypename) # define FS_TYPE(Ent) ((Ent).f_fstypename)
#else #else
# define FS_TYPE(Ent) mnt_names[(Ent).f_type] # define FS_TYPE(Ent) mnt_names[(Ent).f_type]
#endif #endif
$getfsstat_includes]] $getfsstat_includes
, ]],
[[struct statfs *stats; [[struct statfs *stats;
int numsys = getfsstat ((struct statfs *)0, 0L, MNT_WAIT); int numsys = getfsstat ((struct statfs *)0, 0L, MNT_WAIT);
char *t = FS_TYPE (*stats); ]])], char *t = FS_TYPE (*stats);
[fu_cv_sys_mounted_getfsstat=yes], ]])],
[fu_cv_sys_mounted_getfsstat=no])]) [fu_cv_sys_mounted_getfsstat=yes],
AC_MSG_RESULT([$fu_cv_sys_mounted_getfsstat]) [fu_cv_sys_mounted_getfsstat=no])
if test $fu_cv_sys_mounted_getfsstat = yes; then ])
ac_list_mounted_fs=found if test $fu_cv_sys_mounted_getfsstat = yes; then
AC_DEFINE([MOUNTED_GETFSSTAT], [1], ac_list_mounted_fs=found
[Define if there is a function named getfsstat for reading the AC_DEFINE([MOUNTED_GETFSSTAT], [1],
list of mounted file systems. (DEC Alpha running OSF/1)]) [Define if there is a function named getfsstat for reading the
list of mounted file systems. (DEC Alpha running OSF/1)])
fi
fi fi
fi
if test -z "$ac_list_mounted_fs"; then if test -z "$ac_list_mounted_fs"; then
# SVR3 # (obsolete) SVR3
AC_MSG_CHECKING([for FIXME existence of three headers]) AC_CACHE_CHECK([for FIXME existence of three headers],
AC_CACHE_VAL([fu_cv_sys_mounted_fread_fstyp], [fu_cv_sys_mounted_fread_fstyp],
[AC_PREPROC_IFELSE([AC_LANG_SOURCE([[ [AC_PREPROC_IFELSE([AC_LANG_SOURCE([[
#include <sys/statfs.h> #include <sys/statfs.h>
#include <sys/fstyp.h> #include <sys/fstyp.h>
#include <mnttab.h>]])], #include <mnttab.h>
[fu_cv_sys_mounted_fread_fstyp=yes], ]])],
[fu_cv_sys_mounted_fread_fstyp=no])]) [fu_cv_sys_mounted_fread_fstyp=yes],
AC_MSG_RESULT([$fu_cv_sys_mounted_fread_fstyp]) [fu_cv_sys_mounted_fread_fstyp=no])
if test $fu_cv_sys_mounted_fread_fstyp = yes; then ])
ac_list_mounted_fs=found if test $fu_cv_sys_mounted_fread_fstyp = yes; then
AC_DEFINE([MOUNTED_FREAD_FSTYP], [1], ac_list_mounted_fs=found
[Define if (like SVR2) there is no specific function for reading the AC_DEFINE([MOUNTED_FREAD_FSTYP], [1],
list of mounted file systems, and your system has these header files: [Define if (like SVR2) there is no specific function for reading the
<sys/fstyp.h> and <sys/statfs.h>. (SVR3)]) list of mounted file systems, and your system has these header files:
<sys/fstyp.h> and <sys/statfs.h>. (SVR3)])
fi
fi fi
fi
if test -z "$ac_list_mounted_fs"; then if test -z "$ac_list_mounted_fs"; then
# 4.4BSD and DEC OSF/1. # Mac OS X, FreeBSD, NetBSD, OpenBSD, Minix, also (obsolete) 4.4BSD.
AC_MSG_CHECKING([for getmntinfo function]) # OSF/1 also has getmntinfo but is already handled above.
AC_CACHE_VAL([fu_cv_sys_mounted_getmntinfo], # We cannot use AC_CHECK_FUNCS([getmntinfo]) here, because at the linker
[ # level the function is sometimes called getmntinfo64 or getmntinfo$INODE64
test "$ac_cv_func_getmntinfo" = yes \ # on Mac OS X, __getmntinfo13 on NetBSD and Minix, _F64_getmntinfo on OSF/1.
&& fu_cv_sys_mounted_getmntinfo=yes \ AC_CACHE_CHECK([for getmntinfo function],
|| fu_cv_sys_mounted_getmntinfo=no [fu_cv_sys_mounted_getmntinfo],
]) [AC_LINK_IFELSE(
AC_MSG_RESULT([$fu_cv_sys_mounted_getmntinfo]) [AC_LANG_PROGRAM([[
if test $fu_cv_sys_mounted_getmntinfo = yes; then #if HAVE_SYS_PARAM_H
AC_MSG_CHECKING([whether getmntinfo returns statvfs structures]) # include <sys/param.h>
AC_CACHE_VAL([fu_cv_sys_mounted_getmntinfo2], #endif
[ #include <sys/types.h>
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #if HAVE_SYS_MOUNT_H
# include <sys/mount.h>
#endif
#if HAVE_SYS_STATVFS_H
# include <sys/statvfs.h>
#endif
#include <stdlib.h>
]],
[[int count = getmntinfo (NULL, MNT_WAIT);
]])],
[fu_cv_sys_mounted_getmntinfo=yes],
[fu_cv_sys_mounted_getmntinfo=no])
])
if test $fu_cv_sys_mounted_getmntinfo = yes; then
AC_CACHE_CHECK([whether getmntinfo returns statvfs structures],
[fu_cv_sys_mounted_getmntinfo2],
[AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([[
#if HAVE_SYS_PARAM_H #if HAVE_SYS_PARAM_H
# include <sys/param.h> # include <sys/param.h>
#endif #endif
@ -254,106 +258,73 @@ extern
"C" "C"
#endif #endif
int getmntinfo (struct statfs **, int); int getmntinfo (struct statfs **, int);
]], [])], ]], [])],
[fu_cv_sys_mounted_getmntinfo2=no], [fu_cv_sys_mounted_getmntinfo2=no],
[fu_cv_sys_mounted_getmntinfo2=yes]) [fu_cv_sys_mounted_getmntinfo2=yes])
])
if test $fu_cv_sys_mounted_getmntinfo2 = no; then
# Mac OS X, FreeBSD, OpenBSD, also (obsolete) 4.4BSD.
ac_list_mounted_fs=found
AC_DEFINE([MOUNTED_GETMNTINFO], [1],
[Define if there is a function named getmntinfo for reading the
list of mounted file systems and it returns an array of
'struct statfs'. (4.4BSD, Darwin)])
else
# NetBSD, Minix.
ac_list_mounted_fs=found
AC_DEFINE([MOUNTED_GETMNTINFO2], [1],
[Define if there is a function named getmntinfo for reading the
list of mounted file systems and it returns an array of
'struct statvfs'. (NetBSD 3.0)])
fi
fi
fi
if test -z "$ac_list_mounted_fs"; then
# Haiku, also (obsolete) BeOS.
AC_CHECK_FUNCS([next_dev fs_stat_dev])
AC_CHECK_HEADERS([fs_info.h])
AC_CACHE_CHECK([for BEOS mounted file system support functions],
[fu_cv_sys_mounted_fs_stat_dev],
[if test $ac_cv_header_fs_info_h = yes \
&& test $ac_cv_func_next_dev = yes \
&& test $ac_cv_func_fs_stat_dev = yes; then
fu_cv_sys_mounted_fs_stat_dev=yes
else
fu_cv_sys_mounted_fs_stat_dev=no
fi
]) ])
AC_MSG_RESULT([$fu_cv_sys_mounted_getmntinfo2]) if test $fu_cv_sys_mounted_fs_stat_dev = yes; then
if test $fu_cv_sys_mounted_getmntinfo2 = no; then
ac_list_mounted_fs=found ac_list_mounted_fs=found
AC_DEFINE([MOUNTED_GETMNTINFO], [1], AC_DEFINE([MOUNTED_FS_STAT_DEV], [1],
[Define if there is a function named getmntinfo for reading the [Define if there are functions named next_dev and fs_stat_dev for
list of mounted file systems and it returns an array of reading the list of mounted file systems. (BeOS)])
'struct statfs'. (4.4BSD, Darwin)])
else
ac_list_mounted_fs=found
AC_DEFINE([MOUNTED_GETMNTINFO2], [1],
[Define if there is a function named getmntinfo for reading the
list of mounted file systems and it returns an array of
'struct statvfs'. (NetBSD 3.0)])
fi fi
fi fi
fi
if test -z "$ac_list_mounted_fs"; then if test -z "$ac_list_mounted_fs"; then
# Ultrix # Interix / BSD alike statvfs
AC_MSG_CHECKING([for getmnt function]) # the code is really interix specific, so make sure, we're on it.
AC_CACHE_VAL([fu_cv_sys_mounted_getmnt], case "$host" in
[AC_PREPROC_IFELSE([AC_LANG_SOURCE([[ *-interix*)
#include <sys/fs_types.h> AC_CHECK_FUNCS([statvfs])
#include <sys/mount.h>]])], if test $ac_cv_func_statvfs = yes; then
[fu_cv_sys_mounted_getmnt=yes], ac_list_mounted_fs=found
[fu_cv_sys_mounted_getmnt=no])]) AC_DEFINE([MOUNTED_INTERIX_STATVFS], [1],
AC_MSG_RESULT([$fu_cv_sys_mounted_getmnt]) [Define if we are on interix, and ought to use statvfs plus
if test $fu_cv_sys_mounted_getmnt = yes; then some special knowledge on where mounted file systems can be
ac_list_mounted_fs=found found. (Interix)])
AC_DEFINE([MOUNTED_GETMNT], [1], fi
[Define if there is a function named getmnt for reading the list of ;;
mounted file systems. (Ultrix)]) esac
fi fi
fi
if test -z "$ac_list_mounted_fs"; then if test -z "$ac_list_mounted_fs"; then
# BeOS AC_MSG_ERROR([could not determine how to read list of mounted file systems])
AC_CHECK_FUNCS([next_dev fs_stat_dev]) # FIXME -- no need to abort building the whole package
AC_CHECK_HEADERS([fs_info.h]) # Can't build mountlist.c or anything that needs its functions
AC_MSG_CHECKING([for BEOS mounted file system support functions])
if test $ac_cv_header_fs_info_h = yes \
&& test $ac_cv_func_next_dev = yes \
&& test $ac_cv_func_fs_stat_dev = yes; then
fu_result=yes
else
fu_result=no
fi fi
AC_MSG_RESULT([$fu_result])
if test $fu_result = yes; then
ac_list_mounted_fs=found
AC_DEFINE([MOUNTED_FS_STAT_DEV], [1],
[Define if there are functions named next_dev and fs_stat_dev for
reading the list of mounted file systems. (BeOS)])
fi
fi
if test -z "$ac_list_mounted_fs"; then AS_IF([test $ac_list_mounted_fs = found], [$1], [$2])
# SVR2
AC_MSG_CHECKING([whether it is possible to resort to fread on /etc/mnttab])
AC_CACHE_VAL([fu_cv_sys_mounted_fread],
[AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include <mnttab.h>]])],
[fu_cv_sys_mounted_fread=yes],
[fu_cv_sys_mounted_fread=no])])
AC_MSG_RESULT([$fu_cv_sys_mounted_fread])
if test $fu_cv_sys_mounted_fread = yes; then
ac_list_mounted_fs=found
AC_DEFINE([MOUNTED_FREAD], [1],
[Define if there is no specific function for reading the list of
mounted file systems. fread will be used to read /etc/mnttab.
(SVR2) ])
fi
fi
if test -z "$ac_list_mounted_fs"; then ])
# Interix / BSD alike statvfs
# the code is really interix specific, so make sure, we're on it.
case "$host" in
*-interix*)
AC_CHECK_FUNCS([statvfs])
if test $ac_cv_func_statvfs = yes; then
ac_list_mounted_fs=found
AC_DEFINE([MOUNTED_INTERIX_STATVFS], [1],
[Define if we are on interix, and ought to use statvfs plus
some special knowledge on where mounted file systems can be
found. (Interix)])
fi
;;
esac
fi
if test -z "$ac_list_mounted_fs"; then
AC_MSG_ERROR([could not determine how to read list of mounted file systems])
# FIXME -- no need to abort building the whole package
# Can't build mountlist.c or anything that needs its functions
fi
AS_IF([test $ac_list_mounted_fs = found], [$1], [$2])
])

View File

@ -68,7 +68,7 @@ do_view_action() {
fi fi
;; ;;
msxls) msxls)
if xlHtml >/dev/null 2>&1; then if xlhtml >/dev/null 2>&1; then
tmp=`mktemp -d ${TMPDIR:-/tmp}/%p.XXXXXX` tmp=`mktemp -d ${TMPDIR:-/tmp}/%p.XXXXXX`
xlhtml -a "${MC_EXT_FILENAME}" > "$tmp/page.html" xlhtml -a "${MC_EXT_FILENAME}" > "$tmp/page.html"
elinks -dump "$tmp/page.html" elinks -dump "$tmp/page.html"

View File

@ -70,7 +70,7 @@ include makefile.syntax
file (CMakeLists.txt|.\*.cmake)$ CMake file (CMakeLists.txt|.\*.cmake)$ CMake
include cmake.syntax include cmake.syntax
file meson.build$ Meson\sBuild\sFile file meson\\.build$ Meson\sBuild\sFile
include meson.syntax include meson.syntax
file ..\*\\.(?i:pas|dpr|inc)$ Pascal\sProgram file ..\*\\.(?i:pas|dpr|inc)$ Pascal\sProgram
@ -181,7 +181,7 @@ include m4.syntax
file ..\*\\.(bat|cmd)$ DOS\sBatch file ..\*\\.(bat|cmd)$ DOS\sBatch
include dos.syntax include dos.syntax
file ..\*\\.(po|pot|pox)$ PO\sFile file ..\*\\.po[tx]?$ PO\sFile
include po.syntax include po.syntax
file ..\*\\.(?i:asm|s)$ ASM\sProgram file ..\*\\.(?i:asm|s)$ ASM\sProgram
@ -277,7 +277,7 @@ include puppet.syntax
file ..\*\\.(glsl|vert|frag|geom)$ GLSL\sProgram file ..\*\\.(glsl|vert|frag|geom)$ GLSL\sProgram
include glsl.syntax include glsl.syntax
file ..\*\\.(cu|cuh)$ CUDA\sProgram file ..\*\\.cuh?$ CUDA\sProgram
include cuda.syntax include cuda.syntax
file ..\*\\.cl$ OpenCL\sProgram file ..\*\\.cl$ OpenCL\sProgram

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-04-30 12:37+0000\n" "PO-Revision-Date: 2018-04-30 12:37+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Azerbaijani (http://www.transifex.com/mc/mc/language/az/)\n" "Language-Team: Azerbaijani (http://www.transifex.com/mc/mc/language/az/)\n"

View File

@ -11,7 +11,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-05-21 16:57+0000\n" "PO-Revision-Date: 2018-05-21 16:57+0000\n"
"Last-Translator: Zmicer Turok <zmicerturok@gmail.com>\n" "Last-Translator: Zmicer Turok <zmicerturok@gmail.com>\n"
"Language-Team: Belarusian (http://www.transifex.com/mc/mc/language/be/)\n" "Language-Team: Belarusian (http://www.transifex.com/mc/mc/language/be/)\n"

View File

@ -11,7 +11,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-04-30 12:37+0000\n" "PO-Revision-Date: 2018-04-30 12:37+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Bulgarian (http://www.transifex.com/mc/mc/language/bg/)\n" "Language-Team: Bulgarian (http://www.transifex.com/mc/mc/language/bg/)\n"

View File

@ -16,7 +16,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-05-21 16:46+0000\n" "PO-Revision-Date: 2018-05-21 16:46+0000\n"
"Last-Translator: Marc Tormo i Bochaca <mtbochaca@gmail.com>\n" "Last-Translator: Marc Tormo i Bochaca <mtbochaca@gmail.com>\n"
"Language-Team: Catalan (http://www.transifex.com/mc/mc/language/ca/)\n" "Language-Team: Catalan (http://www.transifex.com/mc/mc/language/ca/)\n"

View File

@ -13,7 +13,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-05-22 14:53+0000\n" "PO-Revision-Date: 2018-05-22 14:53+0000\n"
"Last-Translator: Pavel Borecki <pavel.borecki@gmail.com>\n" "Last-Translator: Pavel Borecki <pavel.borecki@gmail.com>\n"
"Language-Team: Czech (http://www.transifex.com/mc/mc/language/cs/)\n" "Language-Team: Czech (http://www.transifex.com/mc/mc/language/cs/)\n"

View File

@ -13,7 +13,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-05-15 17:16+0000\n" "PO-Revision-Date: 2018-05-15 17:16+0000\n"
"Last-Translator: Morten Bo Johansen <mortenbo@hotmail.com>\n" "Last-Translator: Morten Bo Johansen <mortenbo@hotmail.com>\n"
"Language-Team: Danish (http://www.transifex.com/mc/mc/language/da/)\n" "Language-Team: Danish (http://www.transifex.com/mc/mc/language/da/)\n"

View File

@ -18,7 +18,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-04-30 12:37+0000\n" "PO-Revision-Date: 2018-04-30 12:37+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: German (http://www.transifex.com/mc/mc/language/de/)\n" "Language-Team: German (http://www.transifex.com/mc/mc/language/de/)\n"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2015-02-26 09:48+0000\n" "PO-Revision-Date: 2015-02-26 09:48+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: German (Switzerland) (http://www.transifex.com/projects/p/mc/" "Language-Team: German (Switzerland) (http://www.transifex.com/projects/p/mc/"

View File

@ -12,7 +12,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-04-30 12:37+0000\n" "PO-Revision-Date: 2018-04-30 12:37+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Greek (http://www.transifex.com/mc/mc/language/el/)\n" "Language-Team: Greek (http://www.transifex.com/mc/mc/language/el/)\n"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-04-30 12:37+0000\n" "PO-Revision-Date: 2018-04-30 12:37+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: English (United Kingdom) (http://www.transifex.com/mc/mc/" "Language-Team: English (United Kingdom) (http://www.transifex.com/mc/mc/"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-04-30 12:37+0000\n" "PO-Revision-Date: 2018-04-30 12:37+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Esperanto (http://www.transifex.com/mc/mc/language/eo/)\n" "Language-Team: Esperanto (http://www.transifex.com/mc/mc/language/eo/)\n"

View File

@ -13,7 +13,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-04-30 20:11+0000\n" "PO-Revision-Date: 2018-04-30 20:11+0000\n"
"Last-Translator: David Martin <dhmartina@yahoo.es>\n" "Last-Translator: David Martin <dhmartina@yahoo.es>\n"
"Language-Team: Spanish (http://www.transifex.com/mc/mc/language/es/)\n" "Language-Team: Spanish (http://www.transifex.com/mc/mc/language/es/)\n"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-04-30 12:37+0000\n" "PO-Revision-Date: 2018-04-30 12:37+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Estonian (http://www.transifex.com/mc/mc/language/et/)\n" "Language-Team: Estonian (http://www.transifex.com/mc/mc/language/et/)\n"

View File

@ -9,7 +9,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-05-12 11:25+0000\n" "PO-Revision-Date: 2018-05-12 11:25+0000\n"
"Last-Translator: Iñigo Salvador Azurmendi <xalba@euskalnet.net>\n" "Last-Translator: Iñigo Salvador Azurmendi <xalba@euskalnet.net>\n"
"Language-Team: Basque (http://www.transifex.com/mc/mc/language/eu/)\n" "Language-Team: Basque (http://www.transifex.com/mc/mc/language/eu/)\n"

View File

@ -12,7 +12,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-04-30 12:37+0000\n" "PO-Revision-Date: 2018-04-30 12:37+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Persian (http://www.transifex.com/mc/mc/language/fa/)\n" "Language-Team: Persian (http://www.transifex.com/mc/mc/language/fa/)\n"

View File

@ -10,7 +10,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-04-30 12:37+0000\n" "PO-Revision-Date: 2018-04-30 12:37+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Finnish (http://www.transifex.com/mc/mc/language/fi/)\n" "Language-Team: Finnish (http://www.transifex.com/mc/mc/language/fi/)\n"

View File

@ -17,7 +17,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-05-03 09:01+0000\n" "PO-Revision-Date: 2018-05-03 09:01+0000\n"
"Last-Translator: David Prudhomme <david7.prudhomme@gmail.com>\n" "Last-Translator: David Prudhomme <david7.prudhomme@gmail.com>\n"
"Language-Team: French (http://www.transifex.com/mc/mc/language/fr/)\n" "Language-Team: French (http://www.transifex.com/mc/mc/language/fr/)\n"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2015-02-26 09:48+0000\n" "PO-Revision-Date: 2015-02-26 09:48+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: French (Canada) (http://www.transifex.com/projects/p/mc/" "Language-Team: French (Canada) (http://www.transifex.com/projects/p/mc/"

View File

@ -12,7 +12,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-04-30 12:37+0000\n" "PO-Revision-Date: 2018-04-30 12:37+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Galician (http://www.transifex.com/mc/mc/language/gl/)\n" "Language-Team: Galician (http://www.transifex.com/mc/mc/language/gl/)\n"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-04-30 12:37+0000\n" "PO-Revision-Date: 2018-04-30 12:37+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Croatian (http://www.transifex.com/mc/mc/language/hr/)\n" "Language-Team: Croatian (http://www.transifex.com/mc/mc/language/hr/)\n"

View File

@ -11,7 +11,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-04-30 12:37+0000\n" "PO-Revision-Date: 2018-04-30 12:37+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Hungarian (http://www.transifex.com/mc/mc/language/hu/)\n" "Language-Team: Hungarian (http://www.transifex.com/mc/mc/language/hu/)\n"

View File

@ -10,7 +10,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-04-30 12:37+0000\n" "PO-Revision-Date: 2018-04-30 12:37+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Interlingua (http://www.transifex.com/mc/mc/language/ia/)\n" "Language-Team: Interlingua (http://www.transifex.com/mc/mc/language/ia/)\n"

View File

@ -10,7 +10,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-04-30 12:37+0000\n" "PO-Revision-Date: 2018-04-30 12:37+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Indonesian (http://www.transifex.com/mc/mc/language/id/)\n" "Language-Team: Indonesian (http://www.transifex.com/mc/mc/language/id/)\n"

View File

@ -11,7 +11,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-09-10 08:38+0200\n" "PO-Revision-Date: 2018-09-10 08:38+0200\n"
"Last-Translator: Marco Ciampa <ciampix@libero.it>\n" "Last-Translator: Marco Ciampa <ciampix@libero.it>\n"
"Language-Team: Italian (http://www.transifex.com/projects/p/mc/language/" "Language-Team: Italian (http://www.transifex.com/projects/p/mc/language/"

View File

@ -11,7 +11,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-04-30 12:37+0000\n" "PO-Revision-Date: 2018-04-30 12:37+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Japanese (http://www.transifex.com/mc/mc/language/ja/)\n" "Language-Team: Japanese (http://www.transifex.com/mc/mc/language/ja/)\n"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-04-30 12:37+0000\n" "PO-Revision-Date: 2018-04-30 12:37+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Georgian (http://www.transifex.com/mc/mc/language/ka/)\n" "Language-Team: Georgian (http://www.transifex.com/mc/mc/language/ka/)\n"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-04-30 12:37+0000\n" "PO-Revision-Date: 2018-04-30 12:37+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Kazakh (http://www.transifex.com/mc/mc/language/kk/)\n" "Language-Team: Kazakh (http://www.transifex.com/mc/mc/language/kk/)\n"

View File

@ -9,7 +9,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-04-30 12:37+0000\n" "PO-Revision-Date: 2018-04-30 12:37+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Korean (http://www.transifex.com/mc/mc/language/ko/)\n" "Language-Team: Korean (http://www.transifex.com/mc/mc/language/ko/)\n"

View File

@ -12,7 +12,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-04-30 12:37+0000\n" "PO-Revision-Date: 2018-04-30 12:37+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Lithuanian (http://www.transifex.com/mc/mc/language/lt/)\n" "Language-Team: Lithuanian (http://www.transifex.com/mc/mc/language/lt/)\n"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-04-30 12:37+0000\n" "PO-Revision-Date: 2018-04-30 12:37+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Latvian (http://www.transifex.com/mc/mc/language/lv/)\n" "Language-Team: Latvian (http://www.transifex.com/mc/mc/language/lv/)\n"

158
po/mc.pot
View File

@ -5,9 +5,9 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: mc 4.8.21-69-g2c2e41c\n" "Project-Id-Version: mc 4.8.21-103-g177c64c\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -653,7 +653,7 @@ msgstr ""
#: src/editor/editcmd.c:422 src/editor/editcmd.c:584 src/editor/editcmd.c:1720 #: src/editor/editcmd.c:422 src/editor/editcmd.c:584 src/editor/editcmd.c:1720
#: src/editor/editcmd.c:3436 src/editor/editcmd.c:3465 #: src/editor/editcmd.c:3436 src/editor/editcmd.c:3465
#: src/editor/editcmd_dialogs.c:478 src/execute.c:135 #: src/editor/editcmd_dialogs.c:478 src/execute.c:135
#: src/filemanager/file.c:2384 src/filemanager/panel.c:4479 src/help.c:362 #: src/filemanager/file.c:2384 src/filemanager/panel.c:4487 src/help.c:362
#: src/main.c:401 src/subshell/common.c:432 src/subshell/common.c:1278 #: src/main.c:401 src/subshell/common.c:432 src/subshell/common.c:1278
#: src/viewer/actions_cmd.c:419 #: src/viewer/actions_cmd.c:419
msgid "Warning" msgid "Warning"
@ -769,9 +769,9 @@ msgstr ""
#: src/editor/editcmd.c:231 src/editor/editcmd.c:254 src/editor/editcmd.c:2851 #: src/editor/editcmd.c:231 src/editor/editcmd.c:254 src/editor/editcmd.c:2851
#: src/editor/editcmd.c:2857 src/filemanager/cmd.c:140 #: src/editor/editcmd.c:2857 src/filemanager/cmd.c:140
#: src/filemanager/file.c:968 src/filemanager/file.c:1948 #: src/filemanager/file.c:968 src/filemanager/file.c:1948
#: src/filemanager/filegui.c:432 src/filemanager/hotlist.c:1158 #: src/filemanager/filegui.c:426 src/filemanager/hotlist.c:1158
#: src/filemanager/hotlist.c:1175 src/filemanager/midnight.c:1026 #: src/filemanager/hotlist.c:1175 src/filemanager/midnight.c:1026
#: src/filemanager/midnight.c:1034 src/filemanager/panel.c:2820 #: src/filemanager/midnight.c:1034 src/filemanager/panel.c:2828
#: src/filemanager/tree.c:828 src/subshell/common.c:1280 #: src/filemanager/tree.c:828 src/subshell/common.c:1280
#: src/viewer/actions_cmd.c:619 src/viewer/actions_cmd.c:625 #: src/viewer/actions_cmd.c:619 src/viewer/actions_cmd.c:625
#: src/viewer/search.c:398 #: src/viewer/search.c:398
@ -781,10 +781,10 @@ msgstr ""
#: lib/widget/listbox.c:325 src/diffviewer/ydiff.c:3089 src/editor/edit.c:359 #: lib/widget/listbox.c:325 src/diffviewer/ydiff.c:3089 src/editor/edit.c:359
#: src/editor/editcmd.c:231 src/editor/editcmd.c:2851 src/editor/editcmd.c:2857 #: src/editor/editcmd.c:231 src/editor/editcmd.c:2851 src/editor/editcmd.c:2857
#: src/filemanager/cmd.c:140 src/filemanager/file.c:968 #: src/filemanager/cmd.c:140 src/filemanager/file.c:968
#: src/filemanager/file.c:1948 src/filemanager/filegui.c:434 #: src/filemanager/file.c:1948 src/filemanager/filegui.c:428
#: src/filemanager/hotlist.c:1158 src/filemanager/hotlist.c:1175 #: src/filemanager/hotlist.c:1158 src/filemanager/hotlist.c:1175
#: src/filemanager/midnight.c:1026 src/filemanager/midnight.c:1034 #: src/filemanager/midnight.c:1026 src/filemanager/midnight.c:1034
#: src/filemanager/panel.c:2820 src/filemanager/tree.c:828 #: src/filemanager/panel.c:2828 src/filemanager/tree.c:828
#: src/subshell/common.c:1280 src/viewer/actions_cmd.c:619 #: src/subshell/common.c:1280 src/viewer/actions_cmd.c:619
#: src/viewer/actions_cmd.c:625 src/viewer/search.c:399 #: src/viewer/actions_cmd.c:625 src/viewer/search.c:399
msgid "&No" msgid "&No"
@ -792,7 +792,7 @@ msgstr ""
#: lib/widget/quick.h:215 src/editor/editcmd.c:2717 #: lib/widget/quick.h:215 src/editor/editcmd.c:2717
#: src/editor/editcmd_dialogs.c:121 src/editor/editwidget.c:150 #: src/editor/editcmd_dialogs.c:121 src/editor/editwidget.c:150
#: src/filemanager/boxes.c:1243 src/filemanager/filegui.c:1252 #: src/filemanager/boxes.c:1243 src/filemanager/filegui.c:1246
#: src/filemanager/find.c:599 src/filemanager/layout.c:458 #: src/filemanager/find.c:599 src/filemanager/layout.c:458
#: src/subshell/common.c:435 #: src/subshell/common.c:435
msgid "&OK" msgid "&OK"
@ -808,7 +808,7 @@ msgstr ""
#: src/filemanager/achown.c:882 src/filemanager/chmod.c:117 #: src/filemanager/achown.c:882 src/filemanager/chmod.c:117
#: src/filemanager/chmod.c:411 src/filemanager/chown.c:88 #: src/filemanager/chmod.c:411 src/filemanager/chown.c:88
#: src/filemanager/chown.c:310 src/filemanager/cmd.c:1148 #: src/filemanager/chown.c:310 src/filemanager/cmd.c:1148
#: src/filemanager/filegui.c:1256 src/filemanager/find.c:599 #: src/filemanager/filegui.c:1250 src/filemanager/find.c:599
#: src/filemanager/hotlist.c:187 src/filemanager/hotlist.c:1014 #: src/filemanager/hotlist.c:187 src/filemanager/hotlist.c:1014
#: src/filemanager/hotlist.c:1076 src/filemanager/layout.c:459 #: src/filemanager/hotlist.c:1076 src/filemanager/layout.c:459
#: src/filemanager/panelize.c:140 src/learn.c:256 src/viewer/hex.c:430 #: src/filemanager/panelize.c:140 src/learn.c:256 src/viewer/hex.c:430
@ -837,7 +837,7 @@ msgstr ""
#: lib/widget/wtools.c:691 src/filemanager/file.c:847 #: lib/widget/wtools.c:691 src/filemanager/file.c:847
#: src/filemanager/file.c:921 src/filemanager/file.c:923 #: src/filemanager/file.c:921 src/filemanager/file.c:923
#: src/filemanager/file.c:969 src/filemanager/file.c:3090 #: src/filemanager/file.c:969 src/filemanager/file.c:3090
#: src/filemanager/filegui.c:256 src/filemanager/filegui.c:450 #: src/filemanager/filegui.c:250 src/filemanager/filegui.c:444
msgid "&Abort" msgid "&Abort"
msgstr "" msgstr ""
@ -1047,23 +1047,23 @@ msgstr ""
msgid "Two files are required to envoke the diffviewer." msgid "Two files are required to envoke the diffviewer."
msgstr "" msgstr ""
#: src/background.c:177 src/background.c:251 #: src/background.c:179 src/background.c:251
msgid "Background protocol error" msgid "Background protocol error"
msgstr "" msgstr ""
#: src/background.c:177 #: src/background.c:179
msgid "Reading failed" msgid "Reading failed"
msgstr "" msgstr ""
#: src/background.c:217 src/filemanager/file.c:844 src/filemanager/file.c:916 #: src/background.c:219 src/filemanager/file.c:844 src/filemanager/file.c:916
msgid "Background process error" msgid "Background process error"
msgstr "" msgstr ""
#: src/background.c:229 src/background.c:292 #: src/background.c:232 src/background.c:283
msgid "Unknown error in child" msgid "Unknown error in child"
msgstr "" msgstr ""
#: src/background.c:237 #: src/background.c:240
msgid "Child died unexpectedly" msgid "Child died unexpectedly"
msgstr "" msgstr ""
@ -1701,14 +1701,14 @@ msgid "&Replace"
msgstr "" msgstr ""
#: src/editor/editcmd_dialogs.c:280 src/filemanager/file.c:968 #: src/editor/editcmd_dialogs.c:280 src/filemanager/file.c:968
#: src/filemanager/filegui.c:442 #: src/filemanager/filegui.c:436
msgid "A&ll" msgid "A&ll"
msgstr "" msgstr ""
#: src/editor/editcmd_dialogs.c:281 src/editor/spell_dialogs.c:97 #: src/editor/editcmd_dialogs.c:281 src/editor/spell_dialogs.c:97
#: src/filemanager/file.c:847 src/filemanager/file.c:920 #: src/filemanager/file.c:847 src/filemanager/file.c:920
#: src/filemanager/file.c:923 src/filemanager/file.c:3091 #: src/filemanager/file.c:923 src/filemanager/file.c:3091
#: src/filemanager/filegui.c:253 #: src/filemanager/filegui.c:247
msgid "&Skip" msgid "&Skip"
msgstr "" msgstr ""
@ -2943,7 +2943,7 @@ msgid "Files tagged, want to cd?"
msgstr "" msgstr ""
#: src/filemanager/cmd.c:147 src/filemanager/cmd.c:1131 #: src/filemanager/cmd.c:147 src/filemanager/cmd.c:1131
#: src/filemanager/panel.c:2796 src/filemanager/panel.c:3396 #: src/filemanager/panel.c:2804 src/filemanager/panel.c:3404
msgid "Cannot change directory" msgid "Cannot change directory"
msgstr "" msgstr ""
@ -2974,7 +2974,7 @@ msgstr ""
msgid "symlink: %s" msgid "symlink: %s"
msgstr "" msgstr ""
#: src/filemanager/cmd.c:464 src/filemanager/panel.c:4734 #: src/filemanager/cmd.c:464 src/filemanager/panel.c:4732
#, c-format #, c-format
msgid "Cannot chdir to \"%s\"" msgid "Cannot chdir to \"%s\""
msgstr "" msgstr ""
@ -3133,7 +3133,7 @@ msgstr ""
msgid "Cannot execute commands on non-local filesystems" msgid "Cannot execute commands on non-local filesystems"
msgstr "" msgstr ""
#: src/filemanager/command.c:456 src/filemanager/panel.c:3687 #: src/filemanager/command.c:456 src/filemanager/panel.c:3695
#: src/filemanager/tree.c:588 #: src/filemanager/tree.c:588
#, c-format #, c-format
msgid "" msgid ""
@ -3141,7 +3141,7 @@ msgid ""
"%s" "%s"
msgstr "" msgstr ""
#: src/filemanager/dir.c:638 src/filemanager/dir.c:699 #: src/filemanager/dir.c:647 src/filemanager/dir.c:708
msgid "Cannot read directory contents" msgid "Cannot read directory contents"
msgstr "" msgstr ""
@ -3315,7 +3315,7 @@ msgid ""
"Delete it recursively?" "Delete it recursively?"
msgstr "" msgstr ""
#: src/filemanager/file.c:969 src/filemanager/filegui.c:446 #: src/filemanager/file.c:969 src/filemanager/filegui.c:440
msgid "Non&e" msgid "Non&e"
msgstr "" msgstr ""
@ -3536,167 +3536,167 @@ msgstr ""
msgid "Sorry, I could not put the job in background" msgid "Sorry, I could not put the job in background"
msgstr "" msgstr ""
#: src/filemanager/filegui.c:254 src/filemanager/find.c:192 #: src/filemanager/filegui.c:248 src/filemanager/find.c:192
msgid "S&uspend" msgid "S&uspend"
msgstr "" msgstr ""
#: src/filemanager/filegui.c:255 src/filemanager/find.c:193 #: src/filemanager/filegui.c:249 src/filemanager/find.c:193
msgid "Con&tinue" msgid "Con&tinue"
msgstr "" msgstr ""
#: src/filemanager/filegui.c:344 #: src/filemanager/filegui.c:338
#, c-format #, c-format
msgid "%d:%02d.%02d" msgid "%d:%02d.%02d"
msgstr "" msgstr ""
#: src/filemanager/filegui.c:361 #: src/filemanager/filegui.c:355
#, c-format #, c-format
msgid "ETA %s" msgid "ETA %s"
msgstr "" msgstr ""
#: src/filemanager/filegui.c:371 #: src/filemanager/filegui.c:365
#, c-format #, c-format
msgid "%.2f MB/s" msgid "%.2f MB/s"
msgstr "" msgstr ""
#: src/filemanager/filegui.c:375 #: src/filemanager/filegui.c:369
#, c-format #, c-format
msgid "%.2f KB/s" msgid "%.2f KB/s"
msgstr "" msgstr ""
#: src/filemanager/filegui.c:379 #: src/filemanager/filegui.c:373
#, c-format #, c-format
msgid "%ld B/s" msgid "%ld B/s"
msgstr "" msgstr ""
#: src/filemanager/filegui.c:422 #: src/filemanager/filegui.c:416
msgid "Target file already exists!" msgid "Target file already exists!"
msgstr "" msgstr ""
#: src/filemanager/filegui.c:426 #: src/filemanager/filegui.c:420
#, c-format #, c-format
msgid "New : %s, size %s" msgid "New : %s, size %s"
msgstr "" msgstr ""
#: src/filemanager/filegui.c:428 #: src/filemanager/filegui.c:422
#, c-format #, c-format
msgid "Existing: %s, size %s" msgid "Existing: %s, size %s"
msgstr "" msgstr ""
#: src/filemanager/filegui.c:430 #: src/filemanager/filegui.c:424
msgid "Overwrite this target?" msgid "Overwrite this target?"
msgstr "" msgstr ""
#: src/filemanager/filegui.c:436 src/filemanager/hotlist.c:195 #: src/filemanager/filegui.c:430 src/filemanager/hotlist.c:195
msgid "A&ppend" msgid "A&ppend"
msgstr "" msgstr ""
#: src/filemanager/filegui.c:438 #: src/filemanager/filegui.c:432
msgid "&Reget" msgid "&Reget"
msgstr "" msgstr ""
#: src/filemanager/filegui.c:440 #: src/filemanager/filegui.c:434
msgid "Overwrite all targets?" msgid "Overwrite all targets?"
msgstr "" msgstr ""
#: src/filemanager/filegui.c:444 #: src/filemanager/filegui.c:438
msgid "&Update" msgid "&Update"
msgstr "" msgstr ""
#: src/filemanager/filegui.c:448 #: src/filemanager/filegui.c:442
msgid "If &size differs" msgid "If &size differs"
msgstr "" msgstr ""
#: src/filemanager/filegui.c:471 #: src/filemanager/filegui.c:465
msgid "File exists" msgid "File exists"
msgstr "" msgstr ""
#: src/filemanager/filegui.c:473 #: src/filemanager/filegui.c:467
msgid "Background process: File exists" msgid "Background process: File exists"
msgstr "" msgstr ""
#: src/filemanager/filegui.c:940 #: src/filemanager/filegui.c:934
#, c-format #, c-format
msgid "Files processed: %zu/%zu" msgid "Files processed: %zu/%zu"
msgstr "" msgstr ""
#: src/filemanager/filegui.c:942 #: src/filemanager/filegui.c:936
#, c-format #, c-format
msgid "Files processed: %zu" msgid "Files processed: %zu"
msgstr "" msgstr ""
#: src/filemanager/filegui.c:989 #: src/filemanager/filegui.c:983
#, c-format #, c-format
msgid "Time: %s %s" msgid "Time: %s %s"
msgstr "" msgstr ""
#: src/filemanager/filegui.c:994 #: src/filemanager/filegui.c:988
#, c-format #, c-format
msgid "Time: %s %s (%s)" msgid "Time: %s %s (%s)"
msgstr "" msgstr ""
#: src/filemanager/filegui.c:1001 #: src/filemanager/filegui.c:995
#, c-format #, c-format
msgid "Time: %s" msgid "Time: %s"
msgstr "" msgstr ""
#: src/filemanager/filegui.c:1005 #: src/filemanager/filegui.c:999
#, c-format #, c-format
msgid "Time: %s (%s)" msgid "Time: %s (%s)"
msgstr "" msgstr ""
#: src/filemanager/filegui.c:1016 #: src/filemanager/filegui.c:1010
#, c-format #, c-format
msgid " Total: %s " msgid " Total: %s "
msgstr "" msgstr ""
#: src/filemanager/filegui.c:1020 #: src/filemanager/filegui.c:1014
#, c-format #, c-format
msgid " Total: %s/%s " msgid " Total: %s/%s "
msgstr "" msgstr ""
#: src/filemanager/filegui.c:1046 #: src/filemanager/filegui.c:1040
msgid "Source" msgid "Source"
msgstr "" msgstr ""
#: src/filemanager/filegui.c:1071 #: src/filemanager/filegui.c:1065
msgid "Target" msgid "Target"
msgstr "" msgstr ""
#: src/filemanager/filegui.c:1095 #: src/filemanager/filegui.c:1089
msgid "Deleting" msgid "Deleting"
msgstr "" msgstr ""
#: src/filemanager/filegui.c:1239 src/filemanager/find.c:581 #: src/filemanager/filegui.c:1233 src/filemanager/find.c:581
#: src/filemanager/panel.c:2531 #: src/filemanager/panel.c:2539
msgid "&Using shell patterns" msgid "&Using shell patterns"
msgstr "" msgstr ""
#: src/filemanager/filegui.c:1241 #: src/filemanager/filegui.c:1235
msgid "to:" msgid "to:"
msgstr "" msgstr ""
#: src/filemanager/filegui.c:1245 #: src/filemanager/filegui.c:1239
msgid "Follow &links" msgid "Follow &links"
msgstr "" msgstr ""
#: src/filemanager/filegui.c:1246 #: src/filemanager/filegui.c:1240
msgid "Preserve &attributes" msgid "Preserve &attributes"
msgstr "" msgstr ""
#: src/filemanager/filegui.c:1248 #: src/filemanager/filegui.c:1242
msgid "Di&ve into subdir if exists" msgid "Di&ve into subdir if exists"
msgstr "" msgstr ""
#: src/filemanager/filegui.c:1249 #: src/filemanager/filegui.c:1243
msgid "&Stable symlinks" msgid "&Stable symlinks"
msgstr "" msgstr ""
#: src/filemanager/filegui.c:1254 #: src/filemanager/filegui.c:1248
msgid "&Background" msgid "&Background"
msgstr "" msgstr ""
#: src/filemanager/filegui.c:1309 #: src/filemanager/filegui.c:1303
#, c-format #, c-format
msgid "Invalid source pattern '%s'" msgid "Invalid source pattern '%s'"
msgstr "" msgstr ""
@ -4322,7 +4322,7 @@ msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: src/filemanager/midnight.c:1026 src/filemanager/midnight.c:1032 #: src/filemanager/midnight.c:1026 src/filemanager/midnight.c:1032
#: src/filemanager/panel.c:2819 #: src/filemanager/panel.c:2827
msgid "The Midnight Commander" msgid "The Midnight Commander"
msgstr "" msgstr ""
@ -4362,7 +4362,7 @@ msgstr ""
msgid "ButtonBar|Mkdir" msgid "ButtonBar|Mkdir"
msgstr "" msgstr ""
#: src/filemanager/mountlist.c:986 #: src/filemanager/mountlist.c:881
msgid "Memory exhausted!" msgid "Memory exhausted!"
msgstr "" msgstr ""
@ -4515,31 +4515,31 @@ msgstr[1] ""
msgid "Panelize" msgid "Panelize"
msgstr "" msgstr ""
#: src/filemanager/panel.c:1816 #: src/filemanager/panel.c:1824
msgid "Unknown tag on display format:" msgid "Unknown tag on display format:"
msgstr "" msgstr ""
#: src/filemanager/panel.c:2530 #: src/filemanager/panel.c:2538
msgid "&Files only" msgid "&Files only"
msgstr "" msgstr ""
#: src/filemanager/panel.c:2533 #: src/filemanager/panel.c:2541
msgid "&Case sensitive" msgid "&Case sensitive"
msgstr "" msgstr ""
#: src/filemanager/panel.c:2588 #: src/filemanager/panel.c:2596
msgid "Select" msgid "Select"
msgstr "" msgstr ""
#: src/filemanager/panel.c:2596 #: src/filemanager/panel.c:2604
msgid "Unselect" msgid "Unselect"
msgstr "" msgstr ""
#: src/filemanager/panel.c:2820 #: src/filemanager/panel.c:2828
msgid "Do you really want to execute?" msgid "Do you really want to execute?"
msgstr "" msgstr ""
#: src/filemanager/panel.c:4480 #: src/filemanager/panel.c:4488
msgid "User supplied format looks invalid, reverting to default." msgid "User supplied format looks invalid, reverting to default."
msgstr "" msgstr ""
@ -4551,7 +4551,7 @@ msgstr ""
msgid "External panelize" msgid "External panelize"
msgstr "" msgstr ""
#: src/filemanager/panelize.c:180 src/filemanager/panelize.c:277 #: src/filemanager/panelize.c:180 src/filemanager/panelize.c:276
#: src/filemanager/panelize.c:589 src/filemanager/panelize.c:643 #: src/filemanager/panelize.c:589 src/filemanager/panelize.c:643
msgid "Other command" msgid "Other command"
msgstr "" msgstr ""
@ -4560,15 +4560,15 @@ msgstr ""
msgid "Command" msgid "Command"
msgstr "" msgstr ""
#: src/filemanager/panelize.c:262 #: src/filemanager/panelize.c:261
msgid "Add to external panelize" msgid "Add to external panelize"
msgstr "" msgstr ""
#: src/filemanager/panelize.c:263 #: src/filemanager/panelize.c:262
msgid "Enter command label:" msgid "Enter command label:"
msgstr "" msgstr ""
#: src/filemanager/panelize.c:316 #: src/filemanager/panelize.c:309
msgid "Cannot invoke command." msgid "Cannot invoke command."
msgstr "" msgstr ""
@ -5271,25 +5271,25 @@ msgstr ""
msgid "sftp: connection to server failed: %s" msgid "sftp: connection to server failed: %s"
msgstr "" msgstr ""
#: src/vfs/sftpfs/connection.c:277 #: src/vfs/sftpfs/connection.c:283
#, c-format #, c-format
msgid "sftp: Enter passphrase for %s " msgid "sftp: Enter passphrase for %s "
msgstr "" msgstr ""
#: src/vfs/sftpfs/connection.c:282 #: src/vfs/sftpfs/connection.c:288
msgid "sftp: Passphrase is empty." msgid "sftp: Passphrase is empty."
msgstr "" msgstr ""
#: src/vfs/sftpfs/connection.c:328 #: src/vfs/sftpfs/connection.c:334
#, c-format #, c-format
msgid "sftp: Enter password for %s " msgid "sftp: Enter password for %s "
msgstr "" msgstr ""
#: src/vfs/sftpfs/connection.c:333 #: src/vfs/sftpfs/connection.c:339
msgid "sftp: Password is empty." msgid "sftp: Password is empty."
msgstr "" msgstr ""
#: src/vfs/sftpfs/connection.c:398 #: src/vfs/sftpfs/connection.c:404
msgid "sftp: Failure establishing SSH session" msgid "sftp: Failure establishing SSH session"
msgstr "" msgstr ""
@ -5557,7 +5557,7 @@ msgid ""
"%s" "%s"
msgstr "" msgstr ""
#: src/viewer/lib.c:394 src/viewer/lib.c:396 #: src/viewer/lib.c:393 src/viewer/lib.c:395
msgid "View: " msgid "View: "
msgstr "" msgstr ""

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-04-30 12:37+0000\n" "PO-Revision-Date: 2018-04-30 12:37+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Mongolian (http://www.transifex.com/mc/mc/language/mn/)\n" "Language-Team: Mongolian (http://www.transifex.com/mc/mc/language/mn/)\n"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-04-30 12:37+0000\n" "PO-Revision-Date: 2018-04-30 12:37+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Norwegian Bokmål (http://www.transifex.com/mc/mc/language/" "Language-Team: Norwegian Bokmål (http://www.transifex.com/mc/mc/language/"

View File

@ -14,7 +14,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-04-30 12:37+0000\n" "PO-Revision-Date: 2018-04-30 12:37+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Dutch (http://www.transifex.com/mc/mc/language/nl/)\n" "Language-Team: Dutch (http://www.transifex.com/mc/mc/language/nl/)\n"

View File

@ -9,7 +9,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-05-01 15:44+0000\n" "PO-Revision-Date: 2018-05-01 15:44+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Polish (http://www.transifex.com/mc/mc/language/pl/)\n" "Language-Team: Polish (http://www.transifex.com/mc/mc/language/pl/)\n"

View File

@ -11,7 +11,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-04-30 22:38+0000\n" "PO-Revision-Date: 2018-04-30 22:38+0000\n"
"Last-Translator: Gilberto Jorge <gmj125@gmail.com>\n" "Last-Translator: Gilberto Jorge <gmj125@gmail.com>\n"
"Language-Team: Portuguese (http://www.transifex.com/mc/mc/language/pt/)\n" "Language-Team: Portuguese (http://www.transifex.com/mc/mc/language/pt/)\n"

View File

@ -13,7 +13,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-04-30 12:37+0000\n" "PO-Revision-Date: 2018-04-30 12:37+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/mc/mc/language/" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/mc/mc/language/"

View File

@ -15,7 +15,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-04-30 12:37+0000\n" "PO-Revision-Date: 2018-04-30 12:37+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Romanian (http://www.transifex.com/mc/mc/language/ro/)\n" "Language-Team: Romanian (http://www.transifex.com/mc/mc/language/ro/)\n"

View File

@ -21,7 +21,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-04-30 12:37+0000\n" "PO-Revision-Date: 2018-04-30 12:37+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Russian (http://www.transifex.com/mc/mc/language/ru/)\n" "Language-Team: Russian (http://www.transifex.com/mc/mc/language/ru/)\n"
@ -2550,8 +2550,7 @@ msgstr ""
#, c-format #, c-format
msgid "Cannot create target hardlink \"%s\"" msgid "Cannot create target hardlink \"%s\""
msgstr "" msgstr "Невозможно создать целевую ссылку \"%s\""
"Невозможно создать целевую ссылку \"%s\""
#, c-format #, c-format
msgid "" msgid ""

View File

@ -14,7 +14,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-04-30 12:37+0000\n" "PO-Revision-Date: 2018-04-30 12:37+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Slovak (http://www.transifex.com/mc/mc/language/sk/)\n" "Language-Team: Slovak (http://www.transifex.com/mc/mc/language/sk/)\n"

View File

@ -10,7 +10,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-04-30 12:37+0000\n" "PO-Revision-Date: 2018-04-30 12:37+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Slovenian (http://www.transifex.com/mc/mc/language/sl/)\n" "Language-Team: Slovenian (http://www.transifex.com/mc/mc/language/sl/)\n"

View File

@ -9,7 +9,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-04-30 12:37+0000\n" "PO-Revision-Date: 2018-04-30 12:37+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Serbian (http://www.transifex.com/mc/mc/language/sr/)\n" "Language-Team: Serbian (http://www.transifex.com/mc/mc/language/sr/)\n"

View File

@ -14,7 +14,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-04-30 12:37+0000\n" "PO-Revision-Date: 2018-04-30 12:37+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Swedish (http://www.transifex.com/mc/mc/language/sv/)\n" "Language-Team: Swedish (http://www.transifex.com/mc/mc/language/sv/)\n"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-04-30 12:37+0000\n" "PO-Revision-Date: 2018-04-30 12:37+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Silesian (http://www.transifex.com/mc/mc/language/szl/)\n" "Language-Team: Silesian (http://www.transifex.com/mc/mc/language/szl/)\n"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-04-30 12:37+0000\n" "PO-Revision-Date: 2018-04-30 12:37+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Tamil (http://www.transifex.com/mc/mc/language/ta/)\n" "Language-Team: Tamil (http://www.transifex.com/mc/mc/language/ta/)\n"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-04-30 12:37+0000\n" "PO-Revision-Date: 2018-04-30 12:37+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Telugu (http://www.transifex.com/mc/mc/language/te/)\n" "Language-Team: Telugu (http://www.transifex.com/mc/mc/language/te/)\n"

View File

@ -13,7 +13,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-04-30 12:37+0000\n" "PO-Revision-Date: 2018-04-30 12:37+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Turkish (http://www.transifex.com/mc/mc/language/tr/)\n" "Language-Team: Turkish (http://www.transifex.com/mc/mc/language/tr/)\n"

View File

@ -12,7 +12,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-04-30 12:37+0000\n" "PO-Revision-Date: 2018-04-30 12:37+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Ukrainian (http://www.transifex.com/mc/mc/language/uk/)\n" "Language-Team: Ukrainian (http://www.transifex.com/mc/mc/language/uk/)\n"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-04-30 12:37+0000\n" "PO-Revision-Date: 2018-04-30 12:37+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Vietnamese (http://www.transifex.com/mc/mc/language/vi/)\n" "Language-Team: Vietnamese (http://www.transifex.com/mc/mc/language/vi/)\n"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-04-30 12:37+0000\n" "PO-Revision-Date: 2018-04-30 12:37+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Walloon (http://www.transifex.com/mc/mc/language/wa/)\n" "Language-Team: Walloon (http://www.transifex.com/mc/mc/language/wa/)\n"

View File

@ -17,7 +17,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-05-10 15:41+0000\n" "PO-Revision-Date: 2018-05-10 15:41+0000\n"
"Last-Translator: Mingcong Bai <jeffbai@aosc.xyz>\n" "Last-Translator: Mingcong Bai <jeffbai@aosc.xyz>\n"
"Language-Team: Chinese (China) (http://www.transifex.com/mc/mc/language/" "Language-Team: Chinese (China) (http://www.transifex.com/mc/mc/language/"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Midnight Commander\n" "Project-Id-Version: Midnight Commander\n"
"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" "Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n"
"POT-Creation-Date: 2018-10-20 18:37+0300\n" "POT-Creation-Date: 2018-11-24 15:01+0300\n"
"PO-Revision-Date: 2018-04-30 12:37+0000\n" "PO-Revision-Date: 2018-04-30 12:37+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Chinese (Taiwan) (http://www.transifex.com/mc/mc/language/" "Language-Team: Chinese (Taiwan) (http://www.transifex.com/mc/mc/language/"

View File

@ -103,29 +103,31 @@ register_task_running (file_op_context_t * ctx, pid_t pid, int fd, int to_child,
/* --------------------------------------------------------------------------------------------- */ /* --------------------------------------------------------------------------------------------- */
static int static int
destroy_task_and_return_fd (pid_t pid) destroy_task (pid_t pid)
{ {
TaskList *p = task_list; TaskList *p = task_list;
TaskList *prev = 0; TaskList *prev = NULL;
while (p) while (p != NULL)
{ {
if (p->pid == pid) if (p->pid == pid)
{ {
if (prev) int fd = p->fd;
if (prev != NULL)
prev->next = p->next; prev->next = p->next;
else else
task_list = p->next; task_list = p->next;
g_free (p->info); g_free (p->info);
g_free (p); g_free (p);
return p->fd; return fd;
} }
prev = p; prev = p;
p = p->next; p = p->next;
} }
/* pid not found */ /* pid not found */
return -1; return (-1);
} }
/* --------------------------------------------------------------------------------------------- */ /* --------------------------------------------------------------------------------------------- */
@ -222,7 +224,8 @@ background_attention (int fd, void *closure)
if (bytes == -1 || (size_t) bytes < (sizeof (routine))) if (bytes == -1 || (size_t) bytes < (sizeof (routine)))
{ {
unregister_task_running (ctx->pid, fd); unregister_task_running (ctx->pid, fd);
if (!waitpid (ctx->pid, &status, WNOHANG))
if (waitpid (ctx->pid, &status, WNOHANG) == 0)
{ {
/* the process is still running, but it misbehaves - kill it */ /* the process is still running, but it misbehaves - kill it */
kill (ctx->pid, SIGTERM); kill (ctx->pid, SIGTERM);
@ -239,53 +242,41 @@ background_attention (int fd, void *closure)
return 0; return 0;
} }
if ((read (fd, &argc, sizeof (argc)) != sizeof (argc)) || if (read (fd, &argc, sizeof (argc)) != sizeof (argc) ||
(read (fd, &type, sizeof (type)) != sizeof (type)) || read (fd, &type, sizeof (type)) != sizeof (type) ||
(read (fd, &have_ctx, sizeof (have_ctx)) != sizeof (have_ctx))) read (fd, &have_ctx, sizeof (have_ctx)) != sizeof (have_ctx))
{
return reading_failed (-1, data); return reading_failed (-1, data);
}
if (argc > MAXCALLARGS) if (argc > MAXCALLARGS)
{
message (D_ERROR, _("Background protocol error"), "%s", message (D_ERROR, _("Background protocol error"), "%s",
_("Background process sent us a request for more arguments\n" _("Background process sent us a request for more arguments\n"
"than we can handle.")); "than we can handle."));
}
if (have_ctx) if (have_ctx != 0 && read (fd, ctx, sizeof (*ctx)) != sizeof (*ctx))
{ return reading_failed (-1, data);
if (read (fd, ctx, sizeof (*ctx)) != sizeof (*ctx))
{
return reading_failed (-1, data);
}
}
for (i = 0; i < argc; i++) for (i = 0; i < argc; i++)
{ {
int size; int size;
if (read (fd, &size, sizeof (size)) != sizeof (size)) if (read (fd, &size, sizeof (size)) != sizeof (size))
{
return reading_failed (i - 1, data); return reading_failed (i - 1, data);
}
data[i] = g_malloc (size + 1); data[i] = g_malloc (size + 1);
if (read (fd, data[i], size) != size) if (read (fd, data[i], size) != size)
{
return reading_failed (i, data); return reading_failed (i, data);
}
data[i][size] = 0; /* NULL terminate the blocks (they could be strings) */ data[i][size] = '\0'; /* NULL terminate the blocks (they could be strings) */
} }
/* Find child task info by descriptor */ /* Find child task info by descriptor */
/* Find before call, because process can destroy self after */ /* Find before call, because process can destroy self after */
for (p = task_list; p; p = p->next) for (p = task_list; p != NULL; p = p->next)
{
if (p->fd == fd) if (p->fd == fd)
break; break;
}
if (p) if (p != NULL)
to_child_fd = p->to_child_fd; to_child_fd = p->to_child_fd;
if (to_child_fd == -1) if (to_child_fd == -1)
@ -296,7 +287,7 @@ background_attention (int fd, void *closure)
{ {
int result = 0; int result = 0;
if (!have_ctx) if (have_ctx == 0)
switch (argc) switch (argc)
{ {
case 0: case 0:
@ -342,7 +333,7 @@ background_attention (int fd, void *closure)
/* Send the result code and the value for shared variables */ /* Send the result code and the value for shared variables */
ret = write (to_child_fd, &result, sizeof (result)); ret = write (to_child_fd, &result, sizeof (result));
if (have_ctx && to_child_fd != -1) if (have_ctx != 0 && to_child_fd != -1)
ret = write (to_child_fd, ctx, sizeof (*ctx)); ret = write (to_child_fd, ctx, sizeof (*ctx));
} }
else if (type == Return_String) else if (type == Return_String)
@ -373,7 +364,8 @@ background_attention (int fd, void *closure)
default: default:
g_assert_not_reached (); g_assert_not_reached ();
} }
if (resstr)
if (resstr != NULL)
{ {
len = strlen (resstr); len = strlen (resstr);
ret = write (to_child_fd, &len, sizeof (len)); ret = write (to_child_fd, &len, sizeof (len));
@ -387,15 +379,17 @@ background_attention (int fd, void *closure)
ret = write (to_child_fd, &len, sizeof (len)); ret = write (to_child_fd, &len, sizeof (len));
} }
} }
for (i = 0; i < argc; i++) for (i = 0; i < argc; i++)
g_free (data[i]); g_free (data[i]);
repaint_screen (); repaint_screen ();
(void) ret; (void) ret;
return 0; return 0;
} }
/* --------------------------------------------------------------------------------------------- */ /* --------------------------------------------------------------------------------------------- */
/* }}} */ /* }}} */
@ -412,15 +406,15 @@ parent_call_header (void *routine, int argc, enum ReturnType type, file_op_conte
int have_ctx; int have_ctx;
ssize_t ret; ssize_t ret;
have_ctx = (ctx != NULL); have_ctx = ctx != NULL ? 1 : 0;
ret = write (parent_fd, &routine, sizeof (routine)); ret = write (parent_fd, &routine, sizeof (routine));
ret = write (parent_fd, &argc, sizeof (argc)); ret = write (parent_fd, &argc, sizeof (argc));
ret = write (parent_fd, &type, sizeof (type)); ret = write (parent_fd, &type, sizeof (type));
ret = write (parent_fd, &have_ctx, sizeof (have_ctx)); ret = write (parent_fd, &have_ctx, sizeof (have_ctx));
if (have_ctx != 0)
if (have_ctx)
ret = write (parent_fd, ctx, sizeof (*ctx)); ret = write (parent_fd, ctx, sizeof (*ctx));
(void) ret; (void) ret;
} }
@ -446,10 +440,11 @@ parent_va_call (void *routine, gpointer data, int argc, va_list ap)
} }
ret = read (from_parent_fd, &i, sizeof (i)); ret = read (from_parent_fd, &i, sizeof (i));
if (ctx) if (ctx != NULL)
ret = read (from_parent_fd, ctx, sizeof (*ctx)); ret = read (from_parent_fd, ctx, sizeof (*ctx));
(void) ret; (void) ret;
return i; return i;
} }
@ -469,24 +464,21 @@ parent_va_call_string (void *routine, int argc, va_list ap)
len = va_arg (ap, int); len = va_arg (ap, int);
value = va_arg (ap, void *); value = va_arg (ap, void *);
if ((write (parent_fd, &len, sizeof (len)) != sizeof (len)) || if (write (parent_fd, &len, sizeof (len)) != sizeof (len) ||
(write (parent_fd, value, len) != len)) write (parent_fd, value, len) != len)
{
return NULL; return NULL;
}
} }
if (read (from_parent_fd, &i, sizeof (i)) != sizeof (i)) if (read (from_parent_fd, &i, sizeof (i)) != sizeof (i) || i == 0)
return NULL;
if (!i)
return NULL; return NULL;
str = g_malloc (i + 1); str = g_malloc (i + 1);
if (read (from_parent_fd, str, i) != i) if (read (from_parent_fd, str, i) != i)
{ {
g_free (str); g_free (str);
return NULL; return NULL;
} }
str[i] = 0; str[i] = '\0';
return str; return str;
} }
@ -497,7 +489,7 @@ parent_va_call_string (void *routine, int argc, va_list ap)
void void
unregister_task_running (pid_t pid, int fd) unregister_task_running (pid_t pid, int fd)
{ {
destroy_task_and_return_fd (pid); destroy_task (pid);
delete_select_channel (fd); delete_select_channel (fd);
} }
@ -506,12 +498,13 @@ unregister_task_running (pid_t pid, int fd)
void void
unregister_task_with_pid (pid_t pid) unregister_task_with_pid (pid_t pid)
{ {
int fd = destroy_task_and_return_fd (pid); int fd;
fd = destroy_task (pid);
if (fd != -1) if (fd != -1)
delete_select_channel (fd); delete_select_channel (fd);
} }
/* --------------------------------------------------------------------------------------------- */ /* --------------------------------------------------------------------------------------------- */
/** /**
* Try to make the Midnight Commander a background job * Try to make the Midnight Commander a background job
@ -529,10 +522,10 @@ do_background (file_op_context_t * ctx, char *info)
pid_t pid; pid_t pid;
if (pipe (comm) == -1) if (pipe (comm) == -1)
return -1; return (-1);
if (pipe (back_comm) == -1) if (pipe (back_comm) == -1)
return -1; return (-1);
pid = fork (); pid = fork ();
if (pid == -1) if (pid == -1)
@ -544,7 +537,8 @@ do_background (file_op_context_t * ctx, char *info)
(void) close (back_comm[0]); (void) close (back_comm[0]);
(void) close (back_comm[1]); (void) close (back_comm[1]);
errno = saved_errno; errno = saved_errno;
return -1;
return (-1);
} }
if (pid == 0) if (pid == 0)

View File

@ -218,18 +218,7 @@ alloc_dir_copy (int size)
if (dir_copy.size < size) if (dir_copy.size < size)
{ {
if (dir_copy.list != NULL) if (dir_copy.list != NULL)
{ dir_list_free_list (&dir_copy);
int i;
for (i = 0; i < dir_copy.len; i++)
{
file_entry_t *fentry;
fentry = &(dir_copy.list)[i];
g_free (fentry->fname);
}
g_free (dir_copy.list);
}
dir_copy.list = g_new0 (file_entry_t, size); dir_copy.list = g_new0 (file_entry_t, size);
dir_copy.size = size; dir_copy.size = size;
@ -538,6 +527,26 @@ dir_list_clean (dir_list * list)
dir_list_grow (list, DIR_LIST_MIN_SIZE - list->size); dir_list_grow (list, DIR_LIST_MIN_SIZE - list->size);
} }
/* --------------------------------------------------------------------------------------------- */
void
dir_list_free_list (dir_list * list)
{
int i;
for (i = 0; i < list->len; i++)
{
file_entry_t *fentry;
fentry = &list->list[i];
g_free (fentry->fname);
}
MC_PTR_FREE (list->list);
list->len = 0;
list->size = 0;
}
/* --------------------------------------------------------------------------------------------- */ /* --------------------------------------------------------------------------------------------- */
/** Used to set up a directory list when there is no access to a directory */ /** Used to set up a directory list when there is no access to a directory */
@ -744,7 +753,7 @@ dir_list_reload (dir_list * list, const vfs_path_t * vpath, GCompareFunc sort,
dir_list_clean (list); dir_list_clean (list);
if (!dir_list_init (list)) if (!dir_list_init (list))
{ {
dir_list_clean (&dir_copy); dir_list_free_list (&dir_copy);
return; return;
} }
@ -805,7 +814,7 @@ dir_list_reload (dir_list * list, const vfs_path_t * vpath, GCompareFunc sort,
dir_list_sort (list, sort, sort_op); dir_list_sort (list, sort, sort_op);
dir_list_clean (&dir_copy); dir_list_free_list (&dir_copy);
rotate_dash (FALSE); rotate_dash (FALSE);
} }

View File

@ -55,6 +55,7 @@ void dir_list_reload (dir_list * list, const vfs_path_t * vpath, GCompareFunc so
void dir_list_sort (dir_list * list, GCompareFunc sort, const dir_sort_options_t * sort_op); void dir_list_sort (dir_list * list, GCompareFunc sort, const dir_sort_options_t * sort_op);
gboolean dir_list_init (dir_list * list); gboolean dir_list_init (dir_list * list);
void dir_list_clean (dir_list * list); void dir_list_clean (dir_list * list);
void dir_list_free_list (dir_list * list);
gboolean handle_path (const char *path, struct stat *buf1, int *link_to_dir, int *stale_link); gboolean handle_path (const char *path, struct stat *buf1, int *link_to_dir, int *stale_link);
/* Sorting functions */ /* Sorting functions */

View File

@ -489,7 +489,7 @@ make_symlink (file_op_context_t * ctx, const char *src_path, const char *dst_pat
char link_target[MC_MAXPATHLEN]; char link_target[MC_MAXPATHLEN];
int len; int len;
FileProgressStatus return_status; FileProgressStatus return_status;
struct stat sb; struct stat dst_stat;
vfs_path_t *src_vpath; vfs_path_t *src_vpath;
vfs_path_t *dst_vpath; vfs_path_t *dst_vpath;
gboolean dst_is_symlink; gboolean dst_is_symlink;
@ -497,7 +497,7 @@ make_symlink (file_op_context_t * ctx, const char *src_path, const char *dst_pat
src_vpath = vfs_path_from_str (src_path); src_vpath = vfs_path_from_str (src_path);
dst_vpath = vfs_path_from_str (dst_path); dst_vpath = vfs_path_from_str (dst_path);
dst_is_symlink = (mc_lstat (dst_vpath, &sb) == 0) && S_ISLNK (sb.st_mode); dst_is_symlink = (mc_lstat (dst_vpath, &dst_stat) == 0) && S_ISLNK (dst_stat.st_mode);
retry_src_readlink: retry_src_readlink:
len = mc_readlink (src_vpath, link_target, sizeof (link_target) - 1); len = mc_readlink (src_vpath, link_target, sizeof (link_target) - 1);
@ -1556,7 +1556,7 @@ static FileProgressStatus
do_move_dir_dir (const WPanel * panel, file_op_total_context_t * tctx, file_op_context_t * ctx, do_move_dir_dir (const WPanel * panel, file_op_total_context_t * tctx, file_op_context_t * ctx,
const char *s, const char *d) const char *s, const char *d)
{ {
struct stat sbuf, dbuf; struct stat src_stat, dst_stat;
FileProgressStatus return_status = FILE_CONT; FileProgressStatus return_status = FILE_CONT;
gboolean move_over = FALSE; gboolean move_over = FALSE;
gboolean dstat_ok; gboolean dstat_ok;
@ -1577,11 +1577,11 @@ do_move_dir_dir (const WPanel * panel, file_op_total_context_t * tctx, file_op_c
mc_refresh (); mc_refresh ();
mc_stat (src_vpath, &sbuf); mc_stat (src_vpath, &src_stat);
dstat_ok = (mc_stat (dst_vpath, &dbuf) == 0); dstat_ok = (mc_stat (dst_vpath, &dst_stat) == 0);
if (dstat_ok && check_same_file (s, &sbuf, d, &dbuf, &return_status)) if (dstat_ok && check_same_file (s, &src_stat, d, &dst_stat, &return_status))
goto ret_fast; goto ret_fast;
if (!dstat_ok) if (!dstat_ok)
@ -1601,7 +1601,7 @@ do_move_dir_dir (const WPanel * panel, file_op_total_context_t * tctx, file_op_c
/* Check if the user inputted an existing dir */ /* Check if the user inputted an existing dir */
retry_dst_stat: retry_dst_stat:
if (mc_stat (dst_vpath, &dbuf) == 0) if (mc_stat (dst_vpath, &dst_stat) == 0)
{ {
if (move_over) if (move_over)
{ {
@ -1615,7 +1615,7 @@ do_move_dir_dir (const WPanel * panel, file_op_total_context_t * tctx, file_op_c
return_status = FILE_SKIPALL; return_status = FILE_SKIPALL;
else else
{ {
if (S_ISDIR (dbuf.st_mode)) if (S_ISDIR (dst_stat.st_mode))
return_status = file_error (TRUE, _("Cannot overwrite directory \"%s\"\n%s"), d); return_status = file_error (TRUE, _("Cannot overwrite directory \"%s\"\n%s"), d);
else else
return_status = file_error (TRUE, _("Cannot overwrite file \"%s\"\n%s"), d); return_status = file_error (TRUE, _("Cannot overwrite file \"%s\"\n%s"), d);
@ -1654,7 +1654,7 @@ do_move_dir_dir (const WPanel * panel, file_op_total_context_t * tctx, file_op_c
/* In case of single directory, calculate totals. In case of many directories, /* In case of single directory, calculate totals. In case of many directories,
totals are calcuated already. */ totals are calcuated already. */
return_status = return_status =
panel_operate_init_totals (panel, src_vpath, &sbuf, ctx, FALSE, panel_operate_init_totals (panel, src_vpath, &src_stat, ctx, FALSE,
FILEGUI_DIALOG_ONE_ITEM); FILEGUI_DIALOG_ONE_ITEM);
if (return_status != FILE_CONT) if (return_status != FILE_CONT)
goto ret; goto ret;
@ -2759,7 +2759,7 @@ copy_dir_dir (file_op_total_context_t * tctx, file_op_context_t * ctx, const cha
gboolean toplevel, gboolean move_over, gboolean do_delete, GSList * parent_dirs) gboolean toplevel, gboolean move_over, gboolean do_delete, GSList * parent_dirs)
{ {
struct dirent *next; struct dirent *next;
struct stat buf, cbuf; struct stat dst_stat, src_stat;
DIR *reading; DIR *reading;
FileProgressStatus return_status = FILE_CONT; FileProgressStatus return_status = FILE_CONT;
struct link *lp; struct link *lp;
@ -2772,7 +2772,7 @@ copy_dir_dir (file_op_total_context_t * tctx, file_op_context_t * ctx, const cha
/* First get the mode of the source dir */ /* First get the mode of the source dir */
retry_src_stat: retry_src_stat:
if ((*ctx->stat_func) (src_vpath, &cbuf) != 0) if ((*ctx->stat_func) (src_vpath, &src_stat) != 0)
{ {
if (ctx->skip_all) if (ctx->skip_all)
return_status = FILE_SKIPALL; return_status = FILE_SKIPALL;
@ -2787,7 +2787,7 @@ copy_dir_dir (file_op_total_context_t * tctx, file_op_context_t * ctx, const cha
goto ret_fast; goto ret_fast;
} }
if (is_in_linklist (dest_dirs, src_vpath, &cbuf) != NULL) if (is_in_linklist (dest_dirs, src_vpath, &src_stat) != NULL)
{ {
/* Don't copy a directory we created before (we don't want to copy /* Don't copy a directory we created before (we don't want to copy
infinitely if a directory is copied into itself) */ infinitely if a directory is copied into itself) */
@ -2801,7 +2801,7 @@ copy_dir_dir (file_op_total_context_t * tctx, file_op_context_t * ctx, const cha
/* Check the hardlinks */ /* Check the hardlinks */
if (ctx->preserve) if (ctx->preserve)
{ {
switch (check_hardlinks (src_vpath, &cbuf, dst_vpath, &ctx->skip_all)) switch (check_hardlinks (src_vpath, &src_stat, dst_vpath, &ctx->skip_all))
{ {
case HARDLINK_OK: case HARDLINK_OK:
/* We have made a hardlink - no more processing is necessary */ /* We have made a hardlink - no more processing is necessary */
@ -2816,7 +2816,7 @@ copy_dir_dir (file_op_total_context_t * tctx, file_op_context_t * ctx, const cha
} }
} }
if (!S_ISDIR (cbuf.st_mode)) if (!S_ISDIR (src_stat.st_mode))
{ {
if (ctx->skip_all) if (ctx->skip_all)
return_status = FILE_SKIPALL; return_status = FILE_SKIPALL;
@ -2831,7 +2831,7 @@ copy_dir_dir (file_op_total_context_t * tctx, file_op_context_t * ctx, const cha
goto ret_fast; goto ret_fast;
} }
if (is_in_linklist (parent_dirs, src_vpath, &cbuf) != NULL) if (is_in_linklist (parent_dirs, src_vpath, &src_stat) != NULL)
{ {
/* we found a cyclic symbolic link */ /* we found a cyclic symbolic link */
message (D_ERROR, MSG_ERROR, _("Cannot copy cyclic symbolic link\n\"%s\""), s); message (D_ERROR, MSG_ERROR, _("Cannot copy cyclic symbolic link\n\"%s\""), s);
@ -2841,13 +2841,13 @@ copy_dir_dir (file_op_total_context_t * tctx, file_op_context_t * ctx, const cha
lp = g_new0 (struct link, 1); lp = g_new0 (struct link, 1);
lp->vfs = vfs_path_get_by_index (src_vpath, -1)->class; lp->vfs = vfs_path_get_by_index (src_vpath, -1)->class;
lp->ino = cbuf.st_ino; lp->ino = src_stat.st_ino;
lp->dev = cbuf.st_dev; lp->dev = src_stat.st_dev;
parent_dirs = g_slist_prepend (parent_dirs, lp); parent_dirs = g_slist_prepend (parent_dirs, lp);
retry_dst_stat: retry_dst_stat:
/* Now, check if the dest dir exists, if not, create it. */ /* Now, check if the dest dir exists, if not, create it. */
if (mc_stat (dst_vpath, &buf) != 0) if (mc_stat (dst_vpath, &dst_stat) != 0)
{ {
/* Here the dir doesn't exist : make it ! */ /* Here the dir doesn't exist : make it ! */
if (move_over && mc_rename (src_vpath, dst_vpath) == 0) if (move_over && mc_rename (src_vpath, dst_vpath) == 0)
@ -2866,7 +2866,7 @@ copy_dir_dir (file_op_total_context_t * tctx, file_op_context_t * ctx, const cha
* so, say /bla exists, if we copy /tmp/\* to /bla, we get /bla/tmp/\* * so, say /bla exists, if we copy /tmp/\* to /bla, we get /bla/tmp/\*
* or ( /bla doesn't exist ) /tmp/\* to /bla -> /bla/\* * or ( /bla doesn't exist ) /tmp/\* to /bla -> /bla/\*
*/ */
if (!S_ISDIR (buf.st_mode)) if (!S_ISDIR (dst_stat.st_mode))
{ {
if (ctx->skip_all) if (ctx->skip_all)
return_status = FILE_SKIPALL; return_status = FILE_SKIPALL;
@ -2899,7 +2899,7 @@ copy_dir_dir (file_op_total_context_t * tctx, file_op_context_t * ctx, const cha
if (do_mkdir) if (do_mkdir)
{ {
while (my_mkdir (dst_vpath, (cbuf.st_mode & ctx->umask_kill) | S_IRWXU) != 0) while (my_mkdir (dst_vpath, (src_stat.st_mode & ctx->umask_kill) | S_IRWXU) != 0)
{ {
if (ctx->skip_all) if (ctx->skip_all)
return_status = FILE_SKIPALL; return_status = FILE_SKIPALL;
@ -2915,16 +2915,16 @@ copy_dir_dir (file_op_total_context_t * tctx, file_op_context_t * ctx, const cha
} }
lp = g_new0 (struct link, 1); lp = g_new0 (struct link, 1);
mc_stat (dst_vpath, &buf); mc_stat (dst_vpath, &dst_stat);
lp->vfs = vfs_path_get_by_index (dst_vpath, -1)->class; lp->vfs = vfs_path_get_by_index (dst_vpath, -1)->class;
lp->ino = buf.st_ino; lp->ino = dst_stat.st_ino;
lp->dev = buf.st_dev; lp->dev = dst_stat.st_dev;
dest_dirs = g_slist_prepend (dest_dirs, lp); dest_dirs = g_slist_prepend (dest_dirs, lp);
} }
if (ctx->preserve_uidgid) if (ctx->preserve_uidgid)
{ {
while (mc_chown (dst_vpath, cbuf.st_uid, cbuf.st_gid) != 0) while (mc_chown (dst_vpath, src_stat.st_uid, src_stat.st_gid) != 0)
{ {
if (ctx->skip_all) if (ctx->skip_all)
return_status = FILE_SKIPALL; return_status = FILE_SKIPALL;
@ -2959,8 +2959,8 @@ copy_dir_dir (file_op_total_context_t * tctx, file_op_context_t * ctx, const cha
path = mc_build_filename (s, next->d_name, (char *) NULL); path = mc_build_filename (s, next->d_name, (char *) NULL);
tmp_vpath = vfs_path_from_str (path); tmp_vpath = vfs_path_from_str (path);
(*ctx->stat_func) (tmp_vpath, &buf); (*ctx->stat_func) (tmp_vpath, &dst_stat);
if (S_ISDIR (buf.st_mode)) if (S_ISDIR (dst_stat.st_mode))
{ {
char *mdpath; char *mdpath;
@ -2992,11 +2992,11 @@ copy_dir_dir (file_op_total_context_t * tctx, file_op_context_t * ctx, const cha
{ {
lp = g_new0 (struct link, 1); lp = g_new0 (struct link, 1);
lp->src_vpath = tmp_vpath; lp->src_vpath = tmp_vpath;
lp->st_mode = buf.st_mode; lp->st_mode = dst_stat.st_mode;
erase_list = g_slist_append (erase_list, lp); erase_list = g_slist_append (erase_list, lp);
tmp_vpath = NULL; tmp_vpath = NULL;
} }
else if (S_ISDIR (buf.st_mode)) else if (S_ISDIR (dst_stat.st_mode))
return_status = erase_dir_iff_empty (ctx, tmp_vpath, tctx->progress_count); return_status = erase_dir_iff_empty (ctx, tmp_vpath, tctx->progress_count);
else else
return_status = erase_file (tctx, ctx, tmp_vpath); return_status = erase_file (tctx, ctx, tmp_vpath);
@ -3009,16 +3009,16 @@ copy_dir_dir (file_op_total_context_t * tctx, file_op_context_t * ctx, const cha
{ {
mc_timesbuf_t times; mc_timesbuf_t times;
mc_chmod (dst_vpath, cbuf.st_mode & ctx->umask_kill); mc_chmod (dst_vpath, src_stat.st_mode & ctx->umask_kill);
get_times (&cbuf, &times); get_times (&src_stat, &times);
mc_utime (dst_vpath, &times); mc_utime (dst_vpath, &times);
} }
else else
{ {
cbuf.st_mode = umask (-1); src_stat.st_mode = umask (-1);
umask (cbuf.st_mode); umask (src_stat.st_mode);
cbuf.st_mode = 0100777 & ~cbuf.st_mode; src_stat.st_mode = 0100777 & ~src_stat.st_mode;
mc_chmod (dst_vpath, cbuf.st_mode & ctx->umask_kill); mc_chmod (dst_vpath, src_stat.st_mode & ctx->umask_kill);
} }
ret: ret:

View File

@ -78,13 +78,7 @@
/* NetBSD 1.5.2 needs these, for the declaration of struct statfs. */ /* NetBSD 1.5.2 needs these, for the declaration of struct statfs. */
#include <sys/param.h> #include <sys/param.h>
#include <sys/mount.h> #include <sys/mount.h>
#if defined HAVE_NFS_NFS_CLNT_H && defined HAVE_NFS_VFS_H #elif defined HAVE_OS_H /* Haiku, also (obsolete) BeOS */
/* Ultrix 4.4 needs these for the declaration of struct statfs. */
#include <netinet/in.h>
#include <nfs/nfs_clnt.h>
#include <nfs/vfs.h>
#endif
#elif defined HAVE_OS_H /* BeOS */
#include <fs_info.h> #include <fs_info.h>
#endif #endif
@ -106,7 +100,7 @@
#else #else
#define STATFS statfs #define STATFS statfs
#define STRUCT_STATVFS struct statfs #define STRUCT_STATVFS struct statfs
#ifdef HAVE_OS_H /* BeOS */ #ifdef HAVE_OS_H /* Haiku, also (obsolete) BeOS */
/* BeOS has a statvfs function, but it does not return sensible values /* BeOS has a statvfs function, but it does not return sensible values
for f_files, f_ffree and f_favail, and lacks f_type, f_basetype and for f_files, f_ffree and f_favail, and lacks f_type, f_basetype and
f_fstypename. Use 'struct fs_info' instead. */ f_fstypename. Use 'struct fs_info' instead. */
@ -138,7 +132,7 @@ statfs (char const *filename, struct fs_info *buf)
#else #else
#if defined HAVE_STRUCT_STATVFS_F_FSTYPENAME || defined HAVE_STRUCT_STATFS_F_FSTYPENAME #if defined HAVE_STRUCT_STATVFS_F_FSTYPENAME || defined HAVE_STRUCT_STATFS_F_FSTYPENAME
#define STATXFS_FILE_SYSTEM_TYPE_MEMBER_NAME f_fstypename #define STATXFS_FILE_SYSTEM_TYPE_MEMBER_NAME f_fstypename
#elif defined HAVE_OS_H /* BeOS */ #elif defined HAVE_OS_H /* Haiku, also (obsolete) BeOS */
#define STATXFS_FILE_SYSTEM_TYPE_MEMBER_NAME fsh_name #define STATXFS_FILE_SYSTEM_TYPE_MEMBER_NAME fsh_name
#endif #endif
#endif #endif

View File

@ -1801,7 +1801,7 @@ do_nc (void)
/* don't handle VFS timestamps for dirs opened in panels */ /* don't handle VFS timestamps for dirs opened in panels */
mc_event_destroy (MCEVENT_GROUP_CORE, "vfs_timestamp"); mc_event_destroy (MCEVENT_GROUP_CORE, "vfs_timestamp");
dir_list_clean (&panelized_panel.list); dir_list_free_list (&panelized_panel.list);
} }
/* Program end */ /* Program end */

View File

@ -49,7 +49,7 @@
#include <unistd.h> #include <unistd.h>
#include <sys/stat.h> #include <sys/stat.h>
#ifdef MOUNTED_GETFSSTAT /* OSF_1 and Darwin1.3.x */ #ifdef MOUNTED_GETFSSTAT /* OSF_1, also (obsolete) Apple Darwin 1.3 */
#ifdef HAVE_SYS_UCRED_H #ifdef HAVE_SYS_UCRED_H
#include <grp.h> /* needed on OSF V4.0 for definition of NGROUPS, #include <grp.h> /* needed on OSF V4.0 for definition of NGROUPS,
NGROUPS is used as an array dimension in ucred.h */ NGROUPS is used as an array dimension in ucred.h */
@ -78,11 +78,9 @@
#ifdef HAVE_SYS_STATFS_H #ifdef HAVE_SYS_STATFS_H
#include <sys/statfs.h> #include <sys/statfs.h>
#endif #endif
#ifdef HAVE_DUSTAT_H /* AIX PS/2 */
#include <sys/dustat.h>
#endif
#ifdef MOUNTED_GETMNTENT1 /* 4.3BSD, SunOS, HP-UX, Dynix, Irix. */ #ifdef MOUNTED_GETMNTENT1 /* glibc, HP-UX, IRIX, Cygwin, Android,
also (obsolete) 4.3BSD, SunOS */
#include <mntent.h> #include <mntent.h>
#include <sys/types.h> #include <sys/types.h>
#ifndef MOUNTED #ifndef MOUNTED
@ -92,60 +90,46 @@
#ifdef MNT_MNTTAB /* HP-UX. */ #ifdef MNT_MNTTAB /* HP-UX. */
#define MOUNTED MNT_MNTTAB #define MOUNTED MNT_MNTTAB
#endif #endif
#ifdef MNTTABNAME /* Dynix. */
#define MOUNTED MNTTABNAME
#endif
#endif #endif
#endif #endif
#ifdef MOUNTED_GETMNTINFO /* 4.4BSD. */ #ifdef MOUNTED_GETMNTINFO /* Mac OS X, FreeBSD, OpenBSD, also (obsolete) 4.4BSD */
#include <sys/mount.h> #include <sys/mount.h>
#endif #endif
#ifdef MOUNTED_GETMNTINFO2 /* NetBSD 3.0. */ #ifdef MOUNTED_GETMNTINFO2 /* NetBSD, Minix */
#include <sys/statvfs.h> #include <sys/statvfs.h>
#endif #endif
#ifdef MOUNTED_GETMNT /* Ultrix. */ #ifdef MOUNTED_FS_STAT_DEV /* Haiku, also (obsolete) BeOS */
#include <sys/mount.h>
#include <sys/fs_types.h>
#endif
#ifdef MOUNTED_FS_STAT_DEV /* BeOS. */
#include <fs_info.h> #include <fs_info.h>
#include <dirent.h> #include <dirent.h>
#endif #endif
#ifdef MOUNTED_FREAD_FSTYP /* SVR3. */ #ifdef MOUNTED_FREAD_FSTYP /* (obsolete) SVR3 */
#include <mnttab.h> #include <mnttab.h>
#include <sys/fstyp.h> #include <sys/fstyp.h>
#include <sys/statfs.h> #include <sys/statfs.h>
#endif #endif
#ifdef MOUNTED_LISTMNTENT #ifdef MOUNTED_GETEXTMNTENT /* Solaris >= 8 */
#include <mntent.h>
#endif
#ifdef MOUNTED_GETMNTENT2 /* SVR4. */
#include <sys/mnttab.h> #include <sys/mnttab.h>
#endif #endif
#ifdef MOUNTED_VMOUNT /* AIX. */ #ifdef MOUNTED_GETMNTENT2 /* Solaris < 8, also (obsolete) SVR4 */
#include <sys/mnttab.h>
#endif
#ifdef MOUNTED_VMOUNT /* AIX */
#include <fshelp.h> #include <fshelp.h>
#include <sys/vfs.h> #include <sys/vfs.h>
#endif #endif
#ifdef MOUNTED_INTERIX_STATVFS /* Interix. */ #ifdef MOUNTED_INTERIX_STATVFS /* Interix */
#include <sys/statvfs.h> #include <sys/statvfs.h>
#include <dirent.h> #include <dirent.h>
#endif #endif
#ifdef DOLPHIN
/* So special that it's not worth putting this in autoconf. */
#undef MOUNTED_FREAD_FSTYP
#define MOUNTED_GETMNTTBL
#endif
#ifdef HAVE_SYS_MNTENT_H #ifdef HAVE_SYS_MNTENT_H
/* This is to get MNTOPT_IGNORE on e.g. SVR4. */ /* This is to get MNTOPT_IGNORE on e.g. SVR4. */
#include <sys/mntent.h> #include <sys/mntent.h>
@ -377,7 +361,7 @@ free_mount_entry (struct mount_entry *me)
/* --------------------------------------------------------------------------------------------- */ /* --------------------------------------------------------------------------------------------- */
#ifdef MOUNTED_GETMNTINFO #ifdef MOUNTED_GETMNTINFO /* Mac OS X, FreeBSD, OpenBSD, also (obsolete) 4.4BSD */
#ifndef HAVE_STRUCT_STATFS_F_FSTYPENAME #ifndef HAVE_STRUCT_STATFS_F_FSTYPENAME
static char * static char *
@ -511,7 +495,7 @@ fsp_to_string (const struct statfs *fsp)
/* --------------------------------------------------------------------------------------------- */ /* --------------------------------------------------------------------------------------------- */
#ifdef MOUNTED_VMOUNT /* AIX. */ #ifdef MOUNTED_VMOUNT /* AIX */
static char * static char *
fstype_to_string (int t) fstype_to_string (int t)
{ {
@ -566,36 +550,7 @@ dev_from_mount_options (char const *mount_options)
/* --------------------------------------------------------------------------------------------- */ /* --------------------------------------------------------------------------------------------- */
#if defined _AIX && defined _I386 #if defined MOUNTED_GETMNTENT1 && defined __linux__ /* GNU/Linux, Android */
/* AIX PS/2 does not supply statfs. */
static int
statfs (char *file, struct statfs *fsb)
{
struct stat stats;
struct dustat fsd;
if (stat (file, &stats) != 0)
return -1;
if (dustat (stats.st_dev, 0, &fsd, sizeof (fsd)))
return -1;
fsb->f_type = 0;
fsb->f_bsize = fsd.du_bsize;
fsb->f_blocks = fsd.du_fsize - fsd.du_isize;
fsb->f_bfree = fsd.du_tfree;
fsb->f_bavail = fsd.du_tfree;
fsb->f_files = (fsd.du_isize - 2) * fsd.du_inopb;
fsb->f_ffree = fsd.du_tinode;
fsb->f_fsid.val[0] = fsd.du_site;
fsb->f_fsid.val[1] = fsd.du_pckno;
return 0;
}
#endif /* _AIX && _I386 */
/* --------------------------------------------------------------------------------------------- */
#if defined MOUNTED_GETMNTENT1 && defined __linux__
/* Unescape the paths in mount tables. /* Unescape the paths in mount tables.
STR is updated in place. */ STR is updated in place. */
@ -633,38 +588,8 @@ read_file_system_list (void)
GSList *mount_list = NULL; GSList *mount_list = NULL;
struct mount_entry *me; struct mount_entry *me;
#ifdef MOUNTED_LISTMNTENT #ifdef MOUNTED_GETMNTENT1 /* glibc, HP-UX, IRIX, Cygwin, Android,
{ also (obsolete) 4.3BSD, SunOS */
struct tabmntent *mntlist, *p;
/* the third and fourth arguments could be used to filter mounts,
but Crays doesn't seem to have any mounts that we want to
remove. Specifically, automount create normal NFS mounts.
*/
if (listmntent (&mntlist, KMTAB, NULL, NULL) < 0)
return NULL;
for (p = mntlist; p; p = p->next)
{
struct mntent *mnt = p->ment;
me = g_malloc (sizeof (*me));
me->me_devname = g_strdup (mnt->mnt_fsname);
me->me_mountdir = g_strdup (mnt->mnt_dir);
me->me_mntroot = NULL;
me->me_type = g_strdup (mnt->mnt_type);
me->me_type_malloced = 1;
me->me_dummy = ME_DUMMY (me->me_devname, me->me_type);
me->me_remote = ME_REMOTE (me->me_devname, me->me_type);
me->me_dev = -1;
mount_list = g_slist_prepend (mount_list, me);
}
freemntlist (mntlist);
}
#endif
#ifdef MOUNTED_GETMNTENT1 /* GNU/Linux, 4.3BSD, SunOS, HP-UX, Dynix, Irix. */
{ {
FILE *fp; FILE *fp;
@ -790,7 +715,7 @@ read_file_system_list (void)
} }
#endif /* MOUNTED_GETMNTENT1. */ #endif /* MOUNTED_GETMNTENT1. */
#ifdef MOUNTED_GETMNTINFO /* 4.4BSD. */ #ifdef MOUNTED_GETMNTINFO /* Mac OS X, FreeBSD, OpenBSD, also (obsolete) 4.4BSD */
{ {
struct statfs *fsp; struct statfs *fsp;
int entries; int entries;
@ -817,7 +742,7 @@ read_file_system_list (void)
} }
#endif /* MOUNTED_GETMNTINFO */ #endif /* MOUNTED_GETMNTINFO */
#ifdef MOUNTED_GETMNTINFO2 /* NetBSD 3.0. */ #ifdef MOUNTED_GETMNTINFO2 /* NetBSD, Minix */
{ {
struct statvfs *fsp; struct statvfs *fsp;
int entries; int entries;
@ -842,37 +767,7 @@ read_file_system_list (void)
} }
#endif /* MOUNTED_GETMNTINFO2 */ #endif /* MOUNTED_GETMNTINFO2 */
#ifdef MOUNTED_GETMNT /* Ultrix. */ #if defined MOUNTED_FS_STAT_DEV /* Haiku, also (obsolete) BeOS */
{
int offset = 0;
int val;
struct fs_data fsd;
while (TRUE)
{
errno = 0;
val = getmnt (&offset, &fsd, sizeof (fsd), NOSTAT_MANY, (char *) NULL);
if (val < 0)
goto free_then_fail;
if (val == 0)
break;
me = g_malloc (sizeof (*me));
me->me_devname = g_strdup (fsd.fd_req.devname);
me->me_mountdir = g_strdup (fsd.fd_req.path);
me->me_mntroot = NULL;
me->me_type = gt_names[fsd.fd_req.fstype];
me->me_type_malloced = 0;
me->me_dummy = ME_DUMMY (me->me_devname, me->me_type);
me->me_remote = ME_REMOTE (me->me_devname, me->me_type);
me->me_dev = fsd.fd_req.dev;
mount_list = g_slist_prepend (mount_list, me);
}
}
#endif /* MOUNTED_GETMNT. */
#if defined MOUNTED_FS_STAT_DEV /* BeOS */
{ {
/* The next_dev() and fs_stat_dev() system calls give the list of /* The next_dev() and fs_stat_dev() system calls give the list of
all file systems, including the information returned by statvfs() all file systems, including the information returned by statvfs()
@ -972,7 +867,7 @@ read_file_system_list (void)
} }
#endif /* MOUNTED_FS_STAT_DEV */ #endif /* MOUNTED_FS_STAT_DEV */
#ifdef MOUNTED_GETFSSTAT /* __alpha running OSF_1 */ #ifdef MOUNTED_GETFSSTAT /* OSF/1, also (obsolete) Apple Darwin 1.3 */
{ {
int numsys, counter; int numsys, counter;
size_t bufsize; size_t bufsize;
@ -1016,7 +911,7 @@ read_file_system_list (void)
} }
#endif /* MOUNTED_GETFSSTAT */ #endif /* MOUNTED_GETFSSTAT */
#if defined MOUNTED_FREAD || defined MOUNTED_FREAD_FSTYP /* SVR[23]. */ #if defined MOUNTED_FREAD_FSTYP /* (obsolete) SVR3 */
{ {
struct mnttab mnt; struct mnttab mnt;
char *table = "/etc/mnttab"; char *table = "/etc/mnttab";
@ -1029,17 +924,12 @@ read_file_system_list (void)
while (fread (&mnt, sizeof (mnt), 1, fp) > 0) while (fread (&mnt, sizeof (mnt), 1, fp) > 0)
{ {
me = g_malloc (sizeof (*me)); me = g_malloc (sizeof (*me));
#ifdef GETFSTYP /* SVR3. */
me->me_devname = g_strdup (mnt.mt_dev); me->me_devname = g_strdup (mnt.mt_dev);
#else
me->me_devname = g_strconcat ("/dev/", mnt.mt_dev, (char *) NULL);
#endif
me->me_mountdir = g_strdup (mnt.mt_filsys); me->me_mountdir = g_strdup (mnt.mt_filsys);
me->me_mntroot = NULL; me->me_mntroot = NULL;
me->me_dev = (dev_t) (-1); /* Magic; means not known yet. */ me->me_dev = (dev_t) (-1); /* Magic; means not known yet. */
me->me_type = ""; me->me_type = "";
me->me_type_malloced = 0; me->me_type_malloced = 0;
#ifdef GETFSTYP /* SVR3. */
{ {
struct statfs fsd; struct statfs fsd;
char typebuf[FSTYPSZ]; char typebuf[FSTYPSZ];
@ -1051,7 +941,6 @@ read_file_system_list (void)
me->me_type_malloced = 1; me->me_type_malloced = 1;
} }
} }
#endif
me->me_dummy = ME_DUMMY (me->me_devname, me->me_type); me->me_dummy = ME_DUMMY (me->me_devname, me->me_type);
me->me_remote = ME_REMOTE (me->me_devname, me->me_type); me->me_remote = ME_REMOTE (me->me_devname, me->me_type);
@ -1071,34 +960,54 @@ read_file_system_list (void)
if (fclose (fp) == EOF) if (fclose (fp) == EOF)
goto free_then_fail; goto free_then_fail;
} }
#endif /* MOUNTED_FREAD || MOUNTED_FREAD_FSTYP. */ #endif /* MOUNTED_FREAD_FSTYP */
#ifdef MOUNTED_GETMNTTBL /* DolphinOS goes its own way. */ #ifdef MOUNTED_GETEXTMNTENT /* Solaris >= 8 */
{ {
struct mntent **mnttbl = getmnttbl (), **ent; struct extmnttab mnt;
const char *table = MNTTAB;
FILE *fp;
int ret;
for (ent = mnttbl; *ent; ent++) /* No locking is needed, because the contents of /etc/mnttab is generated by the kernel. */
errno = 0;
fp = fopen (table, "r");
if (fp == NULL)
ret = errno;
else
{ {
me = g_malloc (sizeof (*me)); while ((ret = getextmntent (fp, &mnt, 1)) == 0)
me->me_devname = g_strdup ((*ent)->mt_resource); {
me->me_mountdir = g_strdup ((*ent)->mt_directory); me = g_malloc (sizeof *me);
me->me_mntroot = NULL; me->me_devname = g_strdup (mnt.mnt_special);
me->me_type = g_strdup ((*ent)->mt_fstype); me->me_mountdir = g_strdup (mnt.mnt_mountp);
me->me_type_malloced = 1; me->me_mntroot = NULL;
me->me_dummy = ME_DUMMY (me->me_devname, me->me_type); me->me_type = g_strdup (mnt.mnt_fstype);
me->me_remote = ME_REMOTE (me->me_devname, me->me_type); me->me_type_malloced = 1;
me->me_dev = (dev_t) (-1); /* Magic; means not known yet. */ me->me_dummy = MNT_IGNORE (&mnt) != 0;
me->me_remote = ME_REMOTE (me->me_devname, me->me_type);
me->me_dev = makedev (mnt.mnt_major, mnt.mnt_minor);
mount_list = g_slist_prepend (mount_list, me); mount_list = g_slist_prepend (mount_list, me);
}
ret = fclose (fp) == EOF ? errno : 0 < ret ? 0 : -1;
/* Here ret = -1 means success, ret >= 0 means failure. */
} }
endmnttbl ();
}
#endif
#ifdef MOUNTED_GETMNTENT2 /* SVR4. */ if (ret >= 0)
{
errno = ret;
goto free_then_fail;
}
}
#endif /* MOUNTED_GETEXTMNTENT */
#ifdef MOUNTED_GETMNTENT2 /* Solaris < 8, also (obsolete) SVR4 */
{ {
struct mnttab mnt; struct mnttab mnt;
char *table = MNTTAB; const char *table = MNTTAB;
FILE *fp; FILE *fp;
int ret; int ret;
int lockfd = -1; int lockfd = -1;
@ -1155,6 +1064,7 @@ read_file_system_list (void)
} }
ret = fclose (fp) == EOF ? errno : 0 < ret ? 0 : -1; ret = fclose (fp) == EOF ? errno : 0 < ret ? 0 : -1;
/* Here ret = -1 means success, ret >= 0 means failure. */
} }
if (lockfd >= 0 && close (lockfd) != 0) if (lockfd >= 0 && close (lockfd) != 0)
@ -1168,7 +1078,7 @@ read_file_system_list (void)
} }
#endif /* MOUNTED_GETMNTENT2. */ #endif /* MOUNTED_GETMNTENT2. */
#ifdef MOUNTED_VMOUNT /* AIX. */ #ifdef MOUNTED_VMOUNT /* AIX */
{ {
int bufsize; int bufsize;
void *entries; void *entries;
@ -1233,7 +1143,7 @@ read_file_system_list (void)
} }
#endif /* MOUNTED_VMOUNT. */ #endif /* MOUNTED_VMOUNT. */
#ifdef MOUNTED_INTERIX_STATVFS #ifdef MOUNTED_INTERIX_STATVFS /* Interix */
{ {
DIR *dirp = opendir ("/dev/fs"); DIR *dirp = opendir ("/dev/fs");
char node[9 + NAME_MAX]; char node[9 + NAME_MAX];
@ -1438,21 +1348,6 @@ get_fs_usage (char const *file, char const *disk, struct fs_usage *fsp)
: PROPAGATE_ALL_ONES (fsd.f_bsize); : PROPAGATE_ALL_ONES (fsd.f_bsize);
/* *INDENT-ON* */ /* *INDENT-ON* */
#elif defined STAT_STATFS2_FS_DATA /* Ultrix */
struct fs_data fsd;
if (statfs (file, &fsd) != 1)
return -1;
fsp->fsu_blocksize = 1024;
fsp->fsu_blocks = PROPAGATE_ALL_ONES (fsd.fd_req.btot);
fsp->fsu_bfree = PROPAGATE_ALL_ONES (fsd.fd_req.bfree);
fsp->fsu_bavail = PROPAGATE_TOP_BIT (fsd.fd_req.bfreen);
fsp->fsu_bavail_top_bit_set = EXTRACT_TOP_BIT (fsd.fd_req.bfreen) != 0;
fsp->fsu_files = PROPAGATE_ALL_ONES (fsd.fd_req.gtot);
fsp->fsu_ffree = PROPAGATE_ALL_ONES (fsd.fd_req.gfree);
#elif defined STAT_STATFS3_OSF1 /* OSF/1 */ #elif defined STAT_STATFS3_OSF1 /* OSF/1 */
struct statfs fsd; struct statfs fsd;
@ -1506,12 +1401,7 @@ get_fs_usage (char const *file, char const *disk, struct fs_usage *fsp)
fsp->fsu_blocksize = PROPAGATE_ALL_ONES (fsd.f_fsize); fsp->fsu_blocksize = PROPAGATE_ALL_ONES (fsd.f_fsize);
#elif defined STAT_STATFS4 /* SVR3, Dynix, old Irix, old AIX, \ #elif defined STAT_STATFS4 /* SVR3, old Irix */
Dolphin */
#if !defined _AIX && !defined _SEQUENT_ && !defined DOLPHIN
#define f_bavail f_bfree
#endif
struct statfs fsd; struct statfs fsd;
@ -1521,7 +1411,7 @@ get_fs_usage (char const *file, char const *disk, struct fs_usage *fsp)
/* Empirically, the block counts on most SVR3 and SVR3-derived /* Empirically, the block counts on most SVR3 and SVR3-derived
systems seem to always be in terms of 512-byte blocks, systems seem to always be in terms of 512-byte blocks,
no matter what value f_bsize has. */ no matter what value f_bsize has. */
#if defined _AIX || defined _CRAY #if defined _CRAY
fsp->fsu_blocksize = PROPAGATE_ALL_ONES (fsd.f_bsize); fsp->fsu_blocksize = PROPAGATE_ALL_ONES (fsd.f_bsize);
#else #else
fsp->fsu_blocksize = 512; fsp->fsu_blocksize = 512;

View File

@ -4233,7 +4233,7 @@ panel_clean_dir (WPanel * panel)
panel->content_shift = -1; panel->content_shift = -1;
panel->max_shift = -1; panel->max_shift = -1;
dir_list_clean (&panel->dir); dir_list_free_list (&panel->dir);
} }
/* --------------------------------------------------------------------------------------------- */ /* --------------------------------------------------------------------------------------------- */

View File

@ -189,8 +189,6 @@ init_panelize (void)
INPUT_COMPLETE_SHELL_ESC); INPUT_COMPLETE_SHELL_ESC);
add_widget (panelize_dlg, pname); add_widget (panelize_dlg, pname);
add_widget (panelize_dlg, hline_new (y++, -1, -1)); add_widget (panelize_dlg, hline_new (y++, -1, -1));
x = (panelize_cols - blen) / 2; x = (panelize_cols - blen) / 2;
@ -222,11 +220,11 @@ panelize_done (void)
static void static void
add2panelize (char *label, char *command) add2panelize (char *label, char *command)
{ {
struct panelize *current, *old; struct panelize *current;
struct panelize *old = NULL;
old = NULL;
current = panelize; current = panelize;
while (current && strcmp (current->label, label) <= 0) while (current != NULL && strcmp (current->label, label) <= 0)
{ {
old = current; old = current;
current = current->next; current = current->next;
@ -242,6 +240,7 @@ add2panelize (char *label, char *command)
else else
{ {
struct panelize *new; struct panelize *new;
new = g_new (struct panelize, 1); new = g_new (struct panelize, 1);
new->label = label; new->label = label;
new->command = command; new->command = command;
@ -277,18 +276,16 @@ remove_from_panelize (struct panelize *entry)
if (strcmp (entry->label, _("Other command")) != 0) if (strcmp (entry->label, _("Other command")) != 0)
{ {
if (entry == panelize) if (entry == panelize)
{
panelize = panelize->next; panelize = panelize->next;
}
else else
{ {
struct panelize *current = panelize; struct panelize *current = panelize;
while (current && current->next != entry)
while (current != NULL && current->next != entry)
current = current->next; current = current->next;
if (current)
{ if (current != NULL)
current->next = entry->next; current->next = entry->next;
}
} }
g_free (entry->label); g_free (entry->label);
@ -302,16 +299,12 @@ remove_from_panelize (struct panelize *entry)
static void static void
do_external_panelize (char *command) do_external_panelize (char *command)
{ {
int link_to_dir, stale_link;
struct stat st;
dir_list *list = &current_panel->dir; dir_list *list = &current_panel->dir;
char line[MC_MAXPATHLEN];
char *name;
FILE *external; FILE *external;
open_error_pipe (); open_error_pipe ();
external = popen (command, "r"); external = popen (command, "r");
if (!external) if (external == NULL)
{ {
close_error_pipe (D_ERROR, _("Cannot invoke command.")); close_error_pipe (D_ERROR, _("Cannot invoke command."));
return; return;
@ -325,22 +318,29 @@ do_external_panelize (char *command)
while (TRUE) while (TRUE)
{ {
char line[MC_MAXPATHLEN];
size_t len;
char *name;
int link_to_dir, stale_link;
struct stat st;
clearerr (external); clearerr (external);
if (fgets (line, sizeof (line), external) == NULL) if (fgets (line, sizeof (line), external) == NULL)
{ {
if (ferror (external) && errno == EINTR) if (ferror (external) != 0 && errno == EINTR)
continue; continue;
else break;
break;
} }
if (line[strlen (line) - 1] == '\n')
line[strlen (line) - 1] = 0; len = strlen (line);
if (strlen (line) < 1) if (line[len - 1] == '\n')
line[len - 1] = '\0';
if (line[0] == '\0')
continue; continue;
name = line;
if (line[0] == '.' && IS_PATH_SEP (line[1])) if (line[0] == '.' && IS_PATH_SEP (line[1]))
name = line + 2; name += 2;
else
name = line;
if (!handle_path (name, &st, &link_to_dir, &stale_link)) if (!handle_path (name, &st, &link_to_dir, &stale_link))
continue; continue;
@ -635,15 +635,14 @@ load_panelize (void)
void void
save_panelize (void) save_panelize (void)
{ {
struct panelize *current = panelize; struct panelize *current;
mc_config_del_group (mc_global.main_config, panelize_section); mc_config_del_group (mc_global.main_config, panelize_section);
for (; current; current = current->next)
{ for (current = panelize; current != NULL; current = current->next)
if (strcmp (current->label, _("Other command"))) if (strcmp (current->label, _("Other command")) != 0)
mc_config_set_string (mc_global.main_config, mc_config_set_string (mc_global.main_config,
panelize_section, current->label, current->command); panelize_section, current->label, current->command);
}
} }
/* --------------------------------------------------------------------------------------------- */ /* --------------------------------------------------------------------------------------------- */
@ -651,10 +650,9 @@ save_panelize (void)
void void
done_panelize (void) done_panelize (void)
{ {
struct panelize *current = panelize; struct panelize *current, *next;
struct panelize *next;
for (; current; current = next) for (current = panelize; current != NULL; current = next)
{ {
next = current->next; next = current->next;
g_free (current->label); g_free (current->label);

View File

@ -197,10 +197,6 @@
#include <sys/statfs.h> #include <sys/statfs.h>
#endif #endif
#ifdef HAVE_DUSTAT_H
#include <sys/dustat.h>
#endif
#ifdef HAVE_SYS_STATVFS_H #ifdef HAVE_SYS_STATVFS_H
#include <sys/statvfs.h> #include <sys/statvfs.h>
#endif #endif
@ -544,10 +540,6 @@
#define O_ACCMODE (O_RDONLY | O_WRONLY | O_RDWR) #define O_ACCMODE (O_RDONLY | O_WRONLY | O_RDWR)
#endif #endif
#if defined(HAVE_CRYPT16) && defined(HAVE_GETAUTHUID)
#define ULTRIX_AUTH 1
#endif
#ifndef HAVE_INITGROUPS #ifndef HAVE_INITGROUPS
int initgroups (char *name, gid_t id); int initgroups (char *name, gid_t id);
#endif #endif

View File

@ -247,10 +247,9 @@ mcview_done (WView * view)
if (mc_global.mc_run_mode == MC_RUN_VIEWER && view->dir != NULL) if (mc_global.mc_run_mode == MC_RUN_VIEWER && view->dir != NULL)
{ {
/* mcviewer is the owner of file list */ /* mcviewer is the owner of file list */
dir_list_clean (view->dir); dir_list_free_list (view->dir);
g_free (view->dir->list);
g_free (view->dir_idx);
g_free (view->dir); g_free (view->dir);
g_free (view->dir_idx);
} }
view->dir = NULL; view->dir = NULL;