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
* sparc64-linux-linux2.1
* mips-sgi-irix5.x, 6.x
* mips-dec-ultrix4.3
* rs6000-ibm-aix3.2.5
* sparc-sun-sunos4.1
* sparc-sun-solaris2.3, 2.4, 2.5
* sparc-sun-netbsd1.0

View File

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

View File

@ -66,8 +66,7 @@
st_blocks ((statbuf).st_size) : 0)
#endif
#else
/* Some systems, like Sequents, return st_blksize of 0 on pipes.
Also, when running 'rsh hpux11-system cat any-file', cat would
/* When running 'rsh hpux11-system cat any-file', cat would
determine that the output stream had an st_blksize of 2147421096.
Conversely st_blksize can be 2 GiB (or maybe even larger) with XFS
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. */
#define ST_NBLOCKSIZE 1024
#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
#define ST_NBLOCKS(statbuf) \
(S_ISREG ((statbuf).st_mode) || S_ISDIR ((statbuf).st_mode) \
@ -94,7 +89,6 @@
#endif
#endif
#endif
#endif
#ifndef ST_NBLOCKS
#define ST_NBLOCKS(statbuf) ((statbuf).st_blocks)

View File

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

View File

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

View File

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

View File

@ -1,4 +1,4 @@
# serial 32
# serial 34
# Obtaining file system usage information.
# 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],
[
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 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 Mac OS X >= 10.5 (32-bit mode).
AC_REQUIRE([AC_SYS_LARGEFILE])
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 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 Mac OS X >= 10.5 (32-bit mode).
AC_REQUIRE([AC_SYS_LARGEFILE])
AC_MSG_CHECKING([how to get file system space usage])
ac_fsusage_space=no
AC_MSG_CHECKING([how to get file system space usage])
ac_fsusage_space=no
# 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])
# 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
# systems. That system is reported to work fine with STAT_STATFS4 which
# is what it gets when this test fails.
if test $ac_fsusage_space = no; then
# glibc/{Hurd,kFreeBSD}, FreeBSD >= 5.0, NetBSD >= 3.0,
# OpenBSD >= 4.4, AIX, HP-UX, IRIX, Solaris, Cygwin, Interix, BeOS.
AC_CACHE_CHECK([for statvfs function (SVR4)], [fu_cv_sys_stat_statvfs],
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
# 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])
# 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
# systems. That system is reported to work fine with STAT_STATFS4 which
# is what it gets when this test fails.
if test $ac_fsusage_space = no; then
# glibc/{Hurd,kFreeBSD}, FreeBSD >= 5.0, NetBSD >= 3.0,
# OpenBSD >= 4.4, AIX, HP-UX, IRIX, Solaris, Cygwin, Interix, BeOS.
AC_CACHE_CHECK([for statvfs function (SVR4)],
[fu_cv_sys_stat_statvfs],
[AC_LINK_IFELSE(
[AC_LANG_PROGRAM([[
#include <sys/types.h>
#ifdef __osf__
"Do not use Tru64's statvfs implementation"
#endif
@ -68,45 +71,47 @@ struct statvfs fsd;
int check_f_blocks_size[sizeof fsd.f_blocks * CHAR_BIT <= 32 ? -1 : 1];
#endif
]],
[[statvfs (0, &fsd);]])],
[fu_cv_sys_stat_statvfs=yes],
[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])
[[statvfs (0, &fsd);]])],
[fu_cv_sys_stat_statvfs=yes],
[fu_cv_sys_stat_statvfs=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)])
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
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
# Check for this unconditionally so we have a
# good fallback on glibc/Linux > 2.6 < 2.6.36
AC_MSG_CHECKING([for two-argument statfs with statfs.f_frsize member])
AC_CACHE_VAL([fu_cv_sys_stat_statfs2_frsize],
[AC_RUN_IFELSE([AC_LANG_SOURCE([[
# Check for this unconditionally so we have a
# good fallback on glibc/Linux > 2.6 < 2.6.36
AC_CACHE_CHECK([for two-argument statfs with statfs.f_frsize member],
[fu_cv_sys_stat_statfs2_frsize],
[AC_RUN_IFELSE(
[AC_LANG_SOURCE([[
#ifdef HAVE_SYS_PARAM_H
#include <sys/param.h>
#endif
@ -119,26 +124,26 @@ AC_CACHE_VAL([fu_cv_sys_stat_statfs2_frsize],
int
main ()
{
struct statfs fsd;
fsd.f_frsize = 0;
return statfs (".", &fsd) != 0;
struct statfs fsd;
fsd.f_frsize = 0;
return statfs (".", &fsd) != 0;
}]])],
[fu_cv_sys_stat_statfs2_frsize=yes],
[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
[fu_cv_sys_stat_statfs2_frsize=yes],
[fu_cv_sys_stat_statfs2_frsize=no],
[fu_cv_sys_stat_statfs2_frsize=no])
])
if test $fu_cv_sys_stat_statfs2_frsize = yes; then
ac_fsusage_space=yes
AC_DEFINE([STAT_STATFS2_FRSIZE], [1],
[ Define if statfs takes 2 args and struct statfs has a field named f_frsize.
(glibc/Linux > 2.6)])
fi
[Define if statfs takes 2 args and struct statfs has a field named f_frsize.
(glibc/Linux > 2.6)])
fi
if test $ac_fsusage_space = no; then
# DEC Alpha running OSF/1
AC_MSG_CHECKING([for 3-argument statfs function (DEC OSF/1)])
AC_CACHE_VAL([fu_cv_sys_stat_statfs3_osf1],
[AC_RUN_IFELSE([AC_LANG_SOURCE([[
if test $ac_fsusage_space = no; then
# DEC Alpha running OSF/1
AC_CACHE_CHECK([for 3-argument statfs function (DEC OSF/1)],
[fu_cv_sys_stat_statfs3_osf1],
[AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <sys/param.h>
#include <sys/types.h>
#include <sys/mount.h>
@ -149,28 +154,27 @@ if test $ac_fsusage_space = no; then
fsd.f_fsize = 0;
return statfs (".", &fsd, sizeof (struct statfs)) != 0;
}]])],
[fu_cv_sys_stat_statfs3_osf1=yes],
[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
ac_fsusage_space=yes
AC_DEFINE([STAT_STATFS3_OSF1], [1],
[ Define if statfs takes 3 args. (DEC Alpha running OSF/1)])
[fu_cv_sys_stat_statfs3_osf1=yes],
[fu_cv_sys_stat_statfs3_osf1=no],
[fu_cv_sys_stat_statfs3_osf1=no])
])
if test $fu_cv_sys_stat_statfs3_osf1 = yes; then
ac_fsusage_space=yes
AC_DEFINE([STAT_STATFS3_OSF1], [1],
[Define if statfs takes 3 args. (DEC Alpha running OSF/1)])
fi
fi
fi
if test $ac_fsusage_space = no; then
# glibc/Linux, Mac OS X, FreeBSD < 5.0, NetBSD < 3.0, OpenBSD < 4.4.
# (glibc/{Hurd,kFreeBSD}, FreeBSD >= 5.0, NetBSD >= 3.0,
# 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
# <sys/vfs.h>.)
# (On Solaris, statfs has 4 arguments.)
AC_MSG_CHECKING([for two-argument statfs with statfs.f_bsize dnl
member (AIX, 4.3BSD)])
AC_CACHE_VAL([fu_cv_sys_stat_statfs2_bsize],
[AC_RUN_IFELSE([AC_LANG_SOURCE([[
if test $ac_fsusage_space = no; then
# glibc/Linux, Mac OS X, FreeBSD < 5.0, NetBSD < 3.0, OpenBSD < 4.4.
# (glibc/{Hurd,kFreeBSD}, FreeBSD >= 5.0, NetBSD >= 3.0,
# 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
# <sys/vfs.h>.)
# (On Solaris, statfs has 4 arguments.)
AC_CACHE_CHECK([for two-argument statfs with statfs.f_bsize member (AIX, 4.3BSD)],
[fu_cv_sys_stat_statfs2_bsize],
[AC_RUN_IFELSE([AC_LANG_SOURCE([[
#ifdef HAVE_SYS_PARAM_H
#include <sys/param.h>
#endif
@ -183,57 +187,56 @@ member (AIX, 4.3BSD)])
int
main ()
{
struct statfs fsd;
fsd.f_bsize = 0;
return statfs (".", &fsd) != 0;
struct statfs fsd;
fsd.f_bsize = 0;
return statfs (".", &fsd) != 0;
}]])],
[fu_cv_sys_stat_statfs2_bsize=yes],
[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
ac_fsusage_space=yes
AC_DEFINE([STAT_STATFS2_BSIZE], [1],
[ Define if statfs takes 2 args and struct statfs has a field named f_bsize.
(4.3BSD, SunOS 4, HP-UX, AIX PS/2)])
[fu_cv_sys_stat_statfs2_bsize=yes],
[fu_cv_sys_stat_statfs2_bsize=no],
[fu_cv_sys_stat_statfs2_bsize=no])
])
if test $fu_cv_sys_stat_statfs2_bsize = yes; then
ac_fsusage_space=yes
AC_DEFINE([STAT_STATFS2_BSIZE], [1],
[Define if statfs takes 2 args and struct statfs has a field named f_bsize.
(4.3BSD, SunOS 4, HP-UX)])
fi
fi
fi
if test $ac_fsusage_space = no; then
# SVR3
# (Solaris already handled above.)
AC_MSG_CHECKING([for four-argument statfs (AIX-3.2.5, SVR3)])
AC_CACHE_VAL([fu_cv_sys_stat_statfs4],
[AC_RUN_IFELSE([AC_LANG_SOURCE([[
if test $ac_fsusage_space = no; then
# SVR3
# (Solaris already handled above.)
AC_CACHE_CHECK([for four-argument statfs (SVR3)],
[fu_cv_sys_stat_statfs4],
[AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <sys/types.h>
#include <sys/statfs.h>
int
main ()
{
struct statfs fsd;
return statfs (".", &fsd, sizeof fsd, 0) != 0;
struct statfs fsd;
return statfs (".", &fsd, sizeof fsd, 0) != 0;
}]])],
[fu_cv_sys_stat_statfs4=yes],
[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
ac_fsusage_space=yes
AC_DEFINE([STAT_STATFS4], [1],
[ Define if statfs takes 4 args. (SVR3, Dynix, old Irix, old AIX, Dolphin)])
[fu_cv_sys_stat_statfs4=yes],
[fu_cv_sys_stat_statfs4=no],
[fu_cv_sys_stat_statfs4=no])
])
if test $fu_cv_sys_stat_statfs4 = yes; then
ac_fsusage_space=yes
AC_DEFINE([STAT_STATFS4], [1],
[Define if statfs takes 4 args. (SVR3, old Irix)])
fi
fi
fi
if test $ac_fsusage_space = no; then
# 4.4BSD and older NetBSD
# (OSF/1 already handled above.)
# (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
# <sys/mount.h>.)
AC_MSG_CHECKING([for two-argument statfs with statfs.f_fsize dnl
member (4.4BSD and NetBSD)])
AC_CACHE_VAL([fu_cv_sys_stat_statfs2_fsize],
[AC_RUN_IFELSE([AC_LANG_SOURCE([[
if test $ac_fsusage_space = no; then
# 4.4BSD and older NetBSD
# (OSF/1 already handled above.)
# (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
# <sys/mount.h>.)
AC_CACHE_CHECK([for two-argument statfs with statfs.f_fsize member (4.4BSD and NetBSD)],
[fu_cv_sys_stat_statfs2_fsize],
[AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <sys/types.h>
#ifdef HAVE_SYS_PARAM_H
#include <sys/param.h>
@ -244,58 +247,23 @@ member (4.4BSD and NetBSD)])
int
main ()
{
struct statfs fsd;
fsd.f_fsize = 0;
return statfs (".", &fsd) != 0;
struct statfs fsd;
fsd.f_fsize = 0;
return statfs (".", &fsd) != 0;
}]])],
[fu_cv_sys_stat_statfs2_fsize=yes],
[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
ac_fsusage_space=yes
AC_DEFINE([STAT_STATFS2_FSIZE], [1],
[ Define if statfs takes 2 args and struct statfs has a field named f_fsize.
(4.4BSD, NetBSD)])
[fu_cv_sys_stat_statfs2_fsize=yes],
[fu_cv_sys_stat_statfs2_fsize=no],
[fu_cv_sys_stat_statfs2_fsize=no])
])
if test $fu_cv_sys_stat_statfs2_fsize = yes; then
ac_fsusage_space=yes
AC_DEFINE([STAT_STATFS2_FSIZE], [1],
[Define if statfs takes 2 args and struct statfs has a field named f_fsize.
(4.4BSD, NetBSD)])
fi
fi
fi
if test $ac_fsusage_space = no; then
# 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])
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.
AC_DEFUN([gl_STATFS_TRUNCATES],
[
AC_MSG_CHECKING([for statfs that truncates block counts])
AC_CACHE_VAL([fu_cv_sys_truncating_statfs],
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
AC_CACHE_CHECK([for statfs that truncates block counts],
[fu_cv_sys_truncating_statfs],
[AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([[
#if !defined(sun) && !defined(__sun)
choke -- this is a workaround for a Sun-specific problem
#endif
#include <sys/types.h>
#include <sys/vfs.h>]],
[[struct statfs t; long c = *(t.f_spare);
if (c) return 0;]])],
[fu_cv_sys_truncating_statfs=yes],
[fu_cv_sys_truncating_statfs=no])])
#include <sys/vfs.h>
]],
[[struct statfs t; long c = *(t.f_spare);
if (c) return 0;
]])],
[fu_cv_sys_truncating_statfs=yes],
[fu_cv_sys_truncating_statfs=no])
])
if test $fu_cv_sys_truncating_statfs = yes; then
AC_DEFINE([STATFS_TRUNCATES_BLOCK_COUNTS], [1],
[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.1 seems not to be affected.)])
fi
AC_MSG_RESULT([$fu_cv_sys_truncating_statfs])
])
# Prerequisites of lib/fsusage.c not done by gl_FILE_SYSTEM_USAGE.
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
])

View File

@ -1,47 +1,49 @@
# serial 33
# serial 36
# 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
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
dnl From Jim Meyering.
dnl
AC_PREREQ([2.60])
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
# Replace Autoconf's AC_FUNC_GETMNTENT to work around a bug in Autoconf
# through Autoconf 2.59. We can remove this once we assume Autoconf 2.60
# or later.
# Replace Autoconf's AC_FUNC_GETMNTENT to omit checks that are unnecessary
# nowadays.
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.
AC_SEARCH_LIBS([getmntent], [sun seq gen])
AC_CHECK_FUNCS([getmntent])
[
# getmntent is in the standard C library on UNICOS, in -lsun on Irix 4,
# -lgen on Unixware.
AC_SEARCH_LIBS([getmntent], [sun gen])
AC_CHECK_FUNCS([getmntent])
])
# gl_LIST_MOUNTED_FILE_SYSTEMS([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
AC_DEFUN([gl_LIST_MOUNTED_FILE_SYSTEMS],
[
AC_REQUIRE([AC_CANONICAL_HOST])
AC_CHECK_FUNCS([listmntent getmntinfo])
AC_CHECK_HEADERS_ONCE([sys/param.h sys/statvfs.h])
[
AC_REQUIRE([AC_CANONICAL_HOST])
AC_CHECK_FUNCS([listmntent])
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
# NGROUPS (as the array dimension for a struct member) without a definition.
AC_CHECK_HEADERS([sys/ucred.h], [], [], [#include <grp.h>])
# 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.
AC_CHECK_HEADERS([sys/ucred.h], [], [], [#include <grp.h>])
AC_CHECK_HEADERS([sys/mount.h], [], [],
[AC_INCLUDES_DEFAULT
[#if HAVE_SYS_PARAM_H
#include <sys/param.h>
#endif]])
AC_CHECK_HEADERS([sys/mount.h], [], [],
[AC_INCLUDES_DEFAULT
[#if HAVE_SYS_PARAM_H
#include <sys/param.h>
#endif
]])
AC_CHECK_HEADERS([mntent.h sys/fs_types.h])
getfsstat_includes="\
AC_CHECK_HEADERS([mntent.h sys/fs_types.h])
getfsstat_includes="\
$ac_includes_default
#if HAVE_SYS_PARAM_H
# 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 */
#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.
ac_list_mounted_fs=
# Determine how to get the list of mounted file systems.
ac_list_mounted_fs=
# If the getmntent function is available but not in the standard library,
# make sure LIBS contains the appropriate -l option.
AC_FUNC_GETMNTENT
# If the getmntent function is available but not in the standard library,
# make sure LIBS contains the appropriate -l option.
AC_FUNC_GETMNTENT
# This test must precede the ones for getmntent because Unicos-9 is
# reported to have the getmntent function, but its support is incompatible
# with other getmntent implementations.
# NOTE: Normally, I wouldn't use a check for system type as I've done for
# 'CRAY' below since that goes against the whole autoconf philosophy. But
# I think there is too great a chance that some non-Cray system has a
# function named listmntent to risk the false positive.
if test -z "$ac_list_mounted_fs"; then
# 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],
if test -z "$ac_list_mounted_fs"; then
# AIX.
AC_CACHE_CHECK([for mntctl function and struct vmount],
[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])])
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
the list of mounted file systems, and there is a system header file
that declares 'struct vmount'. (AIX)])
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.
# Determine whether it's the one-argument variant or the two-argument one.
# This system has the getmntent function.
# Determine whether it's the one-argument variant or the two-argument one.
if test -z "$ac_list_mounted_fs"; then
# GNU/Linux, 4.3BSD, SunOS, HP-UX, Dynix, Irix
AC_MSG_CHECKING([for one-argument getmntent function])
AC_CACHE_VAL([fu_cv_sys_mounted_getmntent1],
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
if test -z "$ac_list_mounted_fs"; then
# glibc, HP-UX, IRIX, Cygwin, Android, also (obsolete) 4.3BSD, SunOS.
AC_CACHE_CHECK([for one-argument getmntent function],
[fu_cv_sys_mounted_getmntent1],
[AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([[
/* SunOS 4.1.x /usr/include/mntent.h needs this for FILE */
#include <stdio.h>
@ -136,109 +106,143 @@ if test $ac_cv_func_getmntent = yes; then
# if defined MNT_MNTTAB /* HP-UX. */
# define MOUNTED MNT_MNTTAB
# endif
# if defined MNTTABNAME /* Dynix. */
# define MOUNTED MNTTABNAME
# endif
#endif
]],
[[ struct mntent *mnt = 0; char *table = MOUNTED;
if (sizeof mnt && sizeof table) return 0;]])],
[fu_cv_sys_mounted_getmntent1=yes],
[fu_cv_sys_mounted_getmntent1=no])])
AC_MSG_RESULT([$fu_cv_sys_mounted_getmntent1])
if test $fu_cv_sys_mounted_getmntent1 = yes; then
ac_list_mounted_fs=found
AC_DEFINE([MOUNTED_GETMNTENT1], [1],
[Define if there is a function named getmntent for reading the list
of mounted file systems, and that function takes a single argument.
(4.3BSD, SunOS, HP-UX, Dynix, Irix)])
AC_CHECK_FUNCS([hasmntopt])
[[struct mntent *mnt = 0; char *table = MOUNTED;
if (sizeof mnt && sizeof table) return 0;
]])],
[fu_cv_sys_mounted_getmntent1=yes],
[fu_cv_sys_mounted_getmntent1=no])
])
if test $fu_cv_sys_mounted_getmntent1 = yes; then
ac_list_mounted_fs=found
AC_DEFINE([MOUNTED_GETMNTENT1], [1],
[Define if there is a function named getmntent for reading the list
of mounted file systems, and that function takes a single argument.
(4.3BSD, SunOS, HP-UX, Irix)])
AC_CHECK_FUNCS([hasmntopt])
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
if test -z "$ac_list_mounted_fs"; then
# SVR4
AC_MSG_CHECKING([for two-argument getmntent function])
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
# OSF/1, also (obsolete) Apple Darwin 1.3.
# powerpc-apple-darwin1.3.7 needs sys/param.h sys/ucred.h sys/fs_types.h
fi
if test -z "$ac_list_mounted_fs"; then
# DEC Alpha running OSF/1, and Apple Darwin 1.3.
# 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([[
AC_CACHE_CHECK([for getfsstat function],
[fu_cv_sys_mounted_getfsstat],
[AC_LINK_IFELSE(
[AC_LANG_PROGRAM([[
#include <sys/types.h>
#if HAVE_STRUCT_FSSTAT_F_FSTYPENAME
# define FS_TYPE(Ent) ((Ent).f_fstypename)
#else
# define FS_TYPE(Ent) mnt_names[(Ent).f_type]
#endif
$getfsstat_includes]]
,
[[struct statfs *stats;
int numsys = getfsstat ((struct statfs *)0, 0L, MNT_WAIT);
char *t = FS_TYPE (*stats); ]])],
[fu_cv_sys_mounted_getfsstat=yes],
[fu_cv_sys_mounted_getfsstat=no])])
AC_MSG_RESULT([$fu_cv_sys_mounted_getfsstat])
if test $fu_cv_sys_mounted_getfsstat = yes; then
ac_list_mounted_fs=found
AC_DEFINE([MOUNTED_GETFSSTAT], [1],
[Define if there is a function named getfsstat for reading the
list of mounted file systems. (DEC Alpha running OSF/1)])
$getfsstat_includes
]],
[[struct statfs *stats;
int numsys = getfsstat ((struct statfs *)0, 0L, MNT_WAIT);
char *t = FS_TYPE (*stats);
]])],
[fu_cv_sys_mounted_getfsstat=yes],
[fu_cv_sys_mounted_getfsstat=no])
])
if test $fu_cv_sys_mounted_getfsstat = yes; then
ac_list_mounted_fs=found
AC_DEFINE([MOUNTED_GETFSSTAT], [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
if test -z "$ac_list_mounted_fs"; then
# SVR3
AC_MSG_CHECKING([for FIXME existence of three headers])
AC_CACHE_VAL([fu_cv_sys_mounted_fread_fstyp],
[AC_PREPROC_IFELSE([AC_LANG_SOURCE([[
if test -z "$ac_list_mounted_fs"; then
# (obsolete) SVR3
AC_CACHE_CHECK([for FIXME existence of three headers],
[fu_cv_sys_mounted_fread_fstyp],
[AC_PREPROC_IFELSE([AC_LANG_SOURCE([[
#include <sys/statfs.h>
#include <sys/fstyp.h>
#include <mnttab.h>]])],
[fu_cv_sys_mounted_fread_fstyp=yes],
[fu_cv_sys_mounted_fread_fstyp=no])])
AC_MSG_RESULT([$fu_cv_sys_mounted_fread_fstyp])
if test $fu_cv_sys_mounted_fread_fstyp = yes; then
ac_list_mounted_fs=found
AC_DEFINE([MOUNTED_FREAD_FSTYP], [1],
[Define if (like SVR2) there is no specific function for reading the
list of mounted file systems, and your system has these header files:
<sys/fstyp.h> and <sys/statfs.h>. (SVR3)])
#include <mnttab.h>
]])],
[fu_cv_sys_mounted_fread_fstyp=yes],
[fu_cv_sys_mounted_fread_fstyp=no])
])
if test $fu_cv_sys_mounted_fread_fstyp = yes; then
ac_list_mounted_fs=found
AC_DEFINE([MOUNTED_FREAD_FSTYP], [1],
[Define if (like SVR2) there is no specific function for reading the
list of mounted file systems, and your system has these header files:
<sys/fstyp.h> and <sys/statfs.h>. (SVR3)])
fi
fi
fi
if test -z "$ac_list_mounted_fs"; then
# 4.4BSD and DEC OSF/1.
AC_MSG_CHECKING([for getmntinfo function])
AC_CACHE_VAL([fu_cv_sys_mounted_getmntinfo],
[
test "$ac_cv_func_getmntinfo" = yes \
&& fu_cv_sys_mounted_getmntinfo=yes \
|| fu_cv_sys_mounted_getmntinfo=no
])
AC_MSG_RESULT([$fu_cv_sys_mounted_getmntinfo])
if test $fu_cv_sys_mounted_getmntinfo = yes; then
AC_MSG_CHECKING([whether getmntinfo returns statvfs structures])
AC_CACHE_VAL([fu_cv_sys_mounted_getmntinfo2],
[
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
if test -z "$ac_list_mounted_fs"; then
# Mac OS X, FreeBSD, NetBSD, OpenBSD, Minix, also (obsolete) 4.4BSD.
# OSF/1 also has getmntinfo but is already handled above.
# We cannot use AC_CHECK_FUNCS([getmntinfo]) here, because at the linker
# level the function is sometimes called getmntinfo64 or getmntinfo$INODE64
# on Mac OS X, __getmntinfo13 on NetBSD and Minix, _F64_getmntinfo on OSF/1.
AC_CACHE_CHECK([for getmntinfo function],
[fu_cv_sys_mounted_getmntinfo],
[AC_LINK_IFELSE(
[AC_LANG_PROGRAM([[
#if HAVE_SYS_PARAM_H
# include <sys/param.h>
#endif
#include <sys/types.h>
#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
# include <sys/param.h>
#endif
@ -254,106 +258,73 @@ extern
"C"
#endif
int getmntinfo (struct statfs **, int);
]], [])],
[fu_cv_sys_mounted_getmntinfo2=no],
[fu_cv_sys_mounted_getmntinfo2=yes])
]], [])],
[fu_cv_sys_mounted_getmntinfo2=no],
[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_getmntinfo2 = no; then
if test $fu_cv_sys_mounted_fs_stat_dev = yes; then
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
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)])
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
fi
if test -z "$ac_list_mounted_fs"; then
# Ultrix
AC_MSG_CHECKING([for getmnt function])
AC_CACHE_VAL([fu_cv_sys_mounted_getmnt],
[AC_PREPROC_IFELSE([AC_LANG_SOURCE([[
#include <sys/fs_types.h>
#include <sys/mount.h>]])],
[fu_cv_sys_mounted_getmnt=yes],
[fu_cv_sys_mounted_getmnt=no])])
AC_MSG_RESULT([$fu_cv_sys_mounted_getmnt])
if test $fu_cv_sys_mounted_getmnt = yes; then
ac_list_mounted_fs=found
AC_DEFINE([MOUNTED_GETMNT], [1],
[Define if there is a function named getmnt for reading the list of
mounted file systems. (Ultrix)])
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
fi
if test -z "$ac_list_mounted_fs"; then
# BeOS
AC_CHECK_FUNCS([next_dev fs_stat_dev])
AC_CHECK_HEADERS([fs_info.h])
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
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
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
# 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
AS_IF([test $ac_list_mounted_fs = found], [$1], [$2])
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
;;
msxls)
if xlHtml >/dev/null 2>&1; then
if xlhtml >/dev/null 2>&1; then
tmp=`mktemp -d ${TMPDIR:-/tmp}/%p.XXXXXX`
xlhtml -a "${MC_EXT_FILENAME}" > "$tmp/page.html"
elinks -dump "$tmp/page.html"

View File

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

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Azerbaijani (http://www.transifex.com/mc/mc/language/az/)\n"

View File

@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Zmicer Turok <zmicerturok@gmail.com>\n"
"Language-Team: Belarusian (http://www.transifex.com/mc/mc/language/be/)\n"

View File

@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Bulgarian (http://www.transifex.com/mc/mc/language/bg/)\n"

View File

@ -16,7 +16,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Marc Tormo i Bochaca <mtbochaca@gmail.com>\n"
"Language-Team: Catalan (http://www.transifex.com/mc/mc/language/ca/)\n"

View File

@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Pavel Borecki <pavel.borecki@gmail.com>\n"
"Language-Team: Czech (http://www.transifex.com/mc/mc/language/cs/)\n"

View File

@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Morten Bo Johansen <mortenbo@hotmail.com>\n"
"Language-Team: Danish (http://www.transifex.com/mc/mc/language/da/)\n"

View File

@ -18,7 +18,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: German (http://www.transifex.com/mc/mc/language/de/)\n"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: German (Switzerland) (http://www.transifex.com/projects/p/mc/"

View File

@ -12,7 +12,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Greek (http://www.transifex.com/mc/mc/language/el/)\n"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: English (United Kingdom) (http://www.transifex.com/mc/mc/"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Esperanto (http://www.transifex.com/mc/mc/language/eo/)\n"

View File

@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: David Martin <dhmartina@yahoo.es>\n"
"Language-Team: Spanish (http://www.transifex.com/mc/mc/language/es/)\n"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Estonian (http://www.transifex.com/mc/mc/language/et/)\n"

View File

@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Iñigo Salvador Azurmendi <xalba@euskalnet.net>\n"
"Language-Team: Basque (http://www.transifex.com/mc/mc/language/eu/)\n"

View File

@ -12,7 +12,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Persian (http://www.transifex.com/mc/mc/language/fa/)\n"

View File

@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Finnish (http://www.transifex.com/mc/mc/language/fi/)\n"

View File

@ -17,7 +17,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: David Prudhomme <david7.prudhomme@gmail.com>\n"
"Language-Team: French (http://www.transifex.com/mc/mc/language/fr/)\n"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: French (Canada) (http://www.transifex.com/projects/p/mc/"

View File

@ -12,7 +12,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Galician (http://www.transifex.com/mc/mc/language/gl/)\n"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Croatian (http://www.transifex.com/mc/mc/language/hr/)\n"

View File

@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Hungarian (http://www.transifex.com/mc/mc/language/hu/)\n"

View File

@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Interlingua (http://www.transifex.com/mc/mc/language/ia/)\n"

View File

@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Indonesian (http://www.transifex.com/mc/mc/language/id/)\n"

View File

@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Marco Ciampa <ciampix@libero.it>\n"
"Language-Team: Italian (http://www.transifex.com/projects/p/mc/language/"

View File

@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Japanese (http://www.transifex.com/mc/mc/language/ja/)\n"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Georgian (http://www.transifex.com/mc/mc/language/ka/)\n"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Kazakh (http://www.transifex.com/mc/mc/language/kk/)\n"

View File

@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Korean (http://www.transifex.com/mc/mc/language/ko/)\n"

View File

@ -12,7 +12,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Lithuanian (http://www.transifex.com/mc/mc/language/lt/)\n"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Latvian (http://www.transifex.com/mc/mc/language/lv/)\n"

158
po/mc.pot
View File

@ -5,9 +5,9 @@
#
msgid ""
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"
"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"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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:3436 src/editor/editcmd.c:3465
#: 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/viewer/actions_cmd.c:419
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:2857 src/filemanager/cmd.c:140
#: 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/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/viewer/actions_cmd.c:619 src/viewer/actions_cmd.c:625
#: 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
#: 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/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/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/viewer/actions_cmd.c:625 src/viewer/search.c:399
msgid "&No"
@ -792,7 +792,7 @@ msgstr ""
#: lib/widget/quick.h:215 src/editor/editcmd.c:2717
#: 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/subshell/common.c:435
msgid "&OK"
@ -808,7 +808,7 @@ msgstr ""
#: src/filemanager/achown.c:882 src/filemanager/chmod.c:117
#: src/filemanager/chmod.c:411 src/filemanager/chown.c:88
#: 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:1076 src/filemanager/layout.c:459
#: 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
#: src/filemanager/file.c:921 src/filemanager/file.c:923
#: 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"
msgstr ""
@ -1047,23 +1047,23 @@ msgstr ""
msgid "Two files are required to envoke the diffviewer."
msgstr ""
#: src/background.c:177 src/background.c:251
#: src/background.c:179 src/background.c:251
msgid "Background protocol error"
msgstr ""
#: src/background.c:177
#: src/background.c:179
msgid "Reading failed"
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"
msgstr ""
#: src/background.c:229 src/background.c:292
#: src/background.c:232 src/background.c:283
msgid "Unknown error in child"
msgstr ""
#: src/background.c:237
#: src/background.c:240
msgid "Child died unexpectedly"
msgstr ""
@ -1701,14 +1701,14 @@ msgid "&Replace"
msgstr ""
#: src/editor/editcmd_dialogs.c:280 src/filemanager/file.c:968
#: src/filemanager/filegui.c:442
#: src/filemanager/filegui.c:436
msgid "A&ll"
msgstr ""
#: 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:923 src/filemanager/file.c:3091
#: src/filemanager/filegui.c:253
#: src/filemanager/filegui.c:247
msgid "&Skip"
msgstr ""
@ -2943,7 +2943,7 @@ msgid "Files tagged, want to cd?"
msgstr ""
#: 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"
msgstr ""
@ -2974,7 +2974,7 @@ msgstr ""
msgid "symlink: %s"
msgstr ""
#: src/filemanager/cmd.c:464 src/filemanager/panel.c:4734
#: src/filemanager/cmd.c:464 src/filemanager/panel.c:4732
#, c-format
msgid "Cannot chdir to \"%s\""
msgstr ""
@ -3133,7 +3133,7 @@ msgstr ""
msgid "Cannot execute commands on non-local filesystems"
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
#, c-format
msgid ""
@ -3141,7 +3141,7 @@ msgid ""
"%s"
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"
msgstr ""
@ -3315,7 +3315,7 @@ msgid ""
"Delete it recursively?"
msgstr ""
#: src/filemanager/file.c:969 src/filemanager/filegui.c:446
#: src/filemanager/file.c:969 src/filemanager/filegui.c:440
msgid "Non&e"
msgstr ""
@ -3536,167 +3536,167 @@ msgstr ""
msgid "Sorry, I could not put the job in background"
msgstr ""
#: src/filemanager/filegui.c:254 src/filemanager/find.c:192
#: src/filemanager/filegui.c:248 src/filemanager/find.c:192
msgid "S&uspend"
msgstr ""
#: src/filemanager/filegui.c:255 src/filemanager/find.c:193
#: src/filemanager/filegui.c:249 src/filemanager/find.c:193
msgid "Con&tinue"
msgstr ""
#: src/filemanager/filegui.c:344
#: src/filemanager/filegui.c:338
#, c-format
msgid "%d:%02d.%02d"
msgstr ""
#: src/filemanager/filegui.c:361
#: src/filemanager/filegui.c:355
#, c-format
msgid "ETA %s"
msgstr ""
#: src/filemanager/filegui.c:371
#: src/filemanager/filegui.c:365
#, c-format
msgid "%.2f MB/s"
msgstr ""
#: src/filemanager/filegui.c:375
#: src/filemanager/filegui.c:369
#, c-format
msgid "%.2f KB/s"
msgstr ""
#: src/filemanager/filegui.c:379
#: src/filemanager/filegui.c:373
#, c-format
msgid "%ld B/s"
msgstr ""
#: src/filemanager/filegui.c:422
#: src/filemanager/filegui.c:416
msgid "Target file already exists!"
msgstr ""
#: src/filemanager/filegui.c:426
#: src/filemanager/filegui.c:420
#, c-format
msgid "New : %s, size %s"
msgstr ""
#: src/filemanager/filegui.c:428
#: src/filemanager/filegui.c:422
#, c-format
msgid "Existing: %s, size %s"
msgstr ""
#: src/filemanager/filegui.c:430
#: src/filemanager/filegui.c:424
msgid "Overwrite this target?"
msgstr ""
#: src/filemanager/filegui.c:436 src/filemanager/hotlist.c:195
#: src/filemanager/filegui.c:430 src/filemanager/hotlist.c:195
msgid "A&ppend"
msgstr ""
#: src/filemanager/filegui.c:438
#: src/filemanager/filegui.c:432
msgid "&Reget"
msgstr ""
#: src/filemanager/filegui.c:440
#: src/filemanager/filegui.c:434
msgid "Overwrite all targets?"
msgstr ""
#: src/filemanager/filegui.c:444
#: src/filemanager/filegui.c:438
msgid "&Update"
msgstr ""
#: src/filemanager/filegui.c:448
#: src/filemanager/filegui.c:442
msgid "If &size differs"
msgstr ""
#: src/filemanager/filegui.c:471
#: src/filemanager/filegui.c:465
msgid "File exists"
msgstr ""
#: src/filemanager/filegui.c:473
#: src/filemanager/filegui.c:467
msgid "Background process: File exists"
msgstr ""
#: src/filemanager/filegui.c:940
#: src/filemanager/filegui.c:934
#, c-format
msgid "Files processed: %zu/%zu"
msgstr ""
#: src/filemanager/filegui.c:942
#: src/filemanager/filegui.c:936
#, c-format
msgid "Files processed: %zu"
msgstr ""
#: src/filemanager/filegui.c:989
#: src/filemanager/filegui.c:983
#, c-format
msgid "Time: %s %s"
msgstr ""
#: src/filemanager/filegui.c:994
#: src/filemanager/filegui.c:988
#, c-format
msgid "Time: %s %s (%s)"
msgstr ""
#: src/filemanager/filegui.c:1001
#: src/filemanager/filegui.c:995
#, c-format
msgid "Time: %s"
msgstr ""
#: src/filemanager/filegui.c:1005
#: src/filemanager/filegui.c:999
#, c-format
msgid "Time: %s (%s)"
msgstr ""
#: src/filemanager/filegui.c:1016
#: src/filemanager/filegui.c:1010
#, c-format
msgid " Total: %s "
msgstr ""
#: src/filemanager/filegui.c:1020
#: src/filemanager/filegui.c:1014
#, c-format
msgid " Total: %s/%s "
msgstr ""
#: src/filemanager/filegui.c:1046
#: src/filemanager/filegui.c:1040
msgid "Source"
msgstr ""
#: src/filemanager/filegui.c:1071
#: src/filemanager/filegui.c:1065
msgid "Target"
msgstr ""
#: src/filemanager/filegui.c:1095
#: src/filemanager/filegui.c:1089
msgid "Deleting"
msgstr ""
#: src/filemanager/filegui.c:1239 src/filemanager/find.c:581
#: src/filemanager/panel.c:2531
#: src/filemanager/filegui.c:1233 src/filemanager/find.c:581
#: src/filemanager/panel.c:2539
msgid "&Using shell patterns"
msgstr ""
#: src/filemanager/filegui.c:1241
#: src/filemanager/filegui.c:1235
msgid "to:"
msgstr ""
#: src/filemanager/filegui.c:1245
#: src/filemanager/filegui.c:1239
msgid "Follow &links"
msgstr ""
#: src/filemanager/filegui.c:1246
#: src/filemanager/filegui.c:1240
msgid "Preserve &attributes"
msgstr ""
#: src/filemanager/filegui.c:1248
#: src/filemanager/filegui.c:1242
msgid "Di&ve into subdir if exists"
msgstr ""
#: src/filemanager/filegui.c:1249
#: src/filemanager/filegui.c:1243
msgid "&Stable symlinks"
msgstr ""
#: src/filemanager/filegui.c:1254
#: src/filemanager/filegui.c:1248
msgid "&Background"
msgstr ""
#: src/filemanager/filegui.c:1309
#: src/filemanager/filegui.c:1303
#, c-format
msgid "Invalid source pattern '%s'"
msgstr ""
@ -4322,7 +4322,7 @@ msgstr[0] ""
msgstr[1] ""
#: src/filemanager/midnight.c:1026 src/filemanager/midnight.c:1032
#: src/filemanager/panel.c:2819
#: src/filemanager/panel.c:2827
msgid "The Midnight Commander"
msgstr ""
@ -4362,7 +4362,7 @@ msgstr ""
msgid "ButtonBar|Mkdir"
msgstr ""
#: src/filemanager/mountlist.c:986
#: src/filemanager/mountlist.c:881
msgid "Memory exhausted!"
msgstr ""
@ -4515,31 +4515,31 @@ msgstr[1] ""
msgid "Panelize"
msgstr ""
#: src/filemanager/panel.c:1816
#: src/filemanager/panel.c:1824
msgid "Unknown tag on display format:"
msgstr ""
#: src/filemanager/panel.c:2530
#: src/filemanager/panel.c:2538
msgid "&Files only"
msgstr ""
#: src/filemanager/panel.c:2533
#: src/filemanager/panel.c:2541
msgid "&Case sensitive"
msgstr ""
#: src/filemanager/panel.c:2588
#: src/filemanager/panel.c:2596
msgid "Select"
msgstr ""
#: src/filemanager/panel.c:2596
#: src/filemanager/panel.c:2604
msgid "Unselect"
msgstr ""
#: src/filemanager/panel.c:2820
#: src/filemanager/panel.c:2828
msgid "Do you really want to execute?"
msgstr ""
#: src/filemanager/panel.c:4480
#: src/filemanager/panel.c:4488
msgid "User supplied format looks invalid, reverting to default."
msgstr ""
@ -4551,7 +4551,7 @@ msgstr ""
msgid "External panelize"
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
msgid "Other command"
msgstr ""
@ -4560,15 +4560,15 @@ msgstr ""
msgid "Command"
msgstr ""
#: src/filemanager/panelize.c:262
#: src/filemanager/panelize.c:261
msgid "Add to external panelize"
msgstr ""
#: src/filemanager/panelize.c:263
#: src/filemanager/panelize.c:262
msgid "Enter command label:"
msgstr ""
#: src/filemanager/panelize.c:316
#: src/filemanager/panelize.c:309
msgid "Cannot invoke command."
msgstr ""
@ -5271,25 +5271,25 @@ msgstr ""
msgid "sftp: connection to server failed: %s"
msgstr ""
#: src/vfs/sftpfs/connection.c:277
#: src/vfs/sftpfs/connection.c:283
#, c-format
msgid "sftp: Enter passphrase for %s "
msgstr ""
#: src/vfs/sftpfs/connection.c:282
#: src/vfs/sftpfs/connection.c:288
msgid "sftp: Passphrase is empty."
msgstr ""
#: src/vfs/sftpfs/connection.c:328
#: src/vfs/sftpfs/connection.c:334
#, c-format
msgid "sftp: Enter password for %s "
msgstr ""
#: src/vfs/sftpfs/connection.c:333
#: src/vfs/sftpfs/connection.c:339
msgid "sftp: Password is empty."
msgstr ""
#: src/vfs/sftpfs/connection.c:398
#: src/vfs/sftpfs/connection.c:404
msgid "sftp: Failure establishing SSH session"
msgstr ""
@ -5557,7 +5557,7 @@ msgid ""
"%s"
msgstr ""
#: src/viewer/lib.c:394 src/viewer/lib.c:396
#: src/viewer/lib.c:393 src/viewer/lib.c:395
msgid "View: "
msgstr ""

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Mongolian (http://www.transifex.com/mc/mc/language/mn/)\n"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Norwegian Bokmål (http://www.transifex.com/mc/mc/language/"

View File

@ -14,7 +14,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Dutch (http://www.transifex.com/mc/mc/language/nl/)\n"

View File

@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Polish (http://www.transifex.com/mc/mc/language/pl/)\n"

View File

@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Gilberto Jorge <gmj125@gmail.com>\n"
"Language-Team: Portuguese (http://www.transifex.com/mc/mc/language/pt/)\n"

View File

@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/mc/mc/language/"

View File

@ -15,7 +15,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Romanian (http://www.transifex.com/mc/mc/language/ro/)\n"

View File

@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Russian (http://www.transifex.com/mc/mc/language/ru/)\n"
@ -2550,8 +2550,7 @@ msgstr ""
#, c-format
msgid "Cannot create target hardlink \"%s\""
msgstr ""
"Невозможно создать целевую ссылку \"%s\""
msgstr "Невозможно создать целевую ссылку \"%s\""
#, c-format
msgid ""

View File

@ -14,7 +14,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Slovak (http://www.transifex.com/mc/mc/language/sk/)\n"

View File

@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Slovenian (http://www.transifex.com/mc/mc/language/sl/)\n"

View File

@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Serbian (http://www.transifex.com/mc/mc/language/sr/)\n"

View File

@ -14,7 +14,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Swedish (http://www.transifex.com/mc/mc/language/sv/)\n"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Silesian (http://www.transifex.com/mc/mc/language/szl/)\n"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Tamil (http://www.transifex.com/mc/mc/language/ta/)\n"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Telugu (http://www.transifex.com/mc/mc/language/te/)\n"

View File

@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Turkish (http://www.transifex.com/mc/mc/language/tr/)\n"

View File

@ -12,7 +12,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Ukrainian (http://www.transifex.com/mc/mc/language/uk/)\n"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Vietnamese (http://www.transifex.com/mc/mc/language/vi/)\n"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Walloon (http://www.transifex.com/mc/mc/language/wa/)\n"

View File

@ -17,7 +17,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Mingcong Bai <jeffbai@aosc.xyz>\n"
"Language-Team: Chinese (China) (http://www.transifex.com/mc/mc/language/"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Midnight Commander\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"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"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
destroy_task_and_return_fd (pid_t pid)
destroy_task (pid_t pid)
{
TaskList *p = task_list;
TaskList *prev = 0;
TaskList *prev = NULL;
while (p)
while (p != NULL)
{
if (p->pid == pid)
{
if (prev)
int fd = p->fd;
if (prev != NULL)
prev->next = p->next;
else
task_list = p->next;
g_free (p->info);
g_free (p);
return p->fd;
return fd;
}
prev = p;
p = p->next;
}
/* 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)))
{
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 */
kill (ctx->pid, SIGTERM);
@ -239,53 +242,41 @@ background_attention (int fd, void *closure)
return 0;
}
if ((read (fd, &argc, sizeof (argc)) != sizeof (argc)) ||
(read (fd, &type, sizeof (type)) != sizeof (type)) ||
(read (fd, &have_ctx, sizeof (have_ctx)) != sizeof (have_ctx)))
{
if (read (fd, &argc, sizeof (argc)) != sizeof (argc) ||
read (fd, &type, sizeof (type)) != sizeof (type) ||
read (fd, &have_ctx, sizeof (have_ctx)) != sizeof (have_ctx))
return reading_failed (-1, data);
}
if (argc > MAXCALLARGS)
{
message (D_ERROR, _("Background protocol error"), "%s",
_("Background process sent us a request for more arguments\n"
"than we can handle."));
}
if (have_ctx)
{
if (read (fd, ctx, sizeof (*ctx)) != sizeof (*ctx))
{
return reading_failed (-1, data);
}
}
if (have_ctx != 0 && read (fd, ctx, sizeof (*ctx)) != sizeof (*ctx))
return reading_failed (-1, data);
for (i = 0; i < argc; i++)
{
int size;
if (read (fd, &size, sizeof (size)) != sizeof (size))
{
return reading_failed (i - 1, data);
}
data[i] = g_malloc (size + 1);
if (read (fd, data[i], size) != size)
{
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 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)
break;
}
if (p)
if (p != NULL)
to_child_fd = p->to_child_fd;
if (to_child_fd == -1)
@ -296,7 +287,7 @@ background_attention (int fd, void *closure)
{
int result = 0;
if (!have_ctx)
if (have_ctx == 0)
switch (argc)
{
case 0:
@ -342,7 +333,7 @@ background_attention (int fd, void *closure)
/* Send the result code and the value for shared variables */
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));
}
else if (type == Return_String)
@ -373,7 +364,8 @@ background_attention (int fd, void *closure)
default:
g_assert_not_reached ();
}
if (resstr)
if (resstr != NULL)
{
len = strlen (resstr);
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));
}
}
for (i = 0; i < argc; i++)
g_free (data[i]);
repaint_screen ();
(void) ret;
return 0;
}
/* --------------------------------------------------------------------------------------------- */
/* }}} */
@ -412,15 +406,15 @@ parent_call_header (void *routine, int argc, enum ReturnType type, file_op_conte
int have_ctx;
ssize_t ret;
have_ctx = (ctx != NULL);
have_ctx = ctx != NULL ? 1 : 0;
ret = write (parent_fd, &routine, sizeof (routine));
ret = write (parent_fd, &argc, sizeof (argc));
ret = write (parent_fd, &type, sizeof (type));
ret = write (parent_fd, &have_ctx, sizeof (have_ctx));
if (have_ctx)
if (have_ctx != 0)
ret = write (parent_fd, ctx, sizeof (*ctx));
(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));
if (ctx)
if (ctx != NULL)
ret = read (from_parent_fd, ctx, sizeof (*ctx));
(void) ret;
return i;
}
@ -469,24 +464,21 @@ parent_va_call_string (void *routine, int argc, va_list ap)
len = va_arg (ap, int);
value = va_arg (ap, void *);
if ((write (parent_fd, &len, sizeof (len)) != sizeof (len)) ||
(write (parent_fd, value, len) != len))
{
if (write (parent_fd, &len, sizeof (len)) != sizeof (len) ||
write (parent_fd, value, len) != len)
return NULL;
}
}
if (read (from_parent_fd, &i, sizeof (i)) != sizeof (i))
return NULL;
if (!i)
if (read (from_parent_fd, &i, sizeof (i)) != sizeof (i) || i == 0)
return NULL;
str = g_malloc (i + 1);
if (read (from_parent_fd, str, i) != i)
{
g_free (str);
return NULL;
}
str[i] = 0;
str[i] = '\0';
return str;
}
@ -497,7 +489,7 @@ parent_va_call_string (void *routine, int argc, va_list ap)
void
unregister_task_running (pid_t pid, int fd)
{
destroy_task_and_return_fd (pid);
destroy_task (pid);
delete_select_channel (fd);
}
@ -506,12 +498,13 @@ unregister_task_running (pid_t pid, int fd)
void
unregister_task_with_pid (pid_t pid)
{
int fd = destroy_task_and_return_fd (pid);
int fd;
fd = destroy_task (pid);
if (fd != -1)
delete_select_channel (fd);
}
/* --------------------------------------------------------------------------------------------- */
/**
* 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;
if (pipe (comm) == -1)
return -1;
return (-1);
if (pipe (back_comm) == -1)
return -1;
return (-1);
pid = fork ();
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[1]);
errno = saved_errno;
return -1;
return (-1);
}
if (pid == 0)

View File

@ -218,18 +218,7 @@ alloc_dir_copy (int size)
if (dir_copy.size < size)
{
if (dir_copy.list != NULL)
{
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_list_free_list (&dir_copy);
dir_copy.list = g_new0 (file_entry_t, 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);
}
/* --------------------------------------------------------------------------------------------- */
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 */
@ -744,7 +753,7 @@ dir_list_reload (dir_list * list, const vfs_path_t * vpath, GCompareFunc sort,
dir_list_clean (list);
if (!dir_list_init (list))
{
dir_list_clean (&dir_copy);
dir_list_free_list (&dir_copy);
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_clean (&dir_copy);
dir_list_free_list (&dir_copy);
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);
gboolean dir_list_init (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);
/* 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];
int len;
FileProgressStatus return_status;
struct stat sb;
struct stat dst_stat;
vfs_path_t *src_vpath;
vfs_path_t *dst_vpath;
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);
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:
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,
const char *s, const char *d)
{
struct stat sbuf, dbuf;
struct stat src_stat, dst_stat;
FileProgressStatus return_status = FILE_CONT;
gboolean move_over = FALSE;
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_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;
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 */
retry_dst_stat:
if (mc_stat (dst_vpath, &dbuf) == 0)
if (mc_stat (dst_vpath, &dst_stat) == 0)
{
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;
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);
else
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,
totals are calcuated already. */
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);
if (return_status != FILE_CONT)
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)
{
struct dirent *next;
struct stat buf, cbuf;
struct stat dst_stat, src_stat;
DIR *reading;
FileProgressStatus return_status = FILE_CONT;
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 */
retry_src_stat:
if ((*ctx->stat_func) (src_vpath, &cbuf) != 0)
if ((*ctx->stat_func) (src_vpath, &src_stat) != 0)
{
if (ctx->skip_all)
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;
}
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
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 */
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:
/* 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)
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;
}
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 */
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->vfs = vfs_path_get_by_index (src_vpath, -1)->class;
lp->ino = cbuf.st_ino;
lp->dev = cbuf.st_dev;
lp->ino = src_stat.st_ino;
lp->dev = src_stat.st_dev;
parent_dirs = g_slist_prepend (parent_dirs, lp);
retry_dst_stat:
/* 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 ! */
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/\*
* 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)
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)
{
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)
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);
mc_stat (dst_vpath, &buf);
mc_stat (dst_vpath, &dst_stat);
lp->vfs = vfs_path_get_by_index (dst_vpath, -1)->class;
lp->ino = buf.st_ino;
lp->dev = buf.st_dev;
lp->ino = dst_stat.st_ino;
lp->dev = dst_stat.st_dev;
dest_dirs = g_slist_prepend (dest_dirs, lp);
}
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)
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);
tmp_vpath = vfs_path_from_str (path);
(*ctx->stat_func) (tmp_vpath, &buf);
if (S_ISDIR (buf.st_mode))
(*ctx->stat_func) (tmp_vpath, &dst_stat);
if (S_ISDIR (dst_stat.st_mode))
{
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->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);
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);
else
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_chmod (dst_vpath, cbuf.st_mode & ctx->umask_kill);
get_times (&cbuf, &times);
mc_chmod (dst_vpath, src_stat.st_mode & ctx->umask_kill);
get_times (&src_stat, &times);
mc_utime (dst_vpath, &times);
}
else
{
cbuf.st_mode = umask (-1);
umask (cbuf.st_mode);
cbuf.st_mode = 0100777 & ~cbuf.st_mode;
mc_chmod (dst_vpath, cbuf.st_mode & ctx->umask_kill);
src_stat.st_mode = umask (-1);
umask (src_stat.st_mode);
src_stat.st_mode = 0100777 & ~src_stat.st_mode;
mc_chmod (dst_vpath, src_stat.st_mode & ctx->umask_kill);
}
ret:

View File

@ -78,13 +78,7 @@
/* NetBSD 1.5.2 needs these, for the declaration of struct statfs. */
#include <sys/param.h>
#include <sys/mount.h>
#if defined HAVE_NFS_NFS_CLNT_H && defined HAVE_NFS_VFS_H
/* 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 */
#elif defined HAVE_OS_H /* Haiku, also (obsolete) BeOS */
#include <fs_info.h>
#endif
@ -106,7 +100,7 @@
#else
#define STATFS 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
for f_files, f_ffree and f_favail, and lacks f_type, f_basetype and
f_fstypename. Use 'struct fs_info' instead. */
@ -138,7 +132,7 @@ statfs (char const *filename, struct fs_info *buf)
#else
#if defined HAVE_STRUCT_STATVFS_F_FSTYPENAME || defined HAVE_STRUCT_STATFS_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
#endif
#endif

View File

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

View File

@ -49,7 +49,7 @@
#include <unistd.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
#include <grp.h> /* needed on OSF V4.0 for definition of NGROUPS,
NGROUPS is used as an array dimension in ucred.h */
@ -78,11 +78,9 @@
#ifdef HAVE_SYS_STATFS_H
#include <sys/statfs.h>
#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 <sys/types.h>
#ifndef MOUNTED
@ -92,60 +90,46 @@
#ifdef MNT_MNTTAB /* HP-UX. */
#define MOUNTED MNT_MNTTAB
#endif
#ifdef MNTTABNAME /* Dynix. */
#define MOUNTED MNTTABNAME
#endif
#endif
#endif
#ifdef MOUNTED_GETMNTINFO /* 4.4BSD. */
#ifdef MOUNTED_GETMNTINFO /* Mac OS X, FreeBSD, OpenBSD, also (obsolete) 4.4BSD */
#include <sys/mount.h>
#endif
#ifdef MOUNTED_GETMNTINFO2 /* NetBSD 3.0. */
#ifdef MOUNTED_GETMNTINFO2 /* NetBSD, Minix */
#include <sys/statvfs.h>
#endif
#ifdef MOUNTED_GETMNT /* Ultrix. */
#include <sys/mount.h>
#include <sys/fs_types.h>
#endif
#ifdef MOUNTED_FS_STAT_DEV /* BeOS. */
#ifdef MOUNTED_FS_STAT_DEV /* Haiku, also (obsolete) BeOS */
#include <fs_info.h>
#include <dirent.h>
#endif
#ifdef MOUNTED_FREAD_FSTYP /* SVR3. */
#ifdef MOUNTED_FREAD_FSTYP /* (obsolete) SVR3 */
#include <mnttab.h>
#include <sys/fstyp.h>
#include <sys/statfs.h>
#endif
#ifdef MOUNTED_LISTMNTENT
#include <mntent.h>
#endif
#ifdef MOUNTED_GETMNTENT2 /* SVR4. */
#ifdef MOUNTED_GETEXTMNTENT /* Solaris >= 8 */
#include <sys/mnttab.h>
#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 <sys/vfs.h>
#endif
#ifdef MOUNTED_INTERIX_STATVFS /* Interix. */
#ifdef MOUNTED_INTERIX_STATVFS /* Interix */
#include <sys/statvfs.h>
#include <dirent.h>
#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
/* This is to get MNTOPT_IGNORE on e.g. SVR4. */
#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
static char *
@ -511,7 +495,7 @@ fsp_to_string (const struct statfs *fsp)
/* --------------------------------------------------------------------------------------------- */
#ifdef MOUNTED_VMOUNT /* AIX. */
#ifdef MOUNTED_VMOUNT /* AIX */
static char *
fstype_to_string (int t)
{
@ -566,36 +550,7 @@ dev_from_mount_options (char const *mount_options)
/* --------------------------------------------------------------------------------------------- */
#if defined _AIX && defined _I386
/* 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__
#if defined MOUNTED_GETMNTENT1 && defined __linux__ /* GNU/Linux, Android */
/* Unescape the paths in mount tables.
STR is updated in place. */
@ -633,38 +588,8 @@ read_file_system_list (void)
GSList *mount_list = NULL;
struct mount_entry *me;
#ifdef MOUNTED_LISTMNTENT
{
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. */
#ifdef MOUNTED_GETMNTENT1 /* glibc, HP-UX, IRIX, Cygwin, Android,
also (obsolete) 4.3BSD, SunOS */
{
FILE *fp;
@ -790,7 +715,7 @@ read_file_system_list (void)
}
#endif /* MOUNTED_GETMNTENT1. */
#ifdef MOUNTED_GETMNTINFO /* 4.4BSD. */
#ifdef MOUNTED_GETMNTINFO /* Mac OS X, FreeBSD, OpenBSD, also (obsolete) 4.4BSD */
{
struct statfs *fsp;
int entries;
@ -817,7 +742,7 @@ read_file_system_list (void)
}
#endif /* MOUNTED_GETMNTINFO */
#ifdef MOUNTED_GETMNTINFO2 /* NetBSD 3.0. */
#ifdef MOUNTED_GETMNTINFO2 /* NetBSD, Minix */
{
struct statvfs *fsp;
int entries;
@ -842,37 +767,7 @@ read_file_system_list (void)
}
#endif /* MOUNTED_GETMNTINFO2 */
#ifdef MOUNTED_GETMNT /* Ultrix. */
{
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 */
#if defined MOUNTED_FS_STAT_DEV /* Haiku, also (obsolete) BeOS */
{
/* The next_dev() and fs_stat_dev() system calls give the list of
all file systems, including the information returned by statvfs()
@ -972,7 +867,7 @@ read_file_system_list (void)
}
#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;
size_t bufsize;
@ -1016,7 +911,7 @@ read_file_system_list (void)
}
#endif /* MOUNTED_GETFSSTAT */
#if defined MOUNTED_FREAD || defined MOUNTED_FREAD_FSTYP /* SVR[23]. */
#if defined MOUNTED_FREAD_FSTYP /* (obsolete) SVR3 */
{
struct mnttab mnt;
char *table = "/etc/mnttab";
@ -1029,17 +924,12 @@ read_file_system_list (void)
while (fread (&mnt, sizeof (mnt), 1, fp) > 0)
{
me = g_malloc (sizeof (*me));
#ifdef GETFSTYP /* SVR3. */
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_mntroot = NULL;
me->me_dev = (dev_t) (-1); /* Magic; means not known yet. */
me->me_type = "";
me->me_type_malloced = 0;
#ifdef GETFSTYP /* SVR3. */
{
struct statfs fsd;
char typebuf[FSTYPSZ];
@ -1051,7 +941,6 @@ read_file_system_list (void)
me->me_type_malloced = 1;
}
}
#endif
me->me_dummy = ME_DUMMY (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)
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));
me->me_devname = g_strdup ((*ent)->mt_resource);
me->me_mountdir = g_strdup ((*ent)->mt_directory);
me->me_mntroot = NULL;
me->me_type = g_strdup ((*ent)->mt_fstype);
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 = (dev_t) (-1); /* Magic; means not known yet. */
while ((ret = getextmntent (fp, &mnt, 1)) == 0)
{
me = g_malloc (sizeof *me);
me->me_devname = g_strdup (mnt.mnt_special);
me->me_mountdir = g_strdup (mnt.mnt_mountp);
me->me_mntroot = NULL;
me->me_type = g_strdup (mnt.mnt_fstype);
me->me_type_malloced = 1;
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;
char *table = MNTTAB;
const char *table = MNTTAB;
FILE *fp;
int ret;
int lockfd = -1;
@ -1155,6 +1064,7 @@ read_file_system_list (void)
}
ret = fclose (fp) == EOF ? errno : 0 < ret ? 0 : -1;
/* Here ret = -1 means success, ret >= 0 means failure. */
}
if (lockfd >= 0 && close (lockfd) != 0)
@ -1168,7 +1078,7 @@ read_file_system_list (void)
}
#endif /* MOUNTED_GETMNTENT2. */
#ifdef MOUNTED_VMOUNT /* AIX. */
#ifdef MOUNTED_VMOUNT /* AIX */
{
int bufsize;
void *entries;
@ -1233,7 +1143,7 @@ read_file_system_list (void)
}
#endif /* MOUNTED_VMOUNT. */
#ifdef MOUNTED_INTERIX_STATVFS
#ifdef MOUNTED_INTERIX_STATVFS /* Interix */
{
DIR *dirp = opendir ("/dev/fs");
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);
/* *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 */
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);
#elif defined STAT_STATFS4 /* SVR3, Dynix, old Irix, old AIX, \
Dolphin */
#if !defined _AIX && !defined _SEQUENT_ && !defined DOLPHIN
#define f_bavail f_bfree
#endif
#elif defined STAT_STATFS4 /* SVR3, old Irix */
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
systems seem to always be in terms of 512-byte blocks,
no matter what value f_bsize has. */
#if defined _AIX || defined _CRAY
#if defined _CRAY
fsp->fsu_blocksize = PROPAGATE_ALL_ONES (fsd.f_bsize);
#else
fsp->fsu_blocksize = 512;

View File

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

View File

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

View File

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