From 4ca8dd316faa3357d501fc70912a11253a3ce2b7 Mon Sep 17 00:00:00 2001 From: adamyg Date: Sun, 21 Jan 2024 18:38:50 +0800 Subject: [PATCH 01/47] 2024 --- mcwin32/Makefile.in | 2 +- mcwin32/buildinfo.pl | 4 ++-- mcwin32/busyboxcmds.pl | 4 ++-- mcwin32/config.h | 2 +- mcwin32/libtool_win32.pl | 4 ++-- mcwin32/libw32/alloca.h | 4 ++-- mcwin32/libw32/dirent.h | 4 ++-- mcwin32/libw32/edidentifier.h | 4 ++-- mcwin32/libw32/grp.h | 4 ++-- mcwin32/libw32/langinfo.h | 4 ++-- mcwin32/libw32/libgen.h | 4 ++-- mcwin32/libw32/libw32.h | 2 +- mcwin32/libw32/libw32_version.h | 2 +- mcwin32/libw32/msvcversions.h | 6 +++--- mcwin32/libw32/netdb.h | 4 ++-- mcwin32/libw32/poll.h | 4 ++-- mcwin32/libw32/slang.h | 2 +- mcwin32/libw32/sys/cdefs.h | 4 ++-- mcwin32/libw32/sys/endian.h | 4 ++-- mcwin32/libw32/sys/fd_set.h | 2 +- mcwin32/libw32/sys/file.h | 4 ++-- mcwin32/libw32/sys/ioctl.h | 4 ++-- mcwin32/libw32/sys/mman.h | 4 ++-- mcwin32/libw32/sys/mount.h | 4 ++-- mcwin32/libw32/sys/pack0.h | 4 ++-- mcwin32/libw32/sys/pack1.h | 4 ++-- mcwin32/libw32/sys/param.h | 4 ++-- mcwin32/libw32/sys/poll.h | 4 ++-- mcwin32/libw32/sys/queue.h | 4 ++-- mcwin32/libw32/sys/resource.h | 2 +- mcwin32/libw32/sys/rwlock.h | 4 ++-- mcwin32/libw32/sys/select.h | 4 ++-- mcwin32/libw32/sys/socket.h | 4 ++-- mcwin32/libw32/sys/statfs.h | 4 ++-- mcwin32/libw32/sys/statvfs.h | 4 ++-- mcwin32/libw32/sys/time.h | 4 ++-- mcwin32/libw32/sys/uio.h | 4 ++-- mcwin32/libw32/sys/utsname.h | 4 ++-- mcwin32/libw32/sys/utypes.h | 4 ++-- mcwin32/libw32/sys/vfs.h | 4 ++-- mcwin32/libw32/sys/wait.h | 4 ++-- mcwin32/libw32/termemu_vio.c | 2 +- mcwin32/libw32/termemu_vio.h | 4 ++-- mcwin32/libw32/unistd.h | 4 ++-- mcwin32/libw32/w32_access.c | 4 ++-- mcwin32/libw32/w32_check.c | 4 ++-- mcwin32/libw32/w32_child.c | 4 ++-- mcwin32/libw32/w32_chmod.c | 4 ++-- mcwin32/libw32/w32_chown.c | 4 ++-- mcwin32/libw32/w32_close.c | 4 ++-- mcwin32/libw32/w32_colors256.h | 2 +- mcwin32/libw32/w32_dir.c | 4 ++-- mcwin32/libw32/w32_dirent.c | 4 ++-- mcwin32/libw32/w32_direntunc.c | 4 ++-- mcwin32/libw32/w32_domainname.c | 4 ++-- mcwin32/libw32/w32_errno.c | 4 ++-- mcwin32/libw32/w32_fallocate.c | 4 ++-- mcwin32/libw32/w32_fcntl.c | 4 ++-- mcwin32/libw32/w32_flock.c | 4 ++-- mcwin32/libw32/w32_fsync.c | 4 ++-- mcwin32/libw32/w32_getcwd.c | 4 ++-- mcwin32/libw32/w32_getcwdd.c | 6 +++--- mcwin32/libw32/w32_getrlimit.c | 4 ++-- mcwin32/libw32/w32_getrusage.c | 4 ++-- mcwin32/libw32/w32_gistrerror.c | 4 ++-- mcwin32/libw32/w32_grp.c | 6 +++--- mcwin32/libw32/w32_ino.c | 4 ++-- mcwin32/libw32/w32_io.c | 4 ++-- mcwin32/libw32/w32_itimer.c | 4 ++-- mcwin32/libw32/w32_langinfo.c | 4 ++-- mcwin32/libw32/w32_link.c | 4 ++-- mcwin32/libw32/w32_mknod.c | 4 ++-- mcwin32/libw32/w32_mkstemp.c | 4 ++-- mcwin32/libw32/w32_mmap.c | 4 ++-- mcwin32/libw32/w32_neterr.c | 4 ++-- mcwin32/libw32/w32_pipe.c | 4 ++-- mcwin32/libw32/w32_popen.c | 4 ++-- mcwin32/libw32/w32_proctitle.c | 4 ++-- mcwin32/libw32/w32_progname.c | 4 ++-- mcwin32/libw32/w32_pwd.c | 4 ++-- mcwin32/libw32/w32_read.c | 4 ++-- mcwin32/libw32/w32_readv.c | 4 ++-- mcwin32/libw32/w32_realpath.c | 6 +++--- mcwin32/libw32/w32_rename.c | 4 ++-- mcwin32/libw32/w32_reparse.c | 4 ++-- mcwin32/libw32/w32_select.c | 4 ++-- mcwin32/libw32/w32_setrlimit.c | 4 ++-- mcwin32/libw32/w32_shell.c | 4 ++-- mcwin32/libw32/w32_signal.c | 4 ++-- mcwin32/libw32/w32_slang.c | 2 +- mcwin32/libw32/w32_sockbase.c | 4 ++-- mcwin32/libw32/w32_socket.c | 4 ++-- mcwin32/libw32/w32_socket2.c | 4 ++-- mcwin32/libw32/w32_sockfd.c | 4 ++-- mcwin32/libw32/w32_sockpair.c | 4 ++-- mcwin32/libw32/w32_statfs.c | 4 ++-- mcwin32/libw32/w32_string.c | 4 ++-- mcwin32/libw32/w32_sysconf.c | 4 ++-- mcwin32/libw32/w32_sysdir.c | 4 ++-- mcwin32/libw32/w32_time.c | 4 ++-- mcwin32/libw32/w32_truncate.c | 4 ++-- mcwin32/libw32/w32_unlink.c | 4 ++-- mcwin32/libw32/w32_user.c | 4 ++-- mcwin32/libw32/w32_util.c | 4 ++-- mcwin32/libw32/w32_wdirent.c | 4 ++-- mcwin32/libw32/w32_write.c | 4 ++-- mcwin32/libw32/w32_writev.c | 4 ++-- mcwin32/libw32/win32_cdef.h | 2 +- mcwin32/libw32/win32_child.h | 4 ++-- mcwin32/libw32/win32_direct.h | 2 +- mcwin32/libw32/win32_errno.h | 4 ++-- mcwin32/libw32/win32_iconv.h | 4 ++-- mcwin32/libw32/win32_include.h | 4 ++-- mcwin32/libw32/win32_internal.h | 4 ++-- mcwin32/libw32/win32_io.h | 4 ++-- mcwin32/mc.rc | 2 +- mcwin32/releases/README.txt | 2 +- mcwin32/support/updateyear.pl | 7 +++++++ 118 files changed, 231 insertions(+), 224 deletions(-) diff --git a/mcwin32/Makefile.in b/mcwin32/Makefile.in index fa3ede9..e03ee33 100644 --- a/mcwin32/Makefile.in +++ b/mcwin32/Makefile.in @@ -1,7 +1,7 @@ # -*- mode: mak; indent-tabs-mode: t; tab-width: 8 -*- # Midnight command WIN32 # -# Copyright (c) 2007, 2012 - 2023 Adam Young. +# Copyright (c) 2007, 2012 - 2024 Adam Young. # # This file is part of the Midnight Commander. # diff --git a/mcwin32/buildinfo.pl b/mcwin32/buildinfo.pl index e191241..b1a19c0 100644 --- a/mcwin32/buildinfo.pl +++ b/mcwin32/buildinfo.pl @@ -1,9 +1,9 @@ #!/usr/bin/perl -w # -*- mode: perl; -*- -# $Id: buildinfo.pl,v 1.9 2023/01/31 17:07:13 cvsuser Exp $ +# $Id: buildinfo.pl,v 1.10 2024/01/16 15:18:03 cvsuser Exp $ # buildinfo generation # -# Copyright Adam Young 2018-2023 +# Copyright Adam Young 2018 - 2024 # All rights reserved. # # The applications are free software: you can redistribute it diff --git a/mcwin32/busyboxcmds.pl b/mcwin32/busyboxcmds.pl index ec09f37..d2a163a 100644 --- a/mcwin32/busyboxcmds.pl +++ b/mcwin32/busyboxcmds.pl @@ -1,9 +1,9 @@ #!/usr/bin/perl -w # -*- mode: perl; -*- -# $Id: busyboxcmds.pl,v 1.3 2023/11/26 15:05:41 cvsuser Exp $ +# $Id: busyboxcmds.pl,v 1.4 2024/01/16 15:18:03 cvsuser Exp $ # busybox command line generation # -# Copyright Adam Young 2023 +# Copyright Adam Young 2023 - 2024 # All rights reserved. # # The applications are free software: you can redistribute it diff --git a/mcwin32/config.h b/mcwin32/config.h index 076a397..95f0544 100644 --- a/mcwin32/config.h +++ b/mcwin32/config.h @@ -3,7 +3,7 @@ /* * win32 Midnight Commander -- config.h * - * Written by: Adam Young 2012 - 2023 + * Written by: Adam Young 2012 - 2024 * * This file is part of the Midnight Commander. * diff --git a/mcwin32/libtool_win32.pl b/mcwin32/libtool_win32.pl index 922f2fa..b3282fe 100644 --- a/mcwin32/libtool_win32.pl +++ b/mcwin32/libtool_win32.pl @@ -1,6 +1,6 @@ #!/usr/bin/perl -w # -*- mode: perl; -*- -# $Id: libtool_win32.pl,v 1.22 2023/11/26 15:06:58 cvsuser Exp $ +# $Id: libtool_win32.pl,v 1.23 2024/01/16 15:18:03 cvsuser Exp $ # libtool emulation for WIN32 builds. # # **Warning** @@ -18,7 +18,7 @@ # $(D_LIB)/%.lo: %.cpp # $(LIBTOOL) --mode=compile $(CXX) $(CXXFLAGS) -o $(D_OBJ)/$@ -c $< # -# Copyright Adam Young 2012 - 2023 +# Copyright Adam Young 2012 - 2024 # All rights reserved. # # This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/alloca.h b/mcwin32/libw32/alloca.h index 879ff3d..31fac31 100644 --- a/mcwin32/libw32/alloca.h +++ b/mcwin32/libw32/alloca.h @@ -1,14 +1,14 @@ #ifndef LIBW32_ALLOCA_H_INCLUDED #define LIBW32_ALLOCA_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_alloca_h,"$Id: alloca.h,v 1.7 2023/09/17 13:04:55 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_alloca_h,"$Id: alloca.h,v 1.8 2024/01/16 15:17:51 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* * win32 implementation * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * * This file is part of the Midnight Commander. * diff --git a/mcwin32/libw32/dirent.h b/mcwin32/libw32/dirent.h index 5f5f358..97f76aa 100644 --- a/mcwin32/libw32/dirent.h +++ b/mcwin32/libw32/dirent.h @@ -1,14 +1,14 @@ #ifndef LIBW32_DIRENT_H_INCLUDED #define LIBW32_DIRENT_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_dirent_h,"$Id: dirent.h,v 1.16 2023/09/17 13:04:55 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_dirent_h,"$Id: dirent.h,v 1.17 2024/01/16 15:17:51 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* * win32 implementation * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/edidentifier.h b/mcwin32/libw32/edidentifier.h index 58ea8c4..c648d74 100644 --- a/mcwin32/libw32/edidentifier.h +++ b/mcwin32/libw32/edidentifier.h @@ -2,7 +2,7 @@ #define LIBW32_EDIDENTIFIER_H_INCLUDED /* -*- mode: c; indent-width: 4; -*- */ -/* $Id: edidentifier.h,v 1.6 2023/09/17 13:04:55 cvsuser Exp $ +/* $Id: edidentifier.h,v 1.7 2024/01/16 15:17:51 cvsuser Exp $ * Compiler specific object identify functionality. * * __CIDENT(description) @@ -10,7 +10,7 @@ * __CPRAGMA_ONCE * * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * * This file is part of the Midnight Commander. * diff --git a/mcwin32/libw32/grp.h b/mcwin32/libw32/grp.h index 453732d..6f20751 100644 --- a/mcwin32/libw32/grp.h +++ b/mcwin32/libw32/grp.h @@ -1,14 +1,14 @@ #ifndef LIBW32_GRP_H_INCLUDED #define LIBW32_GRP_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_grp_h,"$Id: grp.h,v 1.11 2023/09/17 13:04:56 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_grp_h,"$Id: grp.h,v 1.12 2024/01/16 15:17:51 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* * win32 implementation * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/langinfo.h b/mcwin32/libw32/langinfo.h index 49e0419..5494862 100644 --- a/mcwin32/libw32/langinfo.h +++ b/mcwin32/libw32/langinfo.h @@ -1,14 +1,14 @@ #ifndef LIBW32_LANGINFO_H_INCLUDED #define LIBW32_LANGINFO_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_langinfo_h,"$Id: langinfo.h,v 1.7 2023/09/17 13:04:56 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_langinfo_h,"$Id: langinfo.h,v 1.8 2024/01/16 15:17:51 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* * win32 implementation * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * * This file is part of the Midnight Commander. * diff --git a/mcwin32/libw32/libgen.h b/mcwin32/libw32/libgen.h index b3f69f4..9d0c41b 100644 --- a/mcwin32/libw32/libgen.h +++ b/mcwin32/libw32/libgen.h @@ -1,14 +1,14 @@ #ifndef LIBW32_LIBGEN_H_INCLUDED #define LIBW32_LIBGEN_H_INCLUDED #include -__CIDENT_RCSID(gr_libgen_h,"$Id: libgen.h,v 1.5 2023/09/17 13:04:56 cvsuser Exp $") +__CIDENT_RCSID(gr_libgen_h,"$Id: libgen.h,v 1.6 2024/01/16 15:17:51 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* * win32 implementation * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * * This file is part of the Midnight Commander. * diff --git a/mcwin32/libw32/libw32.h b/mcwin32/libw32/libw32.h index b86765b..aed34e2 100644 --- a/mcwin32/libw32/libw32.h +++ b/mcwin32/libw32/libw32.h @@ -4,7 +4,7 @@ /* * win32 public interface * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * * This file is part of the Midnight Commander. * diff --git a/mcwin32/libw32/libw32_version.h b/mcwin32/libw32/libw32_version.h index b001460..6d18fb7 100644 --- a/mcwin32/libw32/libw32_version.h +++ b/mcwin32/libw32/libw32_version.h @@ -1,7 +1,7 @@ #ifndef LIBW32_VERSION_H_INCLUDED #define LIBW32_VERSION_H_INCLUDED /* - * Copyright (c) 2016 - 2023 Adam Young. + * Copyright (c) 2016 - 2024 Adam Young. * * This file is part of the Midnight Commander. * diff --git a/mcwin32/libw32/msvcversions.h b/mcwin32/libw32/msvcversions.h index 89ec49e..c644f1e 100644 --- a/mcwin32/libw32/msvcversions.h +++ b/mcwin32/libw32/msvcversions.h @@ -1,14 +1,14 @@ #ifndef LIBW32_MSVCVERSIONS_H_INCLUDED #define LIBW32_MSVCVERSIONS_H_INCLUDED #include -__CIDENT_RCSID(gr_msvcversions_h,"$Id: msvcversions.h,v 1.2 2023/09/17 13:04:56 cvsuser Exp $") +__CIDENT_RCSID(gr_msvcversions_h,"$Id: msvcversions.h,v 1.3 2024/01/16 15:17:51 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ -/* $Id: msvcversions.h,v 1.2 2023/09/17 13:04:56 cvsuser Exp $ +/* $Id: msvcversions.h,v 1.3 2024/01/16 15:17:51 cvsuser Exp $ * _MSC_VER definitions * - * Copyright (c) 2017 - 2023, Adam Young. + * Copyright (c) 2017 - 2024, Adam Young. * All rights reserved. * * This file is part of inetd-win32. diff --git a/mcwin32/libw32/netdb.h b/mcwin32/libw32/netdb.h index bc20c89..102aa73 100644 --- a/mcwin32/libw32/netdb.h +++ b/mcwin32/libw32/netdb.h @@ -1,14 +1,14 @@ #ifndef LIBW32_NETDB_H_INCLUDED #define LIBW32_NETDB_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_netdb_h,"$Id: netdb.h,v 1.9 2023/09/17 13:04:56 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_netdb_h,"$Id: netdb.h,v 1.10 2024/01/16 15:17:51 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* * win32 implementation * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * * This file is part of the Midnight Commander. * diff --git a/mcwin32/libw32/poll.h b/mcwin32/libw32/poll.h index a5354fd..b65f419 100644 --- a/mcwin32/libw32/poll.h +++ b/mcwin32/libw32/poll.h @@ -1,14 +1,14 @@ #ifndef LIBW32_POLL_H_INCLUDED #define LIBW32_POLL_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_poll_h,"$Id: poll.h,v 1.10 2023/09/17 13:04:56 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_poll_h,"$Id: poll.h,v 1.11 2024/01/16 15:17:51 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* * win * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * * This file is part of the Midnight Commander. * diff --git a/mcwin32/libw32/slang.h b/mcwin32/libw32/slang.h index 6dacd5f..3a0e414 100644 --- a/mcwin32/libw32/slang.h +++ b/mcwin32/libw32/slang.h @@ -4,7 +4,7 @@ /* * win32 partial implementation * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * * This file is part of the Midnight Commander. * diff --git a/mcwin32/libw32/sys/cdefs.h b/mcwin32/libw32/sys/cdefs.h index 0ee96fe..474118d 100644 --- a/mcwin32/libw32/sys/cdefs.h +++ b/mcwin32/libw32/sys/cdefs.h @@ -1,14 +1,14 @@ #ifndef LIBW32_SYS_CDEFS_H_INCLUDED #define LIBW32_SYS_CDEFS_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_sys_cdefs_h,"$Id: cdefs.h,v 1.11 2023/11/06 15:06:06 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_sys_cdefs_h,"$Id: cdefs.h,v 1.12 2024/01/16 15:17:52 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- * * win32 declaration helpers * - * Copyright (c) 1998 - 2023, Adam Young. + * Copyright (c) 1998 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/sys/endian.h b/mcwin32/libw32/sys/endian.h index 5b5f9a5..1e77e96 100644 --- a/mcwin32/libw32/sys/endian.h +++ b/mcwin32/libw32/sys/endian.h @@ -1,14 +1,14 @@ #ifndef GR_ENDIAN_H_INCLUDED #define GR_ENDIAN_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_sys_endian_h,"$Id: endian.h,v 1.4 2024/01/01 15:15:13 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_sys_endian_h,"$Id: endian.h,v 1.5 2024/01/16 15:17:52 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- * * win32 implementation * - * Copyright (c) 1998 - 2023, Adam Young. + * Copyright (c) 1998 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/sys/fd_set.h b/mcwin32/libw32/sys/fd_set.h index 4e2d719..6775b82 100644 --- a/mcwin32/libw32/sys/fd_set.h +++ b/mcwin32/libw32/sys/fd_set.h @@ -3,7 +3,7 @@ /* * * - * Copyright (c) 2022 - 2023, Adam Young. + * Copyright (c) 2022 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/sys/file.h b/mcwin32/libw32/sys/file.h index e97c7e3..9aa460b 100644 --- a/mcwin32/libw32/sys/file.h +++ b/mcwin32/libw32/sys/file.h @@ -1,14 +1,14 @@ #ifndef LIBW32_SYS_FILE_H_INCLUDED #define LIBW32_SYS_FILE_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_sys_file_h,"$Id: file.h,v 1.3 2023/11/06 15:06:06 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_sys_file_h,"$Id: file.h,v 1.4 2024/01/16 15:17:52 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* * win32 sys/file.h * - * Copyright (c) 2020 - 2023, Adam Young. + * Copyright (c) 2020 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/sys/ioctl.h b/mcwin32/libw32/sys/ioctl.h index 1f62cb8..08df46f 100644 --- a/mcwin32/libw32/sys/ioctl.h +++ b/mcwin32/libw32/sys/ioctl.h @@ -1,12 +1,12 @@ #ifndef LIBW32_SYS_IOCTL_H_INCLUDED #define LIBW32_SYS_IOCTL_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_sys_ioctl_h,"$Id: ioctl.h,v 1.6 2023/11/06 15:06:06 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_sys_ioctl_h,"$Id: ioctl.h,v 1.7 2024/01/16 15:17:52 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* - * Copyright (c) 2012 - 2023, Adam Young. + * Copyright (c) 2012 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/sys/mman.h b/mcwin32/libw32/sys/mman.h index 773d578..cad4b9b 100644 --- a/mcwin32/libw32/sys/mman.h +++ b/mcwin32/libw32/sys/mman.h @@ -1,13 +1,13 @@ #ifndef LIBW32_SYS_MMAN_H_INCLUDED #define LIBW32_SYS_MMAN_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_sys_mman_h,"$Id: mman.h,v 1.10 2023/12/28 17:31:16 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_sys_mman_h,"$Id: mman.h,v 1.11 2024/01/16 15:17:52 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* * win32 mmap implementation - * Copyright (c) 2012 - 2023, Adam Young. + * Copyright (c) 2012 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/sys/mount.h b/mcwin32/libw32/sys/mount.h index f2cb4d4..610ae2c 100644 --- a/mcwin32/libw32/sys/mount.h +++ b/mcwin32/libw32/sys/mount.h @@ -1,14 +1,14 @@ #ifndef LIBW32_SYS_MOUNT_H_INCLUDED #define LIBW32_SYS_MOUNT_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_sys_mount_h,"$Id: mount.h,v 1.8 2023/11/06 15:06:06 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_sys_mount_h,"$Id: mount.h,v 1.9 2024/01/16 15:17:52 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* * win32 mount() implementation * - * Copyright (c) 2012 - 2023, Adam Young. + * Copyright (c) 2012 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/sys/pack0.h b/mcwin32/libw32/sys/pack0.h index eb16090..4c3409f 100644 --- a/mcwin32/libw32/sys/pack0.h +++ b/mcwin32/libw32/sys/pack0.h @@ -1,10 +1,10 @@ /* -*- mode: c; indent-width: 4; -*- - * $Id: pack0.h,v 1.4 2023/11/06 15:06:06 cvsuser Exp $ + * $Id: pack0.h,v 1.5 2024/01/16 15:17:52 cvsuser Exp $ * ==noguard== * * win32 declaration helpers * - * Copyright (c) 1998 - 2023, Adam Young. + * Copyright (c) 1998 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/sys/pack1.h b/mcwin32/libw32/sys/pack1.h index c945262..7a4f890 100644 --- a/mcwin32/libw32/sys/pack1.h +++ b/mcwin32/libw32/sys/pack1.h @@ -1,10 +1,10 @@ /* -*- mode: c; indent-width: 4; -*- - * $Id: pack1.h,v 1.4 2023/11/06 15:06:06 cvsuser Exp $ + * $Id: pack1.h,v 1.5 2024/01/16 15:17:52 cvsuser Exp $ * ==noguard== * * win32 declaration helpers * - * Copyright (c) 1998 - 2023, Adam Young. + * Copyright (c) 1998 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/sys/param.h b/mcwin32/libw32/sys/param.h index cc50fed..d606945 100644 --- a/mcwin32/libw32/sys/param.h +++ b/mcwin32/libw32/sys/param.h @@ -1,14 +1,14 @@ #ifndef LIBW32_SYS_PARAM_H_INCLUDED #define LIBW32_SYS_PARAM_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_sys_param_h,"$Id: param.h,v 1.6 2023/11/06 15:06:06 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_sys_param_h,"$Id: param.h,v 1.7 2024/01/16 15:17:52 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* * win32 * - * Copyright (c) 2012 - 2023, Adam Young. + * Copyright (c) 2012 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/sys/poll.h b/mcwin32/libw32/sys/poll.h index 9860011..8e6a65e 100644 --- a/mcwin32/libw32/sys/poll.h +++ b/mcwin32/libw32/sys/poll.h @@ -1,12 +1,12 @@ #ifndef LIBW32_SYS_POLL_H_INCLUDED #define LIBW32_SYS_POLL_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_sys_poll_h,"$Id: poll.h,v 1.6 2023/11/06 15:06:06 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_sys_poll_h,"$Id: poll.h,v 1.7 2024/01/16 15:17:52 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* - * Copyright (c) 1998 - 2023, Adam Young. + * Copyright (c) 1998 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/sys/queue.h b/mcwin32/libw32/sys/queue.h index 0e70d80..9314b10 100644 --- a/mcwin32/libw32/sys/queue.h +++ b/mcwin32/libw32/sys/queue.h @@ -1,12 +1,12 @@ #ifndef GR_QUEUE_H_INCLUDED #define GR_QUEUE_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_sys_queue_h,"$Id: queue.h,v 1.3 2023/11/06 15:06:06 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_sys_queue_h,"$Id: queue.h,v 1.4 2024/01/16 15:17:52 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* - * Copyright (c) 1998 - 2023, Adam Young. + * Copyright (c) 1998 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/sys/resource.h b/mcwin32/libw32/sys/resource.h index a6e8196..fa37033 100644 --- a/mcwin32/libw32/sys/resource.h +++ b/mcwin32/libw32/sys/resource.h @@ -6,7 +6,7 @@ __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* - * Copyright (c) 2020 - 2023, Adam Young. + * Copyright (c) 2020 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/sys/rwlock.h b/mcwin32/libw32/sys/rwlock.h index 07886f3..e5720b3 100644 --- a/mcwin32/libw32/sys/rwlock.h +++ b/mcwin32/libw32/sys/rwlock.h @@ -1,14 +1,14 @@ #ifndef LIBW32_SYS_RWLOCK_H_INCLUDED #define LIBW32_SYS_RWLOCK_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_sys_rwlock_h,"$Id: rwlock.h,v 1.5 2023/12/28 17:31:16 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_sys_rwlock_h,"$Id: rwlock.h,v 1.6 2024/01/16 15:17:52 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* * win32 implementation * - * Copyright (c) 1998 - 2023, Adam Young. + * Copyright (c) 1998 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/sys/select.h b/mcwin32/libw32/sys/select.h index 80dd6b3..16bdb6e 100644 --- a/mcwin32/libw32/sys/select.h +++ b/mcwin32/libw32/sys/select.h @@ -1,12 +1,12 @@ #ifndef LIBW32_SYS_SELECT_H_INCLUDED #define LIBW32_SYS_SELECT_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_sys_select_h,"$Id: select.h,v 1.9 2023/12/28 17:31:16 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_sys_select_h,"$Id: select.h,v 1.10 2024/01/16 15:17:52 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* - * Copyright (c) 2012 - 2023 Adam Young. + * Copyright (c) 2012 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/sys/socket.h b/mcwin32/libw32/sys/socket.h index 9905f86..111ad46 100644 --- a/mcwin32/libw32/sys/socket.h +++ b/mcwin32/libw32/sys/socket.h @@ -1,14 +1,14 @@ #ifndef LIBW32_SYS_SOCKET_H_INCLUDED #define LIBW32_SYS_SOCKET_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_sys_socket_h,"$Id: socket.h,v 1.15 2023/12/28 17:31:16 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_sys_socket_h,"$Id: socket.h,v 1.16 2024/01/16 15:17:52 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* * win32 * - * Copyright (c) 2012 - 2023, Adam Young. + * Copyright (c) 2012 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/sys/statfs.h b/mcwin32/libw32/sys/statfs.h index 84c2837..7bcf1c6 100644 --- a/mcwin32/libw32/sys/statfs.h +++ b/mcwin32/libw32/sys/statfs.h @@ -1,14 +1,14 @@ #ifndef LIBW32_SYS_STATFS_H_INCLUDED #define LIBW32_SYS_STATFS_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_sys_statfs_h,"$Id: statfs.h,v 1.9 2023/01/31 17:14:13 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_sys_statfs_h,"$Id: statfs.h,v 1.10 2024/01/16 15:17:52 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* * win32 [f]statfs implementation * - * Copyright (c) 2012 - 2023, Adam Young. + * Copyright (c) 2012 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/sys/statvfs.h b/mcwin32/libw32/sys/statvfs.h index 588b675..00a6f29 100644 --- a/mcwin32/libw32/sys/statvfs.h +++ b/mcwin32/libw32/sys/statvfs.h @@ -1,14 +1,14 @@ #ifndef LIBW32_SYS_STATVFS_H #define LIBW32_SYS_STATVFS_H #include -__CIDENT_RCSID(gr_libw32_sys_statvfs_h,"$Id: statvfs.h,v 1.8 2023/01/31 17:14:13 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_sys_statvfs_h,"$Id: statvfs.h,v 1.9 2024/01/16 15:17:52 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* * win32 [f]statvfs implementation * - * Copyright (c) 2012 - 2023, Adam Young. + * Copyright (c) 2012 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/sys/time.h b/mcwin32/libw32/sys/time.h index 961918d..fb5da6f 100644 --- a/mcwin32/libw32/sys/time.h +++ b/mcwin32/libw32/sys/time.h @@ -1,14 +1,14 @@ #ifndef LIBW32_SYS_TIME_H_INCLUDED #define LIBW32_SYS_TIME_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_sys_time_h,"$Id: time.h,v 1.11 2023/12/28 17:31:16 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_sys_time_h,"$Id: time.h,v 1.12 2024/01/16 15:17:52 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* * win32 sys/time.h implementation. * - * Copyright (c) 1998 - 2023, Adam Young. + * Copyright (c) 1998 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/sys/uio.h b/mcwin32/libw32/sys/uio.h index c049e4e..8a79865 100644 --- a/mcwin32/libw32/sys/uio.h +++ b/mcwin32/libw32/sys/uio.h @@ -1,14 +1,14 @@ #ifndef LIBW32_SYS_UIO_H_INCLUDED #define LIBW32_SYS_UIO_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_sys_uio_h,"$Id: uio.h,v 1.9 2023/11/06 15:06:06 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_sys_uio_h,"$Id: uio.h,v 1.10 2024/01/16 15:17:52 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* * win32 sys/uio.h * - * Copyright (c) 1998 - 2023, Adam Young. + * Copyright (c) 1998 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/sys/utsname.h b/mcwin32/libw32/sys/utsname.h index 59ed623..a19cfe1 100644 --- a/mcwin32/libw32/sys/utsname.h +++ b/mcwin32/libw32/sys/utsname.h @@ -1,12 +1,12 @@ #ifndef LIBW32_SYS_UTSNAME_H_INCLUDED #define LIBW32_SYS_UTSNAME_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_sys_utsname_h,"$Id: utsname.h,v 1.6 2023/12/28 17:31:16 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_sys_utsname_h,"$Id: utsname.h,v 1.7 2024/01/16 15:17:52 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* - * Copyright (c) 2012 - 2023, Adam Young. + * Copyright (c) 2012 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/sys/utypes.h b/mcwin32/libw32/sys/utypes.h index 8098e6e..c5b35f3 100644 --- a/mcwin32/libw32/sys/utypes.h +++ b/mcwin32/libw32/sys/utypes.h @@ -1,14 +1,14 @@ #ifndef LIBW32_SYS_UTYPES_H_INCLUDED #define LIBW32_SYS_UTYPES_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_sys_utypes_h,"$Id: utypes.h,v 1.23 2023/12/28 17:31:16 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_sys_utypes_h,"$Id: utypes.h,v 1.24 2024/01/16 15:17:52 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* * win32 unix types * - * Copyright (c) 1998 - 2023, Adam Young. + * Copyright (c) 1998 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/sys/vfs.h b/mcwin32/libw32/sys/vfs.h index 7817853..dfbb064 100644 --- a/mcwin32/libw32/sys/vfs.h +++ b/mcwin32/libw32/sys/vfs.h @@ -1,12 +1,12 @@ #ifndef LIBW32_SYS_VFS_H #define LIBW32_SYS_VFS_H #include -__CIDENT_RCSID(gr_libw32_sys_vfs_h,"$Id: vfs.h,v 1.5 2023/11/06 15:06:07 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_sys_vfs_h,"$Id: vfs.h,v 1.6 2024/01/16 15:17:52 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* - * Copyright (c) 2012 - 2023, Adam Young. + * Copyright (c) 2012 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/sys/wait.h b/mcwin32/libw32/sys/wait.h index adc4283..651b155 100644 --- a/mcwin32/libw32/sys/wait.h +++ b/mcwin32/libw32/sys/wait.h @@ -1,12 +1,12 @@ #ifndef LIBW32_SYS_WAIT_H #define LIBW32_SYS_WAIT_H #include -__CIDENT_RCSID(gr_libw32_sys_wait_h,"$Id: wait.h,v 1.6 2023/11/06 15:06:07 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_sys_wait_h,"$Id: wait.h,v 1.7 2024/01/16 15:17:52 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* - * Copyright (c) 2012 - 2023 Adam Young. + * Copyright (c) 2012 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/termemu_vio.c b/mcwin32/libw32/termemu_vio.c index fab94fb..4531e3b 100644 --- a/mcwin32/libw32/termemu_vio.c +++ b/mcwin32/libw32/termemu_vio.c @@ -2,7 +2,7 @@ /* * libtermemu console driver * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * * This file is part of the Midnight Commander. * diff --git a/mcwin32/libw32/termemu_vio.h b/mcwin32/libw32/termemu_vio.h index c1e86a5..c8ea4dc 100644 --- a/mcwin32/libw32/termemu_vio.h +++ b/mcwin32/libw32/termemu_vio.h @@ -1,14 +1,14 @@ #ifndef TERMEMU_VIO_H_INCLUDED #define TERMEMU_VIO_H_INCLUDED #include -__CIDENT_RCSID(termemu_vio_h,"$Id: termemu_vio.h,v 1.9 2024/01/01 15:24:07 cvsuser Exp $") +__CIDENT_RCSID(termemu_vio_h,"$Id: termemu_vio.h,v 1.10 2024/01/16 15:17:51 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* * libtermemu console driver * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * * This file is part of the Midnight Commander. * diff --git a/mcwin32/libw32/unistd.h b/mcwin32/libw32/unistd.h index c60b74c..1bf5db5 100644 --- a/mcwin32/libw32/unistd.h +++ b/mcwin32/libw32/unistd.h @@ -1,14 +1,14 @@ #ifndef LIBW32_UNISTD_H_INCLUDED #define LIBW32_UNISTD_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_unistd_h,"$Id: unistd.h,v 1.41 2024/01/01 16:54:38 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_unistd_h,"$Id: unistd.h,v 1.42 2024/01/16 15:17:51 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* * win32 header (_MSC_VER, __WATCOMC__ and __MINGW32__) * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * * This file is part of the Midnight Commander. * diff --git a/mcwin32/libw32/w32_access.c b/mcwin32/libw32/w32_access.c index d5f2f2e..3f17a9c 100644 --- a/mcwin32/libw32/w32_access.c +++ b/mcwin32/libw32/w32_access.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_access_c,"$Id: w32_access.c,v 1.4 2023/09/17 13:04:56 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_access_c,"$Id: w32_access.c,v 1.5 2024/01/16 15:17:51 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win2 access() system calls * - * Copyright (c) 2021 - 2023 Adam Young. + * Copyright (c) 2021 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_check.c b/mcwin32/libw32/w32_check.c index 10c1080..f17db05 100644 --- a/mcwin32/libw32/w32_check.c +++ b/mcwin32/libw32/w32_check.c @@ -1,12 +1,12 @@ #include -__CIDENT_RCSID(gr_w32_check_c,"$Id: w32_check.c,v 1.13 2023/09/17 13:04:56 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_check_c,"$Id: w32_check.c,v 1.14 2024/01/16 15:17:51 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 system io functionality * Note: NOT CALLED -- purely a compile time check of the mode namespace * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * * This file is part of the Midnight Commander. * diff --git a/mcwin32/libw32/w32_child.c b/mcwin32/libw32/w32_child.c index 6500db5..2793d74 100644 --- a/mcwin32/libw32/w32_child.c +++ b/mcwin32/libw32/w32_child.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_child_c,"$Id: w32_child.c,v 1.20 2023/11/06 15:07:41 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_child_c,"$Id: w32_child.c,v 1.21 2024/01/16 15:17:51 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 sub-process support * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * * This file is part of the Midnight Commander. * diff --git a/mcwin32/libw32/w32_chmod.c b/mcwin32/libw32/w32_chmod.c index c118851..131a595 100644 --- a/mcwin32/libw32/w32_chmod.c +++ b/mcwin32/libw32/w32_chmod.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_chmod_c,"$Id: w32_chmod.c,v 1.6 2023/09/17 13:04:56 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_chmod_c,"$Id: w32_chmod.c,v 1.7 2024/01/16 15:17:51 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 chmod() system calls. * - * Copyright (c) 2020 - 2023 Adam Young. + * Copyright (c) 2020 - 2024 Adam Young. * * This file is part of the Midnight Commander. * diff --git a/mcwin32/libw32/w32_chown.c b/mcwin32/libw32/w32_chown.c index 005f5ed..0365a06 100644 --- a/mcwin32/libw32/w32_chown.c +++ b/mcwin32/libw32/w32_chown.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_chown_c,"$Id: w32_chown.c,v 1.11 2023/09/17 13:04:56 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_chown_c,"$Id: w32_chown.c,v 1.12 2024/01/16 15:17:51 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 chown() system calls. * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * * This file is part of the Midnight Commander. * diff --git a/mcwin32/libw32/w32_close.c b/mcwin32/libw32/w32_close.c index a57746d..714208e 100644 --- a/mcwin32/libw32/w32_close.c +++ b/mcwin32/libw32/w32_close.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_close_c,"$Id: w32_close.c,v 1.12 2023/09/17 13:04:57 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_close_c,"$Id: w32_close.c,v 1.13 2024/01/16 15:17:51 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 close() system calls. * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_colors256.h b/mcwin32/libw32/w32_colors256.h index e69e936..faf822c 100644 --- a/mcwin32/libw32/w32_colors256.h +++ b/mcwin32/libw32/w32_colors256.h @@ -3,7 +3,7 @@ /* * RGB Colors -- win32 slang emulation. * - * Copyright (c) 2015 - 2023, Adam Young. + * Copyright (c) 2015 - 2024, Adam Young. * * This file is part of the Midnight Commander. * diff --git a/mcwin32/libw32/w32_dir.c b/mcwin32/libw32/w32_dir.c index ca357ca..1dc4bab 100644 --- a/mcwin32/libw32/w32_dir.c +++ b/mcwin32/libw32/w32_dir.c @@ -1,5 +1,5 @@ #include -__CIDENT_RCSID(gr_w32_dir_c, "$Id: w32_dir.c,v 1.23 2023/09/17 13:04:57 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_dir_c, "$Id: w32_dir.c,v 1.24 2024/01/16 15:17:51 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* @@ -7,7 +7,7 @@ __CIDENT_RCSID(gr_w32_dir_c, "$Id: w32_dir.c,v 1.23 2023/09/17 13:04:57 cvsuser * * mkdir, rmdir, chdir * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_dirent.c b/mcwin32/libw32/w32_dirent.c index 6d01b87..8fa8726 100644 --- a/mcwin32/libw32/w32_dirent.c +++ b/mcwin32/libw32/w32_dirent.c @@ -1,5 +1,5 @@ #include -__CIDENT_RCSID(gr_w32_dirent_c,"$Id: w32_dirent.c,v 1.28 2023/12/28 17:30:51 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_dirent_c,"$Id: w32_dirent.c,v 1.29 2024/01/16 15:17:51 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* @@ -7,7 +7,7 @@ __CIDENT_RCSID(gr_w32_dirent_c,"$Id: w32_dirent.c,v 1.28 2023/12/28 17:30:51 cvs * * opendir, closedir, readdir, seekdir, rewindir, telldir * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * * This file is part of the Midnight Commander. * diff --git a/mcwin32/libw32/w32_direntunc.c b/mcwin32/libw32/w32_direntunc.c index c2ec028..78a333e 100644 --- a/mcwin32/libw32/w32_direntunc.c +++ b/mcwin32/libw32/w32_direntunc.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_direntunc_c,"$Id: w32_direntunc.c,v 1.10 2023/11/06 15:07:41 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_direntunc_c,"$Id: w32_direntunc.c,v 1.11 2024/01/16 15:17:51 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 unc directory access services ... * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * * This file is part of the Midnight Commander. * diff --git a/mcwin32/libw32/w32_domainname.c b/mcwin32/libw32/w32_domainname.c index 34139e2..0bd0cac 100644 --- a/mcwin32/libw32/w32_domainname.c +++ b/mcwin32/libw32/w32_domainname.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_getdomainname_c,"$Id: w32_domainname.c,v 1.4 2023/09/17 13:04:57 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_getdomainname_c,"$Id: w32_domainname.c,v 1.5 2024/01/16 15:17:51 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 getdomainname() * - * Copyright (c) 2017 - 2023 Adam Young. + * Copyright (c) 2017 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_errno.c b/mcwin32/libw32/w32_errno.c index 1613067..1a2fa22 100644 --- a/mcwin32/libw32/w32_errno.c +++ b/mcwin32/libw32/w32_errno.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_errno_c,"$Id: w32_errno.c,v 1.14 2023/09/20 16:29:53 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_errno_c,"$Id: w32_errno.c,v 1.15 2024/01/16 15:17:51 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 errno mapping support * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_fallocate.c b/mcwin32/libw32/w32_fallocate.c index 97e7f54..843fe5f 100644 --- a/mcwin32/libw32/w32_fallocate.c +++ b/mcwin32/libw32/w32_fallocate.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_fallocate_c, "$Id: w32_fallocate.c,v 1.6 2023/09/17 13:04:57 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_fallocate_c, "$Id: w32_fallocate.c,v 1.7 2024/01/16 15:17:51 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 posix_fallocate() system calls * - * Copyright (c) 2018 - 2023 Adam Young. + * Copyright (c) 2018 - 2024 Adam Young. * * This file is part of the Midnight Commander. * diff --git a/mcwin32/libw32/w32_fcntl.c b/mcwin32/libw32/w32_fcntl.c index fc32af4..eee538d 100644 --- a/mcwin32/libw32/w32_fcntl.c +++ b/mcwin32/libw32/w32_fcntl.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_fcntl_c,"$Id: w32_fcntl.c,v 1.11 2023/09/17 13:04:57 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_fcntl_c,"$Id: w32_fcntl.c,v 1.12 2024/01/16 15:17:51 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 fcntl() system calls * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * * This file is part of the Midnight Commander. * diff --git a/mcwin32/libw32/w32_flock.c b/mcwin32/libw32/w32_flock.c index ef302dc..6fda4d2 100644 --- a/mcwin32/libw32/w32_flock.c +++ b/mcwin32/libw32/w32_flock.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_flock_c,"$Id: w32_flock.c,v 1.4 2023/09/17 13:04:57 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_flock_c,"$Id: w32_flock.c,v 1.5 2024/01/16 15:17:51 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 flockc() system calls * - * Copyright (c) 2020 - 2023, Adam Young. + * Copyright (c) 2020 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_fsync.c b/mcwin32/libw32/w32_fsync.c index 8332d56..e3be6a5 100644 --- a/mcwin32/libw32/w32_fsync.c +++ b/mcwin32/libw32/w32_fsync.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_fsync_c,"$Id: w32_fsync.c,v 1.12 2023/09/17 13:04:57 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_fsync_c,"$Id: w32_fsync.c,v 1.13 2024/01/16 15:17:51 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 fsync() system calls * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_getcwd.c b/mcwin32/libw32/w32_getcwd.c index ece4292..af096b8 100644 --- a/mcwin32/libw32/w32_getcwd.c +++ b/mcwin32/libw32/w32_getcwd.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_getcwd_c,"$Id: w32_getcwd.c,v 1.25 2023/12/28 17:30:51 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_getcwd_c,"$Id: w32_getcwd.c,v 1.26 2024/01/16 15:17:51 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 getcwd() implementation * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_getcwdd.c b/mcwin32/libw32/w32_getcwdd.c index 63d88b7..1df94e1 100644 --- a/mcwin32/libw32/w32_getcwdd.c +++ b/mcwin32/libw32/w32_getcwdd.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_getcwdd_c,"$Id: w32_getcwdd.c,v 1.9 2023/11/06 15:07:42 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_getcwdd_c,"$Id: w32_getcwdd.c,v 1.10 2024/01/16 15:17:51 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 getcwdd() implementation * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * * This file is part of the Midnight Commander. * @@ -239,4 +239,4 @@ w32_getcwddW(char drive, wchar_t *path, size_t size) return NULL; } -/*end*/ \ No newline at end of file +/*end*/ diff --git a/mcwin32/libw32/w32_getrlimit.c b/mcwin32/libw32/w32_getrlimit.c index 495fd95..b1fe544 100644 --- a/mcwin32/libw32/w32_getrlimit.c +++ b/mcwin32/libw32/w32_getrlimit.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_getrlimit_c,"$Id: w32_getrlimit.c,v 1.3 2023/09/17 13:04:57 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_getrlimit_c,"$Id: w32_getrlimit.c,v 1.4 2024/01/16 15:17:51 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 getrlimit() system calls * - * Copyright (c) 2020 - 2023, Adam Young. + * Copyright (c) 2020 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_getrusage.c b/mcwin32/libw32/w32_getrusage.c index 0c6c701..219a47c 100644 --- a/mcwin32/libw32/w32_getrusage.c +++ b/mcwin32/libw32/w32_getrusage.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_getrusage_c,"$Id: w32_getrusage.c,v 1.5 2023/11/06 15:07:42 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_getrusage_c,"$Id: w32_getrusage.c,v 1.6 2024/01/16 15:17:51 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 getrusage() system calls * - * Copyright (c) 2020 - 2023, Adam Young. + * Copyright (c) 2020 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_gistrerror.c b/mcwin32/libw32/w32_gistrerror.c index 0abc297..c53bbba 100644 --- a/mcwin32/libw32/w32_gistrerror.c +++ b/mcwin32/libw32/w32_gistrerror.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_gistrerror_c,"$Id: w32_gistrerror.c,v 1.11 2023/09/17 13:04:57 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_gistrerror_c,"$Id: w32_gistrerror.c,v 1.12 2024/01/16 15:17:52 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 gi_strerror() * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_grp.c b/mcwin32/libw32/w32_grp.c index b79a3b9..0fe157f 100644 --- a/mcwin32/libw32/w32_grp.c +++ b/mcwin32/libw32/w32_grp.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_grp_c, "$Id: w32_grp.c,v 1.17 2023/11/06 15:07:42 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_grp_c, "$Id: w32_grp.c,v 1.18 2024/01/16 15:17:52 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 pwd() implementation * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. @@ -691,4 +691,4 @@ copy_group(const struct group *grp, struct group *dst, char *buffer, size_t bufs return 0; //success } -/*end*/ \ No newline at end of file +/*end*/ diff --git a/mcwin32/libw32/w32_ino.c b/mcwin32/libw32/w32_ino.c index 97fbd82..e8313a3 100644 --- a/mcwin32/libw32/w32_ino.c +++ b/mcwin32/libw32/w32_ino.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_ino_c,"$Id: w32_ino.c,v 1.13 2023/09/17 13:04:58 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_ino_c,"$Id: w32_ino.c,v 1.14 2024/01/16 15:17:52 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 ino implementation * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_io.c b/mcwin32/libw32/w32_io.c index 7681ffc..0e8f498 100644 --- a/mcwin32/libw32/w32_io.c +++ b/mcwin32/libw32/w32_io.c @@ -1,5 +1,5 @@ #include -__CIDENT_RCSID(gr_w32_io_c, "$Id: w32_io.c,v 1.32 2023/12/28 17:30:52 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_io_c, "$Id: w32_io.c,v 1.33 2024/01/16 15:17:52 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* @@ -7,7 +7,7 @@ __CIDENT_RCSID(gr_w32_io_c, "$Id: w32_io.c,v 1.32 2023/12/28 17:30:52 cvsuser Ex * * stat, lstat, fstat, readlink, symlink, open * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_itimer.c b/mcwin32/libw32/w32_itimer.c index a0fddd9..3f12b9b 100644 --- a/mcwin32/libw32/w32_itimer.c +++ b/mcwin32/libw32/w32_itimer.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_itimer_c,"$Id: w32_itimer.c,v 1.6 2023/09/17 13:04:58 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_itimer_c,"$Id: w32_itimer.c,v 1.7 2024/01/16 15:17:52 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 itimer system calls -- INCOMPLETE, signal interface required. * - * Copyright (c) 2018 - 2023, Adam Young. + * Copyright (c) 2018 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_langinfo.c b/mcwin32/libw32/w32_langinfo.c index 7824885..7d48193 100644 --- a/mcwin32/libw32/w32_langinfo.c +++ b/mcwin32/libw32/w32_langinfo.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_langinfo_c,"$Id: w32_langinfo.c,v 1.11 2023/12/28 17:30:52 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_langinfo_c,"$Id: w32_langinfo.c,v 1.12 2024/01/16 15:17:52 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 langinfo() implementation * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * * This file is part of the Midnight Commander. * diff --git a/mcwin32/libw32/w32_link.c b/mcwin32/libw32/w32_link.c index 2ce9586..0841e45 100644 --- a/mcwin32/libw32/w32_link.c +++ b/mcwin32/libw32/w32_link.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_link_c, "$Id: w32_link.c,v 1.15 2023/11/06 15:07:42 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_link_c, "$Id: w32_link.c,v 1.16 2024/01/16 15:17:52 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 link() system calls. * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_mknod.c b/mcwin32/libw32/w32_mknod.c index 3038b11..ab4b777 100644 --- a/mcwin32/libw32/w32_mknod.c +++ b/mcwin32/libw32/w32_mknod.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_mknod_c,"$Id: w32_mknod.c,v 1.13 2023/12/28 17:30:52 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_mknod_c,"$Id: w32_mknod.c,v 1.14 2024/01/16 15:17:52 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 mknod() system calls. * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_mkstemp.c b/mcwin32/libw32/w32_mkstemp.c index 6c3f1cb..8412df6 100644 --- a/mcwin32/libw32/w32_mkstemp.c +++ b/mcwin32/libw32/w32_mkstemp.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_mkstemp_c, "$Id: w32_mkstemp.c,v 1.16 2023/12/28 17:30:52 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_mkstemp_c, "$Id: w32_mkstemp.c,v 1.17 2024/01/16 15:17:52 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 mkstemp() implementation * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_mmap.c b/mcwin32/libw32/w32_mmap.c index 4423a2b..caf03ce 100644 --- a/mcwin32/libw32/w32_mmap.c +++ b/mcwin32/libw32/w32_mmap.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_mmap_c,"$Id: w32_mmap.c,v 1.13 2023/12/28 17:30:52 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_mmap_c,"$Id: w32_mmap.c,v 1.14 2024/01/16 15:17:52 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 mmap() system calls. * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_neterr.c b/mcwin32/libw32/w32_neterr.c index 281385d..d99eff4 100644 --- a/mcwin32/libw32/w32_neterr.c +++ b/mcwin32/libw32/w32_neterr.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_neterr_c,"$Id: w32_neterr.c,v 1.10 2023/12/28 17:30:52 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_neterr_c,"$Id: w32_neterr.c,v 1.11 2024/01/16 15:17:52 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 network errno mapping support * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_pipe.c b/mcwin32/libw32/w32_pipe.c index 0935901..6016895 100644 --- a/mcwin32/libw32/w32_pipe.c +++ b/mcwin32/libw32/w32_pipe.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_pipe_c,"$Id: w32_pipe.c,v 1.2 2023/09/17 13:04:58 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_pipe_c,"$Id: w32_pipe.c,v 1.3 2024/01/16 15:17:52 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 pipe() system calls, * - * Copyright (c) 2018 - 2023, Adam Young. + * Copyright (c) 2018 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_popen.c b/mcwin32/libw32/w32_popen.c index 141d6fb..f23d950 100644 --- a/mcwin32/libw32/w32_popen.c +++ b/mcwin32/libw32/w32_popen.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_popen_c,"$Id: w32_popen.c,v 1.14 2023/12/28 17:30:52 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_popen_c,"$Id: w32_popen.c,v 1.15 2024/01/16 15:17:52 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 popen implementation * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_proctitle.c b/mcwin32/libw32/w32_proctitle.c index 20764a5..1947067 100644 --- a/mcwin32/libw32/w32_proctitle.c +++ b/mcwin32/libw32/w32_proctitle.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_proctitle_c,"$Id: w32_proctitle.c,v 1.3 2023/11/06 15:07:42 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_proctitle_c,"$Id: w32_proctitle.c,v 1.4 2024/01/16 15:17:52 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 setproctitle * - * Copyright (c) 2020 - 2023, Adam Young. + * Copyright (c) 2020 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_progname.c b/mcwin32/libw32/w32_progname.c index 8e2bb2f..02ed51c 100644 --- a/mcwin32/libw32/w32_progname.c +++ b/mcwin32/libw32/w32_progname.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_progname_c,"$Id: w32_progname.c,v 1.10 2023/09/17 13:04:58 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_progname_c,"$Id: w32_progname.c,v 1.11 2024/01/16 15:17:52 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 set/getprogname * - * Copyright (c) 2016 - 2023, Adam Young. + * Copyright (c) 2016 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_pwd.c b/mcwin32/libw32/w32_pwd.c index 8fef057..f0f01bc 100644 --- a/mcwin32/libw32/w32_pwd.c +++ b/mcwin32/libw32/w32_pwd.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_pwd_c,"$Id: w32_pwd.c,v 1.18 2023/12/28 17:30:52 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_pwd_c,"$Id: w32_pwd.c,v 1.19 2024/01/16 15:17:52 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 pwd(2) implementation * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_read.c b/mcwin32/libw32/w32_read.c index 2272db0..60c1736 100644 --- a/mcwin32/libw32/w32_read.c +++ b/mcwin32/libw32/w32_read.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_read_c,"$Id: w32_read.c,v 1.12 2023/12/28 17:30:52 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_read_c,"$Id: w32_read.c,v 1.13 2024/01/16 15:17:52 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 read() system calls. * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_readv.c b/mcwin32/libw32/w32_readv.c index 0e7e5f2..bd89937 100644 --- a/mcwin32/libw32/w32_readv.c +++ b/mcwin32/libw32/w32_readv.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_readv_c,"$Id: w32_readv.c,v 1.5 2023/09/17 13:04:58 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_readv_c,"$Id: w32_readv.c,v 1.6 2024/01/16 15:17:52 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 readv() implementation * - * Copyright (c) 2018 - 2023, Adam Young. + * Copyright (c) 2018 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_realpath.c b/mcwin32/libw32/w32_realpath.c index ded8c7f..e4f00ea 100644 --- a/mcwin32/libw32/w32_realpath.c +++ b/mcwin32/libw32/w32_realpath.c @@ -1,5 +1,5 @@ #include -__CIDENT_RCSID(gr_w32_realpath_c, "$Id: w32_realpath.c,v 1.13 2023/12/28 17:30:52 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_realpath_c, "$Id: w32_realpath.c,v 1.14 2024/01/16 15:17:52 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* @@ -7,7 +7,7 @@ __CIDENT_RCSID(gr_w32_realpath_c, "$Id: w32_realpath.c,v 1.13 2023/12/28 17:30:5 * * realpath * - * Copyright (c) 2018 - 2023 Adam Young. + * Copyright (c) 2018 - 2024 Adam Young. * * This file is part of the Midnight Commander. * @@ -389,4 +389,4 @@ w32_realpathW(const wchar_t *path, wchar_t *resolved_path, size_t maxlen) return result; } -/*end*/ \ No newline at end of file +/*end*/ diff --git a/mcwin32/libw32/w32_rename.c b/mcwin32/libw32/w32_rename.c index c10ade4..85cd2dc 100644 --- a/mcwin32/libw32/w32_rename.c +++ b/mcwin32/libw32/w32_rename.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_rename_c,"$Id: w32_rename.c,v 1.6 2023/09/17 13:04:59 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_rename_c,"$Id: w32_rename.c,v 1.7 2024/01/16 15:17:52 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 rename() system calls. * - * Copyright (c) 2020 - 2023 Adam Young. + * Copyright (c) 2020 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_reparse.c b/mcwin32/libw32/w32_reparse.c index bd83cb5..1687a29 100644 --- a/mcwin32/libw32/w32_reparse.c +++ b/mcwin32/libw32/w32_reparse.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_reparse_c,"$Id: w32_reparse.c,v 1.16 2023/11/06 15:07:42 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_reparse_c,"$Id: w32_reparse.c,v 1.17 2024/01/16 15:17:52 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 directory support services * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * * This file is part of the Midnight Commander. * diff --git a/mcwin32/libw32/w32_select.c b/mcwin32/libw32/w32_select.c index d10c328..37a255c 100644 --- a/mcwin32/libw32/w32_select.c +++ b/mcwin32/libw32/w32_select.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_select_c,"$Id: w32_select.c,v 1.14 2023/12/28 17:30:52 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_select_c,"$Id: w32_select.c,v 1.15 2024/01/16 15:17:52 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * Windows 'select' compat interface * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_setrlimit.c b/mcwin32/libw32/w32_setrlimit.c index d74a250..2704d8e 100644 --- a/mcwin32/libw32/w32_setrlimit.c +++ b/mcwin32/libw32/w32_setrlimit.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_setrlimit_c,"$Id: w32_setrlimit.c,v 1.3 2023/11/06 15:07:42 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_setrlimit_c,"$Id: w32_setrlimit.c,v 1.4 2024/01/16 15:17:52 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 setrlimit() system calls * - * Copyright (c) 2020 - 2023, Adam Young. + * Copyright (c) 2020 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_shell.c b/mcwin32/libw32/w32_shell.c index 27649e1..00c8caa 100644 --- a/mcwin32/libw32/w32_shell.c +++ b/mcwin32/libw32/w32_shell.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_shell_c,"$Id: w32_shell.c,v 1.18 2023/12/28 17:30:52 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_shell_c,"$Id: w32_shell.c,v 1.19 2024/01/16 15:17:52 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 shell and sub-process support * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_signal.c b/mcwin32/libw32/w32_signal.c index b04e5f8..77df3e1 100644 --- a/mcwin32/libw32/w32_signal.c +++ b/mcwin32/libw32/w32_signal.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_signal_c,"$Id: w32_signal.c,v 1.12 2023/12/28 17:30:52 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_signal_c,"$Id: w32_signal.c,v 1.13 2024/01/16 15:17:52 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 signal support * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_slang.c b/mcwin32/libw32/w32_slang.c index 700b8be..b3e30eb 100644 --- a/mcwin32/libw32/w32_slang.c +++ b/mcwin32/libw32/w32_slang.c @@ -2,7 +2,7 @@ /* * win32 Slang Screen Management (SLsmg) function emulation. * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * * This file is part of the Midnight Commander. * diff --git a/mcwin32/libw32/w32_sockbase.c b/mcwin32/libw32/w32_sockbase.c index 7ee09ca..99d6180 100644 --- a/mcwin32/libw32/w32_sockbase.c +++ b/mcwin32/libw32/w32_sockbase.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_sockbase_c,"$Id: w32_sockbase.c,v 1.10 2023/12/28 17:30:52 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_sockbase_c,"$Id: w32_sockbase.c,v 1.11 2024/01/16 15:17:52 cvsuser Exp $") /* * win32 socket () system calls * Base functionality. * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * * This file is part of the Midnight Commander. * diff --git a/mcwin32/libw32/w32_socket.c b/mcwin32/libw32/w32_socket.c index a62495d..66e961c 100644 --- a/mcwin32/libw32/w32_socket.c +++ b/mcwin32/libw32/w32_socket.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_socket_c,"$Id: w32_socket.c,v 1.17 2023/09/17 13:04:59 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_socket_c,"$Id: w32_socket.c,v 1.18 2024/01/16 15:17:52 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 socket () system calls * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_socket2.c b/mcwin32/libw32/w32_socket2.c index 3eefbfb..4717084 100644 --- a/mcwin32/libw32/w32_socket2.c +++ b/mcwin32/libw32/w32_socket2.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_socket2_c,"$Id: w32_socket2.c,v 1.13 2023/09/17 13:04:59 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_socket2_c,"$Id: w32_socket2.c,v 1.14 2024/01/16 15:17:52 cvsuser Exp $") /* * win32 socket () system calls * Light weight replacement functions, which maintain the global errno. * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * * This file is part of the Midnight Commander. * diff --git a/mcwin32/libw32/w32_sockfd.c b/mcwin32/libw32/w32_sockfd.c index 92b90d1..98ab779 100644 --- a/mcwin32/libw32/w32_sockfd.c +++ b/mcwin32/libw32/w32_sockfd.c @@ -1,10 +1,10 @@ #include -__CIDENT_RCSID(gr_w32_sockfd_c,"$Id: w32_sockfd.c,v 1.12 2023/09/17 13:04:59 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_sockfd_c,"$Id: w32_sockfd.c,v 1.13 2024/01/16 15:17:52 cvsuser Exp $") /* * win32 socket file-descriptor support * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * * This file is part of the Midnight Commander. * diff --git a/mcwin32/libw32/w32_sockpair.c b/mcwin32/libw32/w32_sockpair.c index fb34a89..44f07b8 100644 --- a/mcwin32/libw32/w32_sockpair.c +++ b/mcwin32/libw32/w32_sockpair.c @@ -1,10 +1,10 @@ #include -__CIDENT_RCSID(gr_w32_sockpair_c,"$Id: w32_sockpair.c,v 1.12 2023/11/06 15:07:42 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_sockpair_c,"$Id: w32_sockpair.c,v 1.13 2024/01/16 15:17:52 cvsuser Exp $") /* * win32 socket file-descriptor support * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * * This file is part of the Midnight Commander. * diff --git a/mcwin32/libw32/w32_statfs.c b/mcwin32/libw32/w32_statfs.c index e5b5f2a..9b312d6 100644 --- a/mcwin32/libw32/w32_statfs.c +++ b/mcwin32/libw32/w32_statfs.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_statfs_c,"$Id: w32_statfs.c,v 1.15 2023/12/28 17:30:52 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_statfs_c,"$Id: w32_statfs.c,v 1.16 2024/01/16 15:17:52 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 statfs()/statvfs() and getmntinfo() system calls. * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_string.c b/mcwin32/libw32/w32_string.c index 401055c..3a1013c 100644 --- a/mcwin32/libw32/w32_string.c +++ b/mcwin32/libw32/w32_string.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_string_c,"$Id: w32_string.c,v 1.11 2023/12/28 17:30:52 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_string_c,"$Id: w32_string.c,v 1.12 2024/01/16 15:17:52 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 string functionality * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_sysconf.c b/mcwin32/libw32/w32_sysconf.c index 033bb2e..5aac0a6 100644 --- a/mcwin32/libw32/w32_sysconf.c +++ b/mcwin32/libw32/w32_sysconf.c @@ -1,5 +1,5 @@ #include -__CIDENT_RCSID(gr_w32_sysconf_c,"$Id: w32_sysconf.c,v 1.1 2024/01/01 15:25:01 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_sysconf_c,"$Id: w32_sysconf.c,v 1.2 2024/01/16 15:17:52 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* @@ -109,4 +109,4 @@ sysconf(int name) return -1; } -//end \ No newline at end of file +//end diff --git a/mcwin32/libw32/w32_sysdir.c b/mcwin32/libw32/w32_sysdir.c index 87f6c96..d9cdcc8 100644 --- a/mcwin32/libw32/w32_sysdir.c +++ b/mcwin32/libw32/w32_sysdir.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_sysdir_c,"$Id: w32_sysdir.c,v 1.11 2023/09/17 13:04:59 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_sysdir_c,"$Id: w32_sysdir.c,v 1.12 2024/01/16 15:17:52 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 interface support * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * * This file is part of the Midnight Commander. * diff --git a/mcwin32/libw32/w32_time.c b/mcwin32/libw32/w32_time.c index e866b6a..ff89ecf 100644 --- a/mcwin32/libw32/w32_time.c +++ b/mcwin32/libw32/w32_time.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_time_c,"$Id: w32_time.c,v 1.16 2023/09/17 13:04:59 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_time_c,"$Id: w32_time.c,v 1.17 2024/01/16 15:17:52 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 time system calls. * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_truncate.c b/mcwin32/libw32/w32_truncate.c index cf6e268..6f34300 100644 --- a/mcwin32/libw32/w32_truncate.c +++ b/mcwin32/libw32/w32_truncate.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_truncate_c,"$Id: w32_truncate.c,v 1.11 2023/09/17 13:05:00 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_truncate_c,"$Id: w32_truncate.c,v 1.12 2024/01/16 15:17:52 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 ftruncate()/truncate() system calls. * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_unlink.c b/mcwin32/libw32/w32_unlink.c index db64e60..e188f93 100644 --- a/mcwin32/libw32/w32_unlink.c +++ b/mcwin32/libw32/w32_unlink.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_unlink_c,"$Id: w32_unlink.c,v 1.13 2023/09/17 13:05:00 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_unlink_c,"$Id: w32_unlink.c,v 1.14 2024/01/16 15:17:52 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 unlink() system call. * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_user.c b/mcwin32/libw32/w32_user.c index 838cac1..ad7d0fb 100644 --- a/mcwin32/libw32/w32_user.c +++ b/mcwin32/libw32/w32_user.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_user_c,"$Id: w32_user.c,v 1.19 2023/11/06 15:07:42 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_user_c,"$Id: w32_user.c,v 1.20 2024/01/16 15:17:52 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 user identification functionality * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_util.c b/mcwin32/libw32/w32_util.c index f10c804..df4b298 100644 --- a/mcwin32/libw32/w32_util.c +++ b/mcwin32/libw32/w32_util.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_util_c,"$Id: w32_util.c,v 1.19 2023/11/06 15:07:42 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_util_c,"$Id: w32_util.c,v 1.20 2024/01/16 15:17:52 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 util unix functionality. * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_wdirent.c b/mcwin32/libw32/w32_wdirent.c index 26557ef..d4a0fab 100644 --- a/mcwin32/libw32/w32_wdirent.c +++ b/mcwin32/libw32/w32_wdirent.c @@ -1,5 +1,5 @@ #include -__CIDENT_RCSID(gr_w32_wdirent_c,"$Id: w32_wdirent.c,v 1.7 2023/11/06 15:07:43 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_wdirent_c,"$Id: w32_wdirent.c,v 1.8 2024/01/16 15:17:52 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* @@ -7,7 +7,7 @@ __CIDENT_RCSID(gr_w32_wdirent_c,"$Id: w32_wdirent.c,v 1.7 2023/11/06 15:07:43 cv * * _wopendir, _wclosedir, _wreaddir, _wseekdir, _wrewindir, _wtelldir * - * Copyright (c) 2021 - 2023 Adam Young. + * Copyright (c) 2021 - 2024 Adam Young. * * This file is part of the Midnight Commander. * diff --git a/mcwin32/libw32/w32_write.c b/mcwin32/libw32/w32_write.c index 3fbf955..ba3ade4 100644 --- a/mcwin32/libw32/w32_write.c +++ b/mcwin32/libw32/w32_write.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_write_c,"$Id: w32_write.c,v 1.15 2023/12/28 17:30:53 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_write_c,"$Id: w32_write.c,v 1.16 2024/01/16 15:17:52 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 write() system calls. * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_writev.c b/mcwin32/libw32/w32_writev.c index 9163070..ddf41d8 100644 --- a/mcwin32/libw32/w32_writev.c +++ b/mcwin32/libw32/w32_writev.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_writev_c,"$Id: w32_writev.c,v 1.5 2023/09/17 13:05:00 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_writev_c,"$Id: w32_writev.c,v 1.6 2024/01/16 15:17:52 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 writev() system calls, * - * Copyright (c) 2018 - 2023, Adam Young. + * Copyright (c) 2018 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/win32_cdef.h b/mcwin32/libw32/win32_cdef.h index 230b00b..c4e95b8 100644 --- a/mcwin32/libw32/win32_cdef.h +++ b/mcwin32/libw32/win32_cdef.h @@ -4,7 +4,7 @@ /* * internal definitions * - * Copyright (c) 2016 - 2023 Adam Young. + * Copyright (c) 2016 - 2024 Adam Young. * * This file is part of the Midnight Commander. * diff --git a/mcwin32/libw32/win32_child.h b/mcwin32/libw32/win32_child.h index e4c4c8b..d60ae80 100644 --- a/mcwin32/libw32/win32_child.h +++ b/mcwin32/libw32/win32_child.h @@ -1,14 +1,14 @@ #ifndef LIBW32_WIN32_CHILD_H_INCLUDED #define LIBW32_WIN32_CHILD_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_win32_child_h,"$Id: win32_child.h,v 1.13 2023/09/17 13:05:00 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_win32_child_h,"$Id: win32_child.h,v 1.14 2024/01/16 15:17:52 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* * child process support * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/win32_direct.h b/mcwin32/libw32/win32_direct.h index 0519eb9..5168895 100644 --- a/mcwin32/libw32/win32_direct.h +++ b/mcwin32/libw32/win32_direct.h @@ -3,7 +3,7 @@ /* -*- mode: c; indent-width: 4; -*- */ /* - * Copyright (c) 2021 - 2023, Adam Young. + * Copyright (c) 2021 - 2024, Adam Young. * * This file is part of the Midnight Commander. * diff --git a/mcwin32/libw32/win32_errno.h b/mcwin32/libw32/win32_errno.h index ccf2764..926aa6f 100644 --- a/mcwin32/libw32/win32_errno.h +++ b/mcwin32/libw32/win32_errno.h @@ -1,14 +1,14 @@ #ifndef LIBW32_WIN32_ERRNO_H_INCLUDED #define LIBW32_WIN32_ERRNO_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_win32_errno_h,"$Id: win32_errno.h,v 1.12 2023/12/28 17:30:53 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_win32_errno_h,"$Id: win32_errno.h,v 1.13 2024/01/16 15:17:52 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* * * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * * This file is part of the Midnight Commander. * diff --git a/mcwin32/libw32/win32_iconv.h b/mcwin32/libw32/win32_iconv.h index 3bb9dab..910f03d 100644 --- a/mcwin32/libw32/win32_iconv.h +++ b/mcwin32/libw32/win32_iconv.h @@ -1,14 +1,14 @@ #ifndef LIBW32_WIN32_ICONV_H_INCLUDED #define LIBW32_WIN32_ICONV_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_win32_iconv_h,"$Id: win32_iconv.h,v 1.9 2023/09/17 13:05:00 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_win32_iconv_h,"$Id: win32_iconv.h,v 1.10 2024/01/16 15:17:52 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* * win32 iconv dynamic loader. * - * Copyright (c) 2007, 2012 - 2023, Adam Young. + * Copyright (c) 2007, 2012 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/win32_include.h b/mcwin32/libw32/win32_include.h index d6eb28f..d3baf68 100644 --- a/mcwin32/libw32/win32_include.h +++ b/mcwin32/libw32/win32_include.h @@ -1,14 +1,14 @@ #ifndef LIBW32_WIN32_INCLUDE_H_INCLUDED #define LIBW32_WIN32_INCLUDE_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_win32_include_h,"$Id: win32_include.h,v 1.12 2023/09/17 13:05:00 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_win32_include_h,"$Id: win32_include.h,v 1.13 2024/01/16 15:17:52 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* * winsock2.h and windows.h include guard * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/win32_internal.h b/mcwin32/libw32/win32_internal.h index 92fafe3..5a9c48b 100644 --- a/mcwin32/libw32/win32_internal.h +++ b/mcwin32/libw32/win32_internal.h @@ -1,14 +1,14 @@ #ifndef LIBW32_WIN32_INTERNAL_H_INCLUDED #define LIBW32_WIN32_INTERNAL_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_win32_internal_h,"$Id: win32_internal.h,v 1.26 2023/11/06 15:07:43 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_win32_internal_h,"$Id: win32_internal.h,v 1.27 2024/01/16 15:17:52 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* * internal definitions * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/win32_io.h b/mcwin32/libw32/win32_io.h index 716154f..5d8cdfb 100644 --- a/mcwin32/libw32/win32_io.h +++ b/mcwin32/libw32/win32_io.h @@ -1,14 +1,14 @@ #ifndef LIBW32_WIN32_IO_H_INCLUDED #define LIBW32_WIN32_IO_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_win32_io_h,"$Id: win32_io.h,v 1.26 2023/11/06 15:07:43 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_win32_io_h,"$Id: win32_io.h,v 1.27 2024/01/16 15:17:52 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* * win32 io functionality. * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/mc.rc b/mcwin32/mc.rc index b3ff5f0..1b14526 100644 --- a/mcwin32/mc.rc +++ b/mcwin32/mc.rc @@ -78,7 +78,7 @@ VS_VERSION_INFO VERSIONINFO VALUE "InternalName", "WIN32 Midnight Commander" VALUE "LegalCopyright", - "Copyright (C) 2012 - 2023, Adam Young. All rights reserved. \n" + "Copyright (C) 2012 - 2024, Adam Young. All rights reserved. \n" "Copyright (C) 1994 - 2022, Free Software Foundation, and others. \n" "Copyright (C) 1990, 1993, The Regents of the University of California. \n" "Licensed under GNU General Public License version 3.0. \n" diff --git a/mcwin32/releases/README.txt b/mcwin32/releases/README.txt index 9f7f5c9..9a4d026 100644 --- a/mcwin32/releases/README.txt +++ b/mcwin32/releases/README.txt @@ -14,7 +14,7 @@ the current 4.8.x development stream. - mbedtls 3.4.1 - enca 1.19 - file 5.45 - - zlib 1.2.13 + - zlib 1.3 4.8.29 228 (mc merge 4.8.29) diff --git a/mcwin32/support/updateyear.pl b/mcwin32/support/updateyear.pl index efe25b8..c911541 100644 --- a/mcwin32/support/updateyear.pl +++ b/mcwin32/support/updateyear.pl @@ -151,8 +151,15 @@ chomp(); chomp(); if ($result < 0) { if (/Copyright \(C\) 20/i) { + s/- 2023/- 2024/; + s/-2023/-2024/; s/-2022/-2023/; $result = scalar @lines; + + } elsif (/Copyright \(C\) 19/i) { + s/- 2023/- 2024/; + s/- 2022/- 2024/; + $result = scalar @lines; } } push @lines, $_."\n"; From d48eb9d7ec4276b624d800b72af070475a1c827d Mon Sep 17 00:00:00 2001 From: adamyg Date: Sun, 21 Jan 2024 18:39:16 +0800 Subject: [PATCH 02/47] 2024 --- mcwin32/libw32/win32_ioctl.h | 4 ++-- mcwin32/libw32/win32_misc.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/mcwin32/libw32/win32_ioctl.h b/mcwin32/libw32/win32_ioctl.h index bf4139e..d9b010c 100644 --- a/mcwin32/libw32/win32_ioctl.h +++ b/mcwin32/libw32/win32_ioctl.h @@ -1,14 +1,14 @@ #ifndef LIBW32_WIN32_IOCTL_H_INCLUDED #define LIBW32_WIN32_IOCTL_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_win32_ioctl_h,"$Id: win32_ioctl.h,v 1.6 2023/09/17 13:05:00 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_win32_ioctl_h,"$Id: win32_ioctl.h,v 1.7 2024/01/16 15:17:52 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* * win32 ioctl support. * - * Copyright (c) 2018 - 2023, Adam Young. + * Copyright (c) 2018 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/win32_misc.h b/mcwin32/libw32/win32_misc.h index 6027e4d..bb41596 100644 --- a/mcwin32/libw32/win32_misc.h +++ b/mcwin32/libw32/win32_misc.h @@ -1,14 +1,14 @@ #ifndef LIBW32_WIN32_MISC_H_INCLUDED #define LIBW32_WIN32_MISC_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_win32_misc_h,"$Id: win32_misc.h,v 1.15 2023/11/06 15:07:43 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_win32_misc_h,"$Id: win32_misc.h,v 1.16 2024/01/16 15:17:52 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* * win32 public interface * - * Copyright (c) 2007, 2012 - 2023 Adam Young. + * Copyright (c) 2007, 2012 - 2024 Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. From a9f53bdf34dbb9ca404f77375c7eb09ff1870976 Mon Sep 17 00:00:00 2001 From: adamyg Date: Sat, 27 Jan 2024 16:21:58 +0800 Subject: [PATCH 03/47] 2024 --- mcwin32/libintl/src/gettext.c | 30 ++++++++++++++++++++++++------ mcwin32/libregex/.gitignore | 3 +++ mcwin32/libw32/termemu_vio.c | 8 ++++++-- mcwin32/libw32/unicode_cp437.h | 1 - mcwin32/libw32/w32_iconv_native.c | 2 +- mcwin32/src/drive.c | 2 +- mcwin32/src/win32_glib.c | 2 +- mcwin32/src/win32_key.c | 6 +++--- mcwin32/src/win32_pipe.c | 2 +- mcwin32/src/win32_tty.c | 3 +-- mcwin32/src/win32_utl.c | 2 +- mcwin32/src/win32_win.c | 2 +- 12 files changed, 43 insertions(+), 20 deletions(-) diff --git a/mcwin32/libintl/src/gettext.c b/mcwin32/libintl/src/gettext.c index b8ec0fe..0c87711 100644 --- a/mcwin32/libintl/src/gettext.c +++ b/mcwin32/libintl/src/gettext.c @@ -823,6 +823,9 @@ lookup(const char *msgid, struct domainbinding *db, size_t *rlen) static const char * get_lang_env(const char *category_name) { +#if defined(_WIN32) + char winlocale[64] = {0}; +#endif const char *lang; /* @@ -848,12 +851,27 @@ get_lang_env(const char *category_name) #if defined(_WIN32) if (!lang) - { static char ISO639_LanguageName[32]; //FIXME: tls - - ISO639_LanguageName[0] = 0; - if (GetLocaleInfoA(GetUserDefaultLCID(), LOCALE_SISO639LANGNAME, - ISO639_LanguageName, sizeof(ISO639_LanguageName)) && ISO639_LanguageName[0]) { - lang = ISO639_LanguageName; + { + char iso639[16] = {0}, iso3166[16] = {0}; + const char *isocs = NULL; // TODO (GetACP() to codeset) + const LCID lcid = GetThreadLocale(); // Active application locale. + + if (GetLocaleInfoA(lcid, LOCALE_SISO639LANGNAME, iso639, sizeof(iso639))) { + if (GetLocaleInfoA(lcid, LOCALE_SISO3166CTRYNAME, iso3166, sizeof(iso3166)) && iso3166[0]) { + if (isocs) { + snprintf(winlocale, sizeof(winlocale), "%s_%s.%s", iso639, iso3166, isocs); // language_territory.codeset + } else { + snprintf(winlocale, sizeof(winlocale), "%s_%s", iso639, iso3166); // language_territory + } + } else { + if (isocs) { + snprintf(winlocale, sizeof(winlocale), "%s.%s", iso639, isocs); // language.codeset + } else { + snprintf(winlocale, sizeof(winlocale), "%s", iso639); // language + } + } + winlocale[sizeof(winlocale) - 1] = '\0'; + lang = winlocale; } } #endif //WIN32 diff --git a/mcwin32/libregex/.gitignore b/mcwin32/libregex/.gitignore index d718f17..7b02c6d 100644 --- a/mcwin32/libregex/.gitignore +++ b/mcwin32/libregex/.gitignore @@ -1,3 +1,6 @@ +test/ +old/ +new/ Makefile *.err diff --git a/mcwin32/libw32/termemu_vio.c b/mcwin32/libw32/termemu_vio.c index 4531e3b..12f3b10 100644 --- a/mcwin32/libw32/termemu_vio.c +++ b/mcwin32/libw32/termemu_vio.c @@ -2560,7 +2560,11 @@ consolefontcreate(int height, int width, int weight, int italic, const char *fac const BOOL isTerminal = // special terminal/raster support. (0 == strcmp(facename, "Terminal")); - HFONT hFont = CreateFontA( + wchar_t wfacename[64] = {0}; + for (unsigned i = 0; i < (_countof(wfacename)-1) && facename[i]; ++i) + wfacename[i] = (wchar_t)(facename[i]); + + HFONT hFont = CreateFontW( height, width - // logic (device dependent pixels) height and width. (italic ? 3 : (FW_BOLD == weight ? 1 : 0)), 0, 0, weight, @@ -2576,7 +2580,7 @@ consolefontcreate(int height, int width, int weight, int italic, const char *fac CLIP_DEFAULT_PRECIS, // default clipping behavior. (italic ? PROOF_QUALITY : ANTIALIASED_QUALITY), FIXED_PITCH | FF_MODERN, // DECORATIVE, DONTCARE, MODERN, ROMAN, SCRIPT, SWISS - facename); + wfacename); TRACE_LOG(("Create Font: <%s> %dx%d, Weight:%d, Italic:%d (%p)\n", \ facename, width, height, weight, italic, hFont)) diff --git a/mcwin32/libw32/unicode_cp437.h b/mcwin32/libw32/unicode_cp437.h index 0aabc7b..dc72d1b 100644 --- a/mcwin32/libw32/unicode_cp437.h +++ b/mcwin32/libw32/unicode_cp437.h @@ -196,4 +196,3 @@ unicode_cp437[] = { }; #endif //UNICODE_CP437_H_INCLUDED - diff --git a/mcwin32/libw32/w32_iconv_native.c b/mcwin32/libw32/w32_iconv_native.c index a8da67d..19a4599 100644 --- a/mcwin32/libw32/w32_iconv_native.c +++ b/mcwin32/libw32/w32_iconv_native.c @@ -124,7 +124,7 @@ static int iso2022jp_mbtowc(csconv_t *cv, const uchar *buf, int bufsize, ushort static int iso2022jp_wctomb(csconv_t *cv, ushort *wbuf, int wbufsize, uchar *buf, int bufsize); static int iso2022jp_flush(csconv_t *cv, uchar *buf, int bufsize); -static struct { +static const struct { int codepage; const char *name; } codepage_alias[] = { diff --git a/mcwin32/src/drive.c b/mcwin32/src/drive.c index 363a886..97c0e06 100644 --- a/mcwin32/src/drive.c +++ b/mcwin32/src/drive.c @@ -11,7 +11,7 @@ Copyright (C) 2012 The Free Software Foundation, Inc. - Written by: Adam Young 2012 - 2023 + Written by: Adam Young 2012 - 2024 This file is part of the Midnight Commander. diff --git a/mcwin32/src/win32_glib.c b/mcwin32/src/win32_glib.c index 7c71f0e..e6b92be 100644 --- a/mcwin32/src/win32_glib.c +++ b/mcwin32/src/win32_glib.c @@ -17,7 +17,7 @@ Copyright (C) 2012 The Free Software Foundation, Inc. - Written by: Adam Young 2012 - 2023 + Written by: Adam Young 2012 - 2024 This file is part of the Midnight Commander. diff --git a/mcwin32/src/win32_key.c b/mcwin32/src/win32_key.c index 1bddcb4..3362ed4 100644 --- a/mcwin32/src/win32_key.c +++ b/mcwin32/src/win32_key.c @@ -36,7 +36,7 @@ void enable_bracketed_paste (void); void disable_bracketed_paste (void); - Written by: Adam Young 2012 - 2023 + Written by: Adam Young 2012 - 2024 This file is part of the Midnight Commander. @@ -1204,7 +1204,7 @@ key_esc_special(void) DWORD count = 0; if (WaitForSingleObject(hConsoleIn, timeoutms) == WAIT_OBJECT_0 && - PeekConsoleInput(hConsoleIn, &ir, 1, &count) && 1 == count) { + PeekConsoleInputW(hConsoleIn, &ir, 1, &count) && 1 == count) { if (KEY_EVENT == ir.EventType) { const KEY_EVENT_RECORD *key = &ir.Event.KeyEvent; @@ -1464,7 +1464,7 @@ is_idle (void) INPUT_RECORD k; while (hConsoleIn && WaitForSingleObject(hConsoleIn, 0 /*NONBLOCKING*/) == WAIT_OBJECT_0 && - PeekConsoleInput(hConsoleIn, &k, 1, &count) && count == 1) { + PeekConsoleInputW(hConsoleIn, &k, 1, &count) && count == 1) { if (KEY_EVENT == k.EventType) { if (!k.Event.KeyEvent.bKeyDown) { // diff --git a/mcwin32/src/win32_pipe.c b/mcwin32/src/win32_pipe.c index a857a31..1e3ffe4 100644 --- a/mcwin32/src/win32_pipe.c +++ b/mcwin32/src/win32_pipe.c @@ -6,7 +6,7 @@ mc_pread mc_pclose - Written by: Adam Young 2015 - 2023 + Written by: Adam Young 2015 - 2024 The Midnight Commander is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as diff --git a/mcwin32/src/win32_tty.c b/mcwin32/src/win32_tty.c index 2805cf5..302a08e 100644 --- a/mcwin32/src/win32_tty.c +++ b/mcwin32/src/win32_tty.c @@ -5,7 +5,7 @@ Copyright (C) 2012 The Free Software Foundation, Inc. - Written by: Adam Young 2012 - 2023 + Written by: Adam Young 2012 - 2024 This file is part of the Midnight Commander. @@ -540,4 +540,3 @@ tty_destroy_winch_pipe (void) } /*end*/ - diff --git a/mcwin32/src/win32_utl.c b/mcwin32/src/win32_utl.c index 69ab060..6a7ea80 100644 --- a/mcwin32/src/win32_utl.c +++ b/mcwin32/src/win32_utl.c @@ -21,7 +21,7 @@ Copyright (C) 2012 The Free Software Foundation, Inc. - Written by: Adam Young 2012 - 2023 + Written by: Adam Young 2012 - 2024 Portions sourced from lib/utilunix.c, see for additional information. diff --git a/mcwin32/src/win32_win.c b/mcwin32/src/win32_win.c index 3cab3ac..a9edb77 100644 --- a/mcwin32/src/win32_win.c +++ b/mcwin32/src/win32_win.c @@ -10,7 +10,7 @@ Copyright (C) 2012 The Free Software Foundation, Inc. - Written by: Adam Young 2012 - 2023 + Written by: Adam Young 2012 - 2024 This file is part of the Midnight Commander. From 91e9510351c5436669f3c1ac3cd3abd76c266b1b Mon Sep 17 00:00:00 2001 From: adamyg Date: Fri, 16 Feb 2024 00:52:57 +0800 Subject: [PATCH 04/47] merge 4.8.31 --- mcsrc/configure.ac | 4 +- mcsrc/doc/FAQ | 2 +- mcsrc/doc/HACKING | 2 +- mcsrc/doc/INSTALL | 10 +- mcsrc/doc/NEWS | 33 + mcsrc/doc/README | 2 +- mcsrc/doc/TODO | 4 +- mcsrc/doc/hints/l10n/mc.hint.be | 16 +- mcsrc/doc/hints/l10n/mc.hint.ko | 6 +- mcsrc/doc/man/es/mc.1.in | 4 +- mcsrc/doc/man/hu/mc.1.in | 2 +- mcsrc/doc/man/it/mc.1.in | 2 +- mcsrc/doc/man/mc.1.in | 13 +- mcsrc/doc/man/pl/mc.1.in | 4 +- mcsrc/doc/man/ru/mc.1.in | 134 ++-- mcsrc/doc/man/sr/mc.1.in | 2 +- mcsrc/lib/charsets.c | 3 +- mcsrc/lib/event/event.c | 2 +- mcsrc/lib/event/manage.c | 2 +- mcsrc/lib/event/raise.c | 2 +- mcsrc/lib/filehighlight/common.c | 2 +- mcsrc/lib/filehighlight/get-color.c | 2 +- mcsrc/lib/filehighlight/ini-file-read.c | 2 +- mcsrc/lib/fileloc.h | 34 +- mcsrc/lib/glibcompat.c | 58 +- mcsrc/lib/glibcompat.h | 8 +- mcsrc/lib/global.c | 2 +- mcsrc/lib/hook.c | 2 +- mcsrc/lib/keybind.c | 6 +- mcsrc/lib/keybind.h | 4 +- mcsrc/lib/lock.c | 2 +- mcsrc/lib/logging.c | 2 +- mcsrc/lib/mcconfig.h | 2 + mcsrc/lib/mcconfig/common.c | 2 +- mcsrc/lib/mcconfig/get.c | 2 +- mcsrc/lib/mcconfig/history.c | 38 +- mcsrc/lib/mcconfig/paths.c | 4 +- mcsrc/lib/mcconfig/set.c | 2 +- mcsrc/lib/search/glob.c | 2 +- mcsrc/lib/search/hex.c | 2 +- mcsrc/lib/search/lib.c | 2 +- mcsrc/lib/search/normal.c | 2 +- mcsrc/lib/search/regex.c | 9 +- mcsrc/lib/search/search.c | 2 +- mcsrc/lib/serialize.c | 2 +- mcsrc/lib/shell.c | 4 +- mcsrc/lib/skin.h | 39 +- mcsrc/lib/skin/colors-old.c | 3 +- mcsrc/lib/skin/colors.c | 52 +- mcsrc/lib/skin/common.c | 12 +- mcsrc/lib/skin/hc-skins.c | 2 +- mcsrc/lib/skin/ini-file.c | 2 +- mcsrc/lib/skin/internal.h | 8 - mcsrc/lib/skin/lines.c | 54 +- mcsrc/lib/strutil/filevercmp.c | 2 +- mcsrc/lib/strutil/replace.c | 2 +- mcsrc/lib/strutil/strescape.c | 2 +- mcsrc/lib/strutil/strutil.c | 2 +- mcsrc/lib/strutil/strutil8bit.c | 18 +- mcsrc/lib/strutil/strutilascii.c | 2 +- mcsrc/lib/strutil/strutilutf8.c | 12 +- mcsrc/lib/strutil/strverscmp.c | 2 +- mcsrc/lib/strutil/xstrtol.c | 2 +- mcsrc/lib/timefmt.c | 2 +- mcsrc/lib/tty/color-internal.c | 6 +- mcsrc/lib/tty/color-internal.h | 11 +- mcsrc/lib/tty/color-ncurses.c | 14 +- mcsrc/lib/tty/color-slang.c | 14 +- mcsrc/lib/tty/color.c | 109 ++- mcsrc/lib/tty/color.h | 18 +- mcsrc/lib/tty/key.c | 36 +- mcsrc/lib/tty/key.h | 10 +- mcsrc/lib/tty/keyxdef.c | 2 +- mcsrc/lib/tty/mouse.c | 2 +- mcsrc/lib/tty/tty-internal.c | 2 +- mcsrc/lib/tty/tty-ncurses.c | 2 +- mcsrc/lib/tty/tty-slang.c | 2 +- mcsrc/lib/tty/tty.c | 2 +- mcsrc/lib/tty/win.c | 2 +- mcsrc/lib/tty/x11conn.c | 2 +- mcsrc/lib/util.c | 21 +- mcsrc/lib/util.h | 1 + mcsrc/lib/utilunix.c | 2 +- mcsrc/lib/vfs/direntry.c | 2 +- mcsrc/lib/vfs/gc.c | 2 +- mcsrc/lib/vfs/interface.c | 2 +- mcsrc/lib/vfs/netutil.c | 2 +- mcsrc/lib/vfs/parse_ls_vga.c | 4 +- mcsrc/lib/vfs/path.c | 30 +- mcsrc/lib/vfs/utilvfs.c | 13 +- mcsrc/lib/vfs/vfs.c | 6 +- mcsrc/lib/vfs/vfs.h | 4 +- mcsrc/lib/vfs/xdirentry.h | 2 +- mcsrc/lib/widget/background.c | 2 +- mcsrc/lib/widget/button.c | 2 +- mcsrc/lib/widget/buttonbar.c | 2 +- mcsrc/lib/widget/check.c | 2 +- mcsrc/lib/widget/dialog-switch.c | 2 +- mcsrc/lib/widget/dialog.c | 21 +- mcsrc/lib/widget/frame.c | 2 +- mcsrc/lib/widget/gauge.c | 2 +- mcsrc/lib/widget/group.c | 2 +- mcsrc/lib/widget/groupbox.c | 2 +- mcsrc/lib/widget/history.c | 2 +- mcsrc/lib/widget/hline.c | 2 +- mcsrc/lib/widget/input.c | 2 +- mcsrc/lib/widget/input_complete.c | 7 +- mcsrc/lib/widget/label.c | 2 +- mcsrc/lib/widget/listbox-window.c | 2 +- mcsrc/lib/widget/listbox.c | 2 +- mcsrc/lib/widget/menu.c | 33 +- mcsrc/lib/widget/mouse.c | 2 +- mcsrc/lib/widget/quick.c | 2 +- mcsrc/lib/widget/radio.c | 2 +- mcsrc/lib/widget/rect.c | 2 +- mcsrc/lib/widget/widget-common.c | 2 +- mcsrc/lib/widget/wtools.c | 2 +- mcsrc/m4.include/mc-ext2fs-attr.m4 | 3 +- mcsrc/m4.include/mc-glib.m4 | 8 +- mcsrc/m4.include/mc-vfs.m4 | 6 +- mcsrc/m4.include/vfs/mc-vfs-shell.m4 | 12 + mcsrc/maint/utils/update-years.sh | 7 +- mcsrc/misc/ext.d/archive.sh | 14 + mcsrc/misc/ext.d/image.sh | 15 +- mcsrc/misc/ext.d/text.sh.in | 7 +- mcsrc/misc/filehighlight.ini | 2 +- mcsrc/misc/mc.default.keymap | 7 +- mcsrc/misc/mc.emacs.keymap | 3 +- mcsrc/misc/mc.ext.ini.in | 147 ++-- mcsrc/misc/mc.menu.in | 12 +- mcsrc/misc/skins/dark.ini | 1 + mcsrc/misc/skins/darkfar.ini | 1 + mcsrc/misc/skins/default.ini | 1 + mcsrc/misc/skins/double-lines.ini | 1 + mcsrc/misc/skins/featured-plus.ini | 1 + mcsrc/misc/skins/featured.ini | 1 + mcsrc/misc/skins/gotar.ini | 1 + mcsrc/misc/skins/gray-green-purple256.ini | 1 + mcsrc/misc/skins/gray-orange-blue256.ini | 1 + mcsrc/misc/skins/julia256.ini | 1 + mcsrc/misc/skins/mc46.ini | 1 + mcsrc/misc/skins/modarcon16-defbg.ini | 1 + mcsrc/misc/skins/modarcon16.ini | 1 + mcsrc/misc/skins/modarcon16root-defbg.ini | 1 + mcsrc/misc/skins/modarcon16root.ini | 1 + mcsrc/misc/skins/modarin256-defbg.ini | 1 + mcsrc/misc/skins/modarin256.ini | 1 + mcsrc/misc/skins/modarin256root-defbg.ini | 1 + mcsrc/misc/skins/modarin256root.ini | 1 + mcsrc/misc/skins/nicedark.ini | 1 + mcsrc/misc/skins/sand256.ini | 1 + mcsrc/misc/skins/seasons-autumn16M.ini | 1 + mcsrc/misc/skins/seasons-spring16M.ini | 1 + mcsrc/misc/skins/seasons-summer16M.ini | 1 + mcsrc/misc/skins/seasons-winter16M.ini | 1 + mcsrc/misc/skins/xoria256.ini | 1 + mcsrc/misc/skins/yadt256-defbg.ini | 1 + mcsrc/misc/skins/yadt256.ini | 1 + mcsrc/misc/syntax/sh.syntax | 1 + mcsrc/po/af.po | 123 +-- mcsrc/po/ar.po | 123 +-- mcsrc/po/az.po | 123 +-- mcsrc/po/be.po | 262 +++---- mcsrc/po/bg.po | 150 ++-- mcsrc/po/br.po | 123 +-- mcsrc/po/ca.po | 183 +++-- mcsrc/po/cs.po | 152 ++-- mcsrc/po/da.po | 151 ++-- mcsrc/po/de.po | 201 ++--- mcsrc/po/de_CH.po | 123 +-- mcsrc/po/el.po | 127 ++-- mcsrc/po/en_GB.po | 275 ++++--- mcsrc/po/eo.po | 166 +++-- mcsrc/po/es.po | 154 ++-- mcsrc/po/et.po | 206 ++--- mcsrc/po/eu.po | 151 ++-- mcsrc/po/fa.po | 125 ++-- mcsrc/po/fi.po | 127 ++-- mcsrc/po/fr.po | 180 +++-- mcsrc/po/fr_CA.po | 123 +-- mcsrc/po/ga.po | 123 +-- mcsrc/po/gl.po | 153 ++-- mcsrc/po/he.po | 123 +-- mcsrc/po/hr.po | 123 +-- mcsrc/po/hu.po | 154 ++-- mcsrc/po/ia.po | 133 ++-- mcsrc/po/id.po | 123 +-- mcsrc/po/ie.po | 123 +-- mcsrc/po/it.po | 152 ++-- mcsrc/po/ja.po | 127 ++-- mcsrc/po/ka.po | 142 ++-- mcsrc/po/kk.po | 123 +-- mcsrc/po/ko.po | 615 +++++++-------- mcsrc/po/kw.po | 123 +-- mcsrc/po/lt.po | 127 ++-- mcsrc/po/lv.po | 125 ++-- mcsrc/po/mc.pot | 704 +++++++++--------- mcsrc/po/mn.po | 123 +-- mcsrc/po/nb.po | 167 +++-- mcsrc/po/nl.po | 149 ++-- mcsrc/po/nl_BE.po | 123 +-- mcsrc/po/pl.po | 152 ++-- mcsrc/po/pt.po | 161 ++-- mcsrc/po/pt_BR.po | 167 +++-- mcsrc/po/ro.po | 153 ++-- mcsrc/po/ru.po | 242 +++--- mcsrc/po/sk.po | 149 ++-- mcsrc/po/sl.po | 125 ++-- mcsrc/po/sr.po | 149 ++-- mcsrc/po/sv.po | 149 ++-- mcsrc/po/szl.po | 123 +-- mcsrc/po/ta.po | 123 +-- mcsrc/po/te.po | 123 +-- mcsrc/po/tr.po | 152 ++-- mcsrc/po/uk.po | 150 ++-- mcsrc/po/uz.po | 123 +-- mcsrc/po/vi.po | 123 +-- mcsrc/po/wa.po | 123 +-- mcsrc/po/zh_CN.po | 149 ++-- mcsrc/po/zh_TW.po | 131 ++-- mcsrc/src/Makefile.am | 165 ++-- mcsrc/src/args.c | 4 +- mcsrc/src/background.c | 7 +- mcsrc/src/clipboard.c | 2 +- mcsrc/src/cons.handler.c | 2 +- mcsrc/src/consaver/cons.saver.c | 2 +- mcsrc/src/diffviewer/internal.h | 2 +- mcsrc/src/diffviewer/search.c | 5 +- mcsrc/src/diffviewer/ydiff.c | 569 ++++++-------- mcsrc/src/editor/bookmark.c | 2 +- mcsrc/src/editor/edit-impl.h | 4 +- mcsrc/src/editor/edit.c | 267 +++++-- mcsrc/src/editor/editbuffer.c | 2 +- mcsrc/src/editor/editcmd.c | 171 ++--- mcsrc/src/editor/editcomplete.c | 2 +- mcsrc/src/editor/editdraw.c | 14 +- mcsrc/src/editor/editmacros.c | 2 +- mcsrc/src/editor/editmenu.c | 2 +- mcsrc/src/editor/editoptions.c | 5 +- mcsrc/src/editor/editsearch.c | 23 +- mcsrc/src/editor/editwidget.c | 14 +- mcsrc/src/editor/etags.c | 2 +- mcsrc/src/editor/format.c | 2 +- mcsrc/src/editor/spell.c | 2 +- mcsrc/src/editor/syntax.c | 118 +-- mcsrc/src/events_init.c | 2 +- mcsrc/src/execute.c | 2 +- mcsrc/src/file_history.c | 2 +- mcsrc/src/filemanager/Makefile.am | 2 - mcsrc/src/filemanager/achown.c | 2 +- mcsrc/src/filemanager/boxes.c | 2 +- mcsrc/src/filemanager/cd.c | 8 +- mcsrc/src/filemanager/chattr.c | 2 +- mcsrc/src/filemanager/chmod.c | 2 +- mcsrc/src/filemanager/chown.c | 2 +- mcsrc/src/filemanager/cmd.c | 8 +- mcsrc/src/filemanager/cmd.h | 4 +- mcsrc/src/filemanager/command.c | 16 +- mcsrc/src/filemanager/dir.c | 2 +- mcsrc/src/filemanager/ext.c | 65 +- mcsrc/src/filemanager/file.c | 19 +- mcsrc/src/filemanager/filegui.c | 6 +- mcsrc/src/filemanager/filemanager.c | 12 +- mcsrc/src/filemanager/filenot.c | 2 +- mcsrc/src/filemanager/fileopctx.c | 2 +- mcsrc/src/filemanager/find.c | 2 +- mcsrc/src/filemanager/hotlist.c | 2 +- mcsrc/src/filemanager/info.c | 2 +- mcsrc/src/filemanager/layout.c | 5 +- mcsrc/src/filemanager/listmode.c | 2 +- mcsrc/src/filemanager/mountlist.c | 3 +- mcsrc/src/filemanager/panel.c | 23 +- mcsrc/src/filemanager/panelize.c | 2 +- mcsrc/src/filemanager/tree.c | 17 +- mcsrc/src/filemanager/treestore.c | 2 +- mcsrc/src/help.c | 52 +- mcsrc/src/keymap.c | 2 +- mcsrc/src/learn.c | 2 +- mcsrc/src/main.c | 79 +- mcsrc/src/man2hlp/man2hlp.in | 3 +- mcsrc/src/selcodepage.c | 2 +- mcsrc/src/setup.c | 14 +- mcsrc/src/subshell/common.c | 2 +- mcsrc/src/subshell/proxyfunc.c | 2 +- mcsrc/src/textconf.c | 18 +- mcsrc/src/usermenu.c | 59 +- mcsrc/src/util.c | 2 +- mcsrc/src/vfs/Makefile.am | 6 +- mcsrc/src/vfs/cpio/cpio.c | 2 +- mcsrc/src/vfs/extfs/extfs.c | 54 +- mcsrc/src/vfs/extfs/helpers/iso9660.in | 1 + mcsrc/src/vfs/extfs/helpers/lslR.in | 1 + mcsrc/src/vfs/extfs/helpers/mailfs.in | 3 + mcsrc/src/vfs/extfs/helpers/patchfs.in | 5 + mcsrc/src/vfs/extfs/helpers/s3+.in | 18 +- mcsrc/src/vfs/extfs/helpers/uc1541 | 152 +--- mcsrc/src/vfs/fish/helpers/Makefile.am | 10 - mcsrc/src/vfs/fish/helpers/README.fish | 217 ------ mcsrc/src/vfs/fish/helpers/append | 16 - mcsrc/src/vfs/fish/helpers/chmod | 6 - mcsrc/src/vfs/fish/helpers/chown | 6 - mcsrc/src/vfs/fish/helpers/fexists | 3 - mcsrc/src/vfs/fish/helpers/mkdir | 6 - mcsrc/src/vfs/fish/helpers/mv | 6 - mcsrc/src/vfs/fish/helpers/rmdir | 6 - mcsrc/src/vfs/fish/helpers/send | 17 - mcsrc/src/vfs/fish/helpers/unlink | 6 - mcsrc/src/vfs/fish/helpers/utime | 13 - mcsrc/src/vfs/ftpfs/ftpfs.c | 2 +- mcsrc/src/vfs/ftpfs/ftpfs_parse_ls.c | 2 +- mcsrc/src/vfs/local/local.c | 2 +- mcsrc/src/vfs/plugins_init.c | 12 +- mcsrc/src/vfs/sfs/sfs.c | 2 +- mcsrc/src/vfs/sfs/sfs.ini | 2 + mcsrc/src/vfs/sftpfs/config_parser.c | 2 +- mcsrc/src/vfs/sftpfs/connection.c | 49 +- mcsrc/src/vfs/sftpfs/dir.c | 2 +- mcsrc/src/vfs/sftpfs/file.c | 2 +- mcsrc/src/vfs/sftpfs/internal.c | 2 +- mcsrc/src/vfs/sftpfs/sftpfs.c | 2 +- mcsrc/src/vfs/{fish => shell}/Makefile.am | 8 +- mcsrc/src/vfs/shell/helpers/Makefile.am | 10 + mcsrc/src/vfs/shell/helpers/README.shell | 227 ++++++ mcsrc/src/vfs/shell/helpers/append | 15 + mcsrc/src/vfs/shell/helpers/chmod | 5 + mcsrc/src/vfs/shell/helpers/chown | 5 + mcsrc/src/vfs/shell/helpers/fexists | 2 + mcsrc/src/vfs/{fish => shell}/helpers/get | 17 +- .../src/vfs/{fish => shell}/helpers/hardlink | 5 +- mcsrc/src/vfs/{fish => shell}/helpers/info | 14 +- mcsrc/src/vfs/{fish => shell}/helpers/ln | 5 +- mcsrc/src/vfs/{fish => shell}/helpers/ls | 58 +- mcsrc/src/vfs/shell/helpers/mkdir | 5 + mcsrc/src/vfs/shell/helpers/mv | 5 + mcsrc/src/vfs/shell/helpers/rmdir | 5 + mcsrc/src/vfs/shell/helpers/send | 16 + mcsrc/src/vfs/shell/helpers/unlink | 5 + mcsrc/src/vfs/shell/helpers/utime | 12 + mcsrc/src/vfs/{fish/fish.c => shell/shell.c} | 668 ++++++++--------- mcsrc/src/vfs/{fish/fish.h => shell/shell.h} | 12 +- .../vfs/{fish/fishdef.h => shell/shelldef.h} | 150 ++-- mcsrc/src/vfs/tar/tar-internal.c | 20 +- mcsrc/src/vfs/tar/tar-internal.h | 3 +- mcsrc/src/vfs/tar/tar-sparse.c | 16 +- mcsrc/src/vfs/tar/tar-xheader.c | 2 +- mcsrc/src/vfs/tar/tar.c | 22 +- mcsrc/src/vfs/undelfs/undelfs.c | 2 +- mcsrc/src/viewer/actions_cmd.c | 24 +- mcsrc/src/viewer/ascii.c | 2 +- mcsrc/src/viewer/coord_cache.c | 2 +- mcsrc/src/viewer/datasource.c | 2 +- mcsrc/src/viewer/dialogs.c | 2 +- mcsrc/src/viewer/display.c | 2 +- mcsrc/src/viewer/growbuf.c | 2 +- mcsrc/src/viewer/hex.c | 2 +- mcsrc/src/viewer/lib.c | 2 +- mcsrc/src/viewer/mcviewer.c | 2 +- mcsrc/src/viewer/move.c | 2 +- mcsrc/src/viewer/nroff.c | 2 +- mcsrc/src/viewer/search.c | 2 +- mcsrc/tests/lib/library_independ.c | 2 +- mcsrc/tests/lib/mc_build_filename.c | 2 +- mcsrc/tests/lib/mc_realpath.c | 2 +- mcsrc/tests/lib/mcconfig/config_string.c | 2 +- mcsrc/tests/lib/mcconfig/user_configs_path.c | 4 +- mcsrc/tests/lib/name_quote.c | 4 +- .../lib/search/glob_prepare_replace_str.c | 4 +- .../lib/search/glob_translate_to_regex.c | 2 +- .../tests/lib/search/hex_translate_to_regex.c | 2 +- .../search/regex_process_escape_sequence.c | 2 +- .../tests/lib/search/regex_replace_esc_seq.c | 2 +- .../search/translate_replace_glob_to_regex.c | 2 +- mcsrc/tests/lib/serialize.c | 2 +- mcsrc/tests/lib/strutil/filevercmp.c | 2 +- mcsrc/tests/lib/strutil/parse_integer.c | 2 +- mcsrc/tests/lib/strutil/str_replace_all.c | 2 +- mcsrc/tests/lib/strutil/str_verscmp.c | 2 +- .../lib/utilunix__mc_pstream_get_string.c | 2 +- mcsrc/tests/lib/utilunix__my_system-common.c | 2 +- .../lib/utilunix__my_system-fork_child.c | 2 +- .../utilunix__my_system-fork_child_shell.c | 2 +- .../tests/lib/utilunix__my_system-fork_fail.c | 2 +- mcsrc/tests/lib/vfs/canonicalize_pathname.c | 2 +- mcsrc/tests/lib/vfs/current_dir.c | 2 +- mcsrc/tests/lib/vfs/path_cmp.c | 2 +- mcsrc/tests/lib/vfs/path_len.c | 2 +- mcsrc/tests/lib/vfs/path_manipulations.c | 2 +- mcsrc/tests/lib/vfs/path_recode.c | 2 +- mcsrc/tests/lib/vfs/path_serialize.c | 2 +- mcsrc/tests/lib/vfs/relative_cd.c | 2 +- mcsrc/tests/lib/vfs/tempdir.c | 2 +- mcsrc/tests/lib/vfs/vfs_adjust_stat.c | 2 +- mcsrc/tests/lib/vfs/vfs_get_encoding.c | 2 +- mcsrc/tests/lib/vfs/vfs_parse_ls_lga.c | 2 +- mcsrc/tests/lib/vfs/vfs_path_from_str_flags.c | 2 +- mcsrc/tests/lib/vfs/vfs_path_string_convert.c | 2 +- mcsrc/tests/lib/vfs/vfs_prefix_to_class.c | 2 +- mcsrc/tests/lib/vfs/vfs_s_get_path.c | 2 +- mcsrc/tests/lib/vfs/vfs_setup_cwd.c | 2 +- mcsrc/tests/lib/vfs/vfs_split.c | 2 +- mcsrc/tests/lib/widget/complete_engine.c | 2 +- mcsrc/tests/lib/widget/group_init_destroy.c | 2 +- mcsrc/tests/lib/widget/hotkey_equal.c | 2 +- mcsrc/tests/lib/widget/widget_find_by_id.c | 2 +- .../lib/widget/widget_make_global_local.c | 2 +- mcsrc/tests/lib/x_basename.c | 2 +- .../tests/src/editor/edit_complete_word_cmd.c | 2 +- mcsrc/tests/src/execute__common.c | 2 +- ...ecute__execute_external_editor_or_viewer.c | 2 +- ...xecute_get_external_cmd_opts_from_config.c | 2 +- .../tests/src/execute__execute_with_vfs_arg.c | 2 +- mcsrc/tests/src/filemanager/cd_to.c | 2 +- mcsrc/tests/src/filemanager/examine_cd.c | 2 +- .../exec_get_export_variables_ext.c | 2 +- .../src/filemanager/filegui_is_wildcarded.c | 2 +- mcsrc/tests/src/filemanager/get_random_hint.c | 2 +- .../vfs/extfs/helpers-list/mc_parse_ls_l.c | 2 +- .../src/vfs/ftpfs/ftpfs_parse_long_list.c | 2 +- mcsrc/tests/src/viewer/viewertest.txt | Bin 4680 -> 4613 bytes mcwin32/Makefile.in | 18 +- mcwin32/config.h | 3 +- mcwin32/makelib.in | 2 +- 422 files changed, 8033 insertions(+), 7294 deletions(-) create mode 100644 mcsrc/m4.include/vfs/mc-vfs-shell.m4 delete mode 100644 mcsrc/src/vfs/fish/helpers/Makefile.am delete mode 100644 mcsrc/src/vfs/fish/helpers/README.fish delete mode 100644 mcsrc/src/vfs/fish/helpers/append delete mode 100644 mcsrc/src/vfs/fish/helpers/chmod delete mode 100644 mcsrc/src/vfs/fish/helpers/chown delete mode 100644 mcsrc/src/vfs/fish/helpers/fexists delete mode 100644 mcsrc/src/vfs/fish/helpers/mkdir delete mode 100644 mcsrc/src/vfs/fish/helpers/mv delete mode 100644 mcsrc/src/vfs/fish/helpers/rmdir delete mode 100644 mcsrc/src/vfs/fish/helpers/send delete mode 100644 mcsrc/src/vfs/fish/helpers/unlink delete mode 100644 mcsrc/src/vfs/fish/helpers/utime rename mcsrc/src/vfs/{fish => shell}/Makefile.am (59%) create mode 100644 mcsrc/src/vfs/shell/helpers/Makefile.am create mode 100644 mcsrc/src/vfs/shell/helpers/README.shell create mode 100644 mcsrc/src/vfs/shell/helpers/append create mode 100644 mcsrc/src/vfs/shell/helpers/chmod create mode 100644 mcsrc/src/vfs/shell/helpers/chown create mode 100644 mcsrc/src/vfs/shell/helpers/fexists rename mcsrc/src/vfs/{fish => shell}/helpers/get (84%) rename mcsrc/src/vfs/{fish => shell}/helpers/hardlink (51%) rename mcsrc/src/vfs/{fish => shell}/helpers/info (80%) rename mcsrc/src/vfs/{fish => shell}/helpers/ln (51%) rename mcsrc/src/vfs/{fish => shell}/helpers/ls (77%) create mode 100644 mcsrc/src/vfs/shell/helpers/mkdir create mode 100644 mcsrc/src/vfs/shell/helpers/mv create mode 100644 mcsrc/src/vfs/shell/helpers/rmdir create mode 100644 mcsrc/src/vfs/shell/helpers/send create mode 100644 mcsrc/src/vfs/shell/helpers/unlink create mode 100644 mcsrc/src/vfs/shell/helpers/utime rename mcsrc/src/vfs/{fish/fish.c => shell/shell.c} (67%) rename mcsrc/src/vfs/{fish/fish.h => shell/shell.h} (73%) rename mcsrc/src/vfs/{fish/fishdef.h => shell/shelldef.h} (66%) diff --git a/mcsrc/configure.ac b/mcsrc/configure.ac index c1a1460..5cf1f2f 100644 --- a/mcsrc/configure.ac +++ b/mcsrc/configure.ac @@ -654,8 +654,8 @@ src/vfs/extfs/helpers/uwim src/vfs/extfs/helpers/uzip src/vfs/extfs/helpers/uzoo -src/vfs/fish/Makefile -src/vfs/fish/helpers/Makefile +src/vfs/shell/Makefile +src/vfs/shell/helpers/Makefile src/vfs/ftpfs/Makefile diff --git a/mcsrc/doc/FAQ b/mcsrc/doc/FAQ index 47450f6..72cc2fa 100644 --- a/mcsrc/doc/FAQ +++ b/mcsrc/doc/FAQ @@ -152,7 +152,7 @@ Frequently Asked Questions You need a POSIX (Unix compatible) operating system. If you are running Windows, use Cygwin. - To compile any edition you need to have glib >= 2.30 installed. + To compile any edition you need to have glib >= 2.32 installed. It's available at https://download.gnome.org/sources/glib/. If you want to use mouse on the Linux console you need the gpm daemon diff --git a/mcsrc/doc/HACKING b/mcsrc/doc/HACKING index 15cc1de..5957f17 100644 --- a/mcsrc/doc/HACKING +++ b/mcsrc/doc/HACKING @@ -19,7 +19,7 @@ required: Autoconf 2.64 and above (latest is recommended) Automake 1.12 and above (latest is recommended) Gettext 0.18.2 and above -Glib 2.30 and above +Glib 2.32 and above Full list of requirements you can see at: https://www.midnight-commander.org/wiki/doc/buildAndInstall/req diff --git a/mcsrc/doc/INSTALL b/mcsrc/doc/INSTALL index 3881c52..1e5d1a2 100644 --- a/mcsrc/doc/INSTALL +++ b/mcsrc/doc/INSTALL @@ -15,7 +15,7 @@ Build requirements for GNU Midnight Commander - autoconf >= 2.64 - automake >= 1.12 - libtool -- glib2 >= 2.30 +- glib2 >= 2.32 - slang2 or ncurses - gettext >= 0.18.2 - libssh2 >= 1.2.8 is required only for sftp vfs @@ -171,9 +171,9 @@ VFS options: (on by default) Support for FTP vfs -`--enable-vfs-fish' +`--enable-vfs-shell' (on by default) - Support for FISH vfs + Support for SHELL vfs `--enable-vfs-sftp' (auto) @@ -367,8 +367,8 @@ get glib from ftp://ftp.gnome.org/pub/gnome/sources/glib/ -Minimal version of glib: 2.30.0 -Recommended version: 2.30.x and higher. +Minimal version of glib: 2.32.0 +Recommended version: 2.32.x and higher. Newer versions may work, but haven't been tested. diff --git a/mcsrc/doc/NEWS b/mcsrc/doc/NEWS index bef3cd1..1414d9b 100644 --- a/mcsrc/doc/NEWS +++ b/mcsrc/doc/NEWS @@ -1,3 +1,36 @@ +Version 4.8.31 + +- Core + + * Minimal version of GLib is 2.32.0. + +- VFS + + * fish: drop support of native FISH server and protocol. Rename VFS to shell (#4232) + * extfs; + * uc1541 extfs: update up to 3.6 version (#4511) + * s3+: port to Python3 (#4324) + * Support for LZO/LZOP compression format (#4509) + +- Misc + + * Skins: add color for non-printable characters in editor (#4433) + +- Fixes + + * FTBFS on FreeBSD with ext2fs attribute support (#4493) + * Broken stickchars (-a) mode (#4498) + * Wrong timestamp after resuming of file copy operation (#4499) + * Editor: wrong deletion of marked column (#3761) + * Diff viewer: segfault when display of line numbers is enabled (#4500) + * Tar VFS: broken handling of hard links (#4494) + * Sftp VFS: failure establishing SSH session due hashed host names in ~/.ssh/known_hosts (#4506) + * Shell VFS: incorrect file names with cyrillic or diacritic symbols (#4507) + * mc.ext.ini: incorrect description of of how multiple sections and keys with same names are processed (#4497) + * mc.ext.ini: unescaped backslash \ is treated as invalid escape sequence in glib-2.77.3 and glib-2.79 (#4502) + * mc.ext.ini: file "Makefile.zip" is handled as Makefile not as zip-arhive (#4419) + + Version 4.8.30 - Core diff --git a/mcsrc/doc/README b/mcsrc/doc/README index 71d69d8..c2718ae 100644 --- a/mcsrc/doc/README +++ b/mcsrc/doc/README @@ -128,7 +128,7 @@ These are hints for the text mode edition: * The Virtual File System is a cute addition to the project, you may browse in tar and compressed tar files as well as browsing remote - machines with the fish file system. + machines with the shell file system. * Please read the manual page. diff --git a/mcsrc/doc/TODO b/mcsrc/doc/TODO index e6253fd..d29eda7 100644 --- a/mcsrc/doc/TODO +++ b/mcsrc/doc/TODO @@ -73,7 +73,7 @@ window title. Better date parser - don't allow seconds and year in ftp listings on the same line. -Report errors in fish operations and recover from them. +Report errors in shell operations and recover from them. Allow colors to be defined in the mc.lib file. Make it possible to avoid using a super-long line to redefine all colors. @@ -82,7 +82,7 @@ Filters in the editor should operate on the open file - don't close and reopen the file. They don't work on VFS now. For example, a gzipped files on FTP cannot be edited. -ftp and fish with home != '/' - readjust directory to the home. +ftp and shell with home != '/' - readjust directory to the home. Make "Find File" dialog more responsive. Keep state in a structure and preserve it when the search is suspended. diff --git a/mcsrc/doc/hints/l10n/mc.hint.be b/mcsrc/doc/hints/l10n/mc.hint.be index d77b227..ee8dbc2 100644 --- a/mcsrc/doc/hints/l10n/mc.hint.be +++ b/mcsrc/doc/hints/l10n/mc.hint.be @@ -1,10 +1,10 @@ -Падказка. «C-x t» перапіÑвае Ñž загадны радок назвы пазначаных файлаў. +Падказка. «C-x t» перапіÑвае Ñž камандны радок назвы пазначаных файлаў. -Падказка. «C-x p» перапіÑвае у загадны радок дзейны шлÑÑ…. +Падказка. «C-x p» перапіÑвае у камандны радок дзейны шлÑÑ…. Падказка. «M-Tab» ці «Esc+Tab» дапаўнÑе набранае. Каб убачыць ÑьпіÑ, націÑьніце двойчы. -Падказка. «M-p» Ñ– «M-n» дае доÑтуп да гіÑторыі загадаў. +Падказка. «M-p» Ñ– «M-n» дае доÑтуп да гіÑторыі каманд. Падказка. ТрÑба ÑžÑтавіць знак літаральна? ЦіÑьніце «Control-q» Ñ– знак. @@ -36,7 +36,7 @@ Падказка. Хочаце звычайную абалонку? ЦіÑьніце «C-o», а каб вÑрнуцца — «C-o» ÑÑˆÑ‡Ñ Ñ€Ð°Ð·. -Падказка. Каб хутчÑй набіраць загады «cd …», вызначце зьменную «CDPATH». +Падказка. Каб хутчÑй набіраць каманды «cd …», вызначце зьменную «CDPATH». Падказка. Калі хочаце бачыць ÑÑ…Ð°Ð²Ð°Ð½Ñ‹Ñ Ñ„Ð°Ð¹Ð»Ñ‹ «.*», вызначце гÑта Ñž «ÐаÑтаўленьнÑх». @@ -48,17 +48,17 @@ Ðамінка. Шукаць файл: кнопка «Ðа панÑль» дазвалÑе працаваць Ñа знойдзеным. -Падказка. Калі патрÑбны Ñкладаны пошук, ужывайце загад «Ðа вонкавую панÑль». +Падказка. Калі патрÑбны Ñкладаны пошук, ужывайце каманду «Ðа вонкавую панÑль». -Падказка. Каб хутка зьмÑніць каталёґ, калі набіраеце загад, ціÑьніце «M-c». +Падказка. Каб хутка зьмÑніць каталёґ, калі набіраеце каманду, ціÑьніце «M-c». -Падказка: загады абалонкі могуць не працаваць на немÑÑцовых файлавых ÑÑ‹ÑÑ‚Ñмах. +Падказка: каманды абалонкі могуць не працаваць на немÑÑцовых файлавых ÑÑ‹ÑÑ‚Ñмах. Падказка. «C-y» вÑртае Ñтрачаны Ñ‚ÑкÑÑ‚. Падказка. ПÑÑžÐ½Ñ‹Ñ ÐºÐ»Ñвішы не працуюць? Зірніце «Ðалады» → «Вывучыць клÑвішы». -Падказка. Каб пабачыць вывад загаду Ñž праглÑдніку, ціÑьніце «M-!» +Падказка. Каб пабачыць вывад каманды Ñž праглÑдніку, ціÑьніце «M-!» Падказка. «F13» (або «Shift-F3») праглÑдае файл наўпроÑÑ‚. diff --git a/mcsrc/doc/hints/l10n/mc.hint.ko b/mcsrc/doc/hints/l10n/mc.hint.ko index d4c4c94..a61af68 100644 --- a/mcsrc/doc/hints/l10n/mc.hint.ko +++ b/mcsrc/doc/hints/l10n/mc.hint.ko @@ -12,7 +12,7 @@ 힌트: 디렉터리 ì„ íƒ: ì¼ì¹˜í•˜ëŠ” íŒ¨í„´ì˜ ëì— ìŠ¬ëž˜ì‹œë¥¼ 추가합니다. -힌트: 터미ë„ì— ê¸°ëŠ¥ 키가 없는 경우 ESC+ìˆ«ìž ì‹œí€€ìŠ¤ë¥¼ 사용합니다. +힌트: 터미ë„ì— ê¸°ëŠ¥ 키가 없으면 ESC+ìˆ«ìž ì‹œí€€ìŠ¤ë¥¼ 사용합니다. 힌트: GNU 미드나잇 ì»¤ë§¨ë” í™ˆíŽ˜ì´ì§€: https://www.midnight-commander.org @@ -22,7 +22,7 @@ 힌트: VFS cool: tar 파ì¼ì„ 입력하여 ë‚´ìš©ì„ ê²€í† í•©ë‹ˆë‹¤. -힌트 : 우리는 ë˜í•œ 멋진 매뉴얼 페ì´ì§€ë¥¼ 가지고 있습니다. +힌트 : 멋진 매뉴얼 페ì´ì§€ë„ 있습니다. 힌트 : Lynx ìŠ¤íƒ€ì¼ íƒìƒ‰ì„ ì›í•˜ì‹­ë‹ˆê¹Œ? 구성 대화 ìƒìžì—ì„œ 설정하십시오. @@ -44,7 +44,7 @@ 힌트: ì™„ì„±ì€ ëª¨ë“  대화 ìƒìžì˜ 모든 ìž…ë ¥ ë¼ì¸ì—ì„œ ìž‘ë™í•©ë‹ˆë‹¤. M-Tabì„ ëˆ„ë¥´ë©´ ë©ë‹ˆë‹¤. -힌트: ëŠë¦° 터미ë„ì—ì„œ -s 플래그가 ë„ì›€ì´ ë  ìˆ˜ 있습니다. +힌트: ëŠë¦° 터미ë„ì—는 -s 플래그가 ë„ì›€ì´ ë  ìˆ˜ 있습니다. 힌트 : íŒŒì¼ ì°¾ê¸° : íŒ¨ë„ í¬ê¸°ì¡°ì • ë²„íŠ¼ì„ ì‚¬ìš©í•˜ì—¬ ì°¾ì€ íŒŒì¼ì„ ìž‘ì—…í•  수 있습니다. diff --git a/mcsrc/doc/man/es/mc.1.in b/mcsrc/doc/man/es/mc.1.in index b2c3db7..602251e 100644 --- a/mcsrc/doc/man/es/mc.1.in +++ b/mcsrc/doc/man/es/mc.1.in @@ -3405,8 +3405,8 @@ de error: errdfocus, errdhotnormal, errdhotfocus, errdtitle; los colores de la ayuda: helpnormal, helpitalic, helpbold, helplink, helpslink, helptitle; los colores del visor: viewnormal, viewbold, viewunderline, viewselected; loc colores del editor: editnormal, editbold, editmarked, -editwhitespace, editlinestate; los colores de los menús desplegables: -pmenunormal, pmenusel, pmenutitle. +editwhitespace, editnonprintable, editlinestate; los colores de los menús +desplegables: pmenunormal, pmenusel, pmenutitle. .PP .I header determina el color del encabezado de los paneles, la línea con los diff --git a/mcsrc/doc/man/hu/mc.1.in b/mcsrc/doc/man/hu/mc.1.in index 5f26f62..f668a7c 100644 --- a/mcsrc/doc/man/hu/mc.1.in +++ b/mcsrc/doc/man/hu/mc.1.in @@ -2869,7 +2869,7 @@ dhotnormal, dhotfocus; Súgó színek: helpnormal, helpitalic, helpbold, helplink, helpslink; FájlnézÅ‘ színek: viewunderline; Speciális kijelölés színei: executable, directory, link, stalelink, device, special, core; Viewer colors are: viewnormal, viewbold, viewunderline, viewselected. -SzerkesztÅ‘ színei: editnormal, editbold, editmarked. +SzerkesztÅ‘ színei: editnormal, editbold, editmarked, editnonprintable. .PP .I input maghatározza a beviteli sorok színét a dialogus ablakora vonatkozóan. diff --git a/mcsrc/doc/man/it/mc.1.in b/mcsrc/doc/man/it/mc.1.in index 3a45893..4cbf4a4 100644 --- a/mcsrc/doc/man/it/mc.1.in +++ b/mcsrc/doc/man/it/mc.1.in @@ -2881,7 +2881,7 @@ Il colore del visualizzatore è: viewunderline. Colori speciali di evidenziazione: executable, directory, link, device, special, core. I colori dell'viewer sono: viewnormal, viewbold, viewunderline, viewselected. -I colori dell'editor sono: editnormal, editbold, editmarked. +I colori dell'editor sono: editnormal, editbold, editmarked, editnonprintable. .PP .I input determina il colore delle righe di input usate delle finestre di dialogo. diff --git a/mcsrc/doc/man/mc.1.in b/mcsrc/doc/man/mc.1.in index e6aad0e..aad40fe 100644 --- a/mcsrc/doc/man/mc.1.in +++ b/mcsrc/doc/man/mc.1.in @@ -3138,7 +3138,7 @@ used to manipulate tar and compressed tar files; the .IR undelfs , used to recover deleted files on ext2 file systems (the default file system for Linux systems), -.I fish +.I shell (for manipulating files over shell connections such as rsh and ssh). If the code was compiled with .I sftpfs @@ -3225,10 +3225,9 @@ Examples: The latter specifies the full path of the tar archive. .\"NODE " FIle transfer over SHell filesystem" .SH " FIle transfer over SHell filesystem" -The fish file system is a network based file system that allows you to +The shell file system is a network based file system that allows you to manipulate the files in a remote machine as if they were local. To use -this, the other side has to either run fish server, or has to have -bash\-compatible shell. +this, the other side has to have bash\-compatible shell. .PP To connect to a remote machine, you just need to chdir into a special directory which name is in the following @@ -3514,8 +3513,8 @@ dhotnormal, dhotfocus, dtitle. Error dialog colors are: errdfocus, errdhotnormal errdhotfocus, errdtitle. Help colors are: helpnormal, helpitalic, helpbold, helplink, helpslink, helptitle. Viewer colors are: viewnormal, viewbold, viewunderline, viewselected. Editor colors are: editnormal, editbold, editmarked, -editwhitespace, editlinestate. Popup menu colors are: pmenunormal, pmenusel, -pmenutitle. +editwhitespace, editnonprintable, editlinestate. Popup menu colors are: pmenunormal, +pmenusel, pmenutitle. .PP .I header determines the color of panel header, the line that contains column titles @@ -4095,7 +4094,7 @@ If this variable is on (default is off) when you browse the file system on a Tree panel, it will automatically reload the other panel with the contents of the selected directory. .TP -.I fish_directory_timeout +.I shell_directory_timeout This variable holds the lifetime of a directory cache entry in seconds. The default value is 900 seconds. .TP diff --git a/mcsrc/doc/man/pl/mc.1.in b/mcsrc/doc/man/pl/mc.1.in index 344c4b2..e7341f5 100644 --- a/mcsrc/doc/man/pl/mc.1.in +++ b/mcsrc/doc/man/pl/mc.1.in @@ -2542,8 +2542,8 @@ dhotfocus; Kolory pomocy: helpnormal, helpitalic, helpbold, helplink, helpslink; Kolory podglÄ…du: viewunderline; Specjalne tryby podÅ›wietlenia: executable, directory, link, device, special. Viewer colors are: viewnormal, viewbold, viewunderline, viewselected. Editor colors are: editnormal, editbold, -editmarked, editwhitespace, editlinestate. Popup menu colors are: pmenunormal, -pmenusel, pmenutitle. +editmarked, editwhitespace, editnonprintable, editlinestate. Popup menu colors +are: pmenunormal, pmenusel, pmenutitle. [nie tÅ‚umaczyÅ‚em nazw z racji tego, że trzeba je stosować w ich angielskim brzmieniu \- jeÅ›li jesteÅ› aż tak zaawansowany, użyj sÅ‚ownika]. .PP diff --git a/mcsrc/doc/man/ru/mc.1.in b/mcsrc/doc/man/ru/mc.1.in index badde23..d958b77 100644 --- a/mcsrc/doc/man/ru/mc.1.in +++ b/mcsrc/doc/man/ru/mc.1.in @@ -42,7 +42,7 @@ UNIX\-подобных операционных ÑиÑтемах. .\"Colors" .TP .I \-\-configure\-options -Выводит опции конфигурированиÑ, Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¼Ð¸ был Ñобран Midnight Commander. +Выводит опции конфигурированиÑ, Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¼Ð¸ был Ñобран Midnight Commander. .TP .I \-d, \-\-nomouse Отключает поддержку мыши. @@ -75,7 +75,7 @@ termcap/terminfo. Этот ключ иÑпользуетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ на комбинаций к дейÑтвиÑм. .TP .I \-l файл, \-\-ftplog=файл -Сохранить диалог Ñ ftp\-Ñервером в файл file. +Сохранить диалог Ñ FTP\-Ñервером в файл file. .TP .I \-\-nokeymap Ðе загружать клавиатурные комбинации из файла, иÑпользовать определённые @@ -83,7 +83,7 @@ termcap/terminfo. Этот ключ иÑпользуетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ на .TP .I \-P файл, \-\-printwd=файл По окончании работы Midnight Commander запишет поÑледний текущий каталог -в указанный файл. Эту опцию не Ñледует иÑпользовать напрÑмую. Она +в указанный файл. Эту опцию не Ñледует иÑпользовать напрÑмую. Она иÑпользуетÑÑ Ñпециальной функцией оболочки, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¼ÐµÐ½Ñет текущий каталог оболочки на поÑледний каталог, иÑпользованный Midnight Commander. @@ -576,8 +576,8 @@ Midnight Commander\-а. Ð”Ð»Ñ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‚Ð° к вашему приложен .TP .B Alt\-i Сделать текущий каталог активной панели также текущим каталогом -неактивной панели. ЕÑли необходимо, перевеÑти неактивную панель в режим -Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ ÑпиÑка файлов. ЕÑли Ð°ÐºÑ‚Ð¸Ð²Ð½Ð°Ñ Ð¿Ð°Ð½ÐµÐ»ÑŒ находитÑÑ Ð² режиме +неактивной панели. ЕÑли необходимо, перевеÑти неактивную панель в режим +Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ ÑпиÑка файлов. ЕÑли Ð°ÐºÑ‚Ð¸Ð²Ð½Ð°Ñ Ð¿Ð°Ð½ÐµÐ»ÑŒ находитÑÑ Ð² режиме панелизации, Ð½ÐµÐ°ÐºÑ‚Ð¸Ð²Ð½Ð°Ñ Ð¿Ð°Ð½ÐµÐ»ÑŒ в Ñтот режим не переводитÑÑ. .TP .B C\-PageUp, C\-PageDown @@ -816,7 +816,7 @@ Commander\-ом (например, Ñимвол '+'). программы Midnight Commander. Один из пунктов Ñтого меню Ñлужит Ð´Ð»Ñ ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð½Ð°Ñтроек, заданных пользователем. .\"NODE " Left and Right Menus" -.SH "Меню левой и правой (или верхней и нижней) панелей" +.SH " Меню левой и правой (или верхней и нижней) панелей" Вид панелей, в которых отображаютÑÑ ÑпиÑки файлов и каталогов, может быть изменен через пункты меню .B "ЛеваÑ" (или "ВерхнÑÑ") @@ -986,7 +986,7 @@ half name | size:7 | type mode:3 .B Tab в панель проÑмотра, вы Ñможете иÑпользовать вÑе команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ñмотром. .\"NODE " Sort Order..." -.SH "ПорÑдок Ñортировки..." +.SH " ПорÑдок Ñортировки..." Отображение ÑпиÑка файлов в любой из панелей может производитьÑÑ Ð² ÑоответÑтвии Ñ Ð¾Ð´Ð½Ð¸Ð¼ из воÑьми порÑдков Ñортировки: .nf @@ -1069,7 +1069,7 @@ Escape\-поÑледовательноÑти, генерируемые клав вÑÑ‚Ñ€Ð¾ÐµÐ½Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð° проÑмотра\&, .\"Internal File Viewer" но, ÑнÑв отметку Ñ Ð¾Ð¿Ñ†Ð¸Ð¸ -.I "Ð’Ñтроенный проÑмотр" +.I "Ð’Ñтроенный проÑмотр" в пункте "КонфигурациÑ" меню "ÐаÑтройки", можно вызывать внешнюю программу проÑмотра, путь к которой должен быть указан в переменной Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ .BR PAGER . @@ -1125,7 +1125,7 @@ F13, вÑÑ‚Ñ€Ð¾ÐµÐ½Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð° проÑмотра не выпол выÑтавив конфигурационную опцию preallocate_space. О том, как задать шаблон Ð´Ð»Ñ Ð¸Ð¼ÐµÐ½ копируемых файлов (обычно Ñто "*" или "^\\(.*\\)$", в завиÑимоÑти от уÑтановки опции -.IR "Образцы в Ñтиле shell" , +.IR "Образцы в Ñтиле shell" , и о допуÑтимых Ñимволах замены (wildcards) в Ñтроке целевого каталога вы можете узнать, проÑмотрев раздел .\"LINK2" @@ -1364,8 +1364,8 @@ Midnight Commander за Ñчет Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð² личное меню Ñтроку оболочки (перемещение подÑветки \- клавишами .BR Up/Down , копирование \- по клавише -.BR Enter ) - ДоÑтуп к иÑтории команд можно получить также по комбинациÑм клавиш +.BR Enter ). +ДоÑтуп к иÑтории команд можно получить также по комбинациÑм клавиш .B Alt\-p или .BR Alt\-n , @@ -1388,7 +1388,7 @@ Midnight Commander за Ñчет Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð² личное меню отображает ÑпиÑок виртуальных файловых ÑиÑтем, активных на наÑтоÑщий момент. Можно перейти на выбранную виртуальную файловую ÑиÑтему. Ð”Ð»Ñ ÐžÐ±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÑпиÑка выберите кнопку -.B [ОÑвежить] +.B [ОÑвежить] в диалоговом окне. Кнопка .B [ОÑвободить ВФС ÑейчаÑ] @@ -1853,7 +1853,7 @@ L List the contents of a compressed tar\-archive меню, а другое \- Ð´Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ, надо предпоÑлать пункту меню две Ñтроки уÑловий, одну \- начинающуюÑÑ Ñ '+', и другую \- начинающуюÑÑ Ñ '='. .\"NODE " Options Menu" -.SH "Меню 'ÐаÑтройки'" +.SH " Меню 'ÐаÑтройки'" Программа Midnight Commander имеет Ñ€Ñд уÑтановок (опций), ÐºÐ°Ð¶Ð´Ð°Ñ Ð¸Ð· которых может быть включена или выключена, Ð´Ð»Ñ Ñ‡ÐµÐ³Ð¾ Ñлужат неÑколько диалоговых окон, доÑтупных через меню "ÐаÑтройки". ÐžÐ¿Ñ†Ð¸Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°, еÑли @@ -1977,7 +1977,7 @@ mc на Ñкране. и еÑли за Ñто Ð²Ñ€ÐµÐ¼Ñ Ð½Ð¸ одна клавиша не нажата, то Esc интерпретируетÑÑ ÐºÐ°Ðº команда "Отмена" (Esc Esc). .PP -.IR Интервал . +.IR "Интервал" . Эта Ð¾Ð¿Ñ†Ð¸Ñ Ð¸ÑпользуетÑÑ Ð´Ð»Ñ Ð·Ð°Ð´Ð°Ð½Ð¸Ñ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð³Ð¾ интервала (в микроÑекундах) Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ð´Ð½Ð¾ÐºÑ€Ð°Ñ‚Ð½Ð¾Ð³Ð¾ Ð½Ð°Ð¶Ð°Ñ‚Ð¸Ñ Ð½Ð° клавишу Esc. По умолчанию Ñтот интервал равен 1 Ñекунде (1000000 микроÑекунд). Кроме того, Ñтот интервал @@ -1985,13 +1985,13 @@ mc на Ñкране. (также в микроÑекундах), ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¸Ð¼ÐµÐµÑ‚ приоритет над над значением Ñтой опции. .PP -.B Пауза поÑле иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ +.B "Пауза поÑле иÑполнениÑ" .PP ПоÑле Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð²Ð°ÑˆÐµÐ¹ команды Midnight Commander может обеÑпечить паузу, чтобы вы могли проÑмотреть и изучить вывод команды. ЕÑÑ‚ÑŒ три варианта уÑтановки Ñтой опции: .PP -.IR Ðикогда . +.IR "Ðикогда" . Это значит, что вы не хотите видеть вывод команды. Ðа конÑоли Linux или FreeBSD или при иÑпользовании xterm вы можете проÑмотреть Ñтот вывод, нажав C\-o. @@ -2001,10 +2001,10 @@ FreeBSD или при иÑпользовании xterm вы можете про показ вывода поÑледней из выполнÑвшихÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´ (Ñто любые терминалы, отличные от xterm или конÑоли Linux). .PP -.IR Ð’Ñегда . +.IR "Ð’Ñегда" . Программа обеÑпечит паузу поÑле Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð»ÑŽÐ±Ð¾Ð¹ команды. .PP -.B Прочие наÑтройки +.B "Прочие наÑтройки" .PP .IR "Ð’Ñтроенный редактор" . ЕÑли Ñта Ð¾Ð¿Ñ†Ð¸Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°, то Ð´Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð² вызываетÑÑ @@ -2400,7 +2400,7 @@ Commander, выделены цветом, определённым ключев С целью уÑÐºÐ¾Ñ€ÐµÐ½Ð¸Ñ Ð´Ð¾Ñтупа к файлам Midnight Commander ÑохранÑет в оперативной памÑти информацию, отноÑÑщуюÑÑ Ðº некоторым виртуальным файловым ÑиÑтемам (например, ÑпиÑки файлов в каталогах удалённых -ftp\-Ñерверов). +FTP\-Ñерверов). .PP Кроме того, Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð´Ð¾Ñтупа к Ñодержимому Ñжатых архивов (например, Ñжатых tar\-файлов) Midnight Commander Ñоздаёт временные файлы @@ -2411,7 +2411,7 @@ ftp\-Ñерверов). чтобы уменьшить Ñти раÑходы или повыÑить ÑкороÑÑ‚ÑŒ доÑтупа к чаÑто иÑпользуемым файловым ÑиÑтемам. .PP -Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема архиватора tar очень разумно организует работу Ñ +Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема архиватора TAR очень разумно организует работу Ñ Ð°Ñ€Ñ…Ð¸Ð²Ð½Ñ‹Ð¼Ð¸ файлами: она ÑохранÑет на диÑке Ñтруктуру каталогов архива и, когда возникает необходимоÑÑ‚ÑŒ Ð¾Ð±Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ðº информации из tar\-файла, иÑпользует Ñтот ÑпиÑок Ð´Ð»Ñ Ð¸Ð·Ð²Ð»ÐµÑ‡ÐµÐ½Ð¸Ñ Ð½ÑƒÐ¶Ð½Ð¾Ð³Ð¾ файла. @@ -2419,7 +2419,7 @@ ftp\-Ñерверов). Ð’ общем Ñлучае tar\-файлы обычно хранÑÑ‚ÑÑ Ð² Ñжатом виде (проÑтые tar\-файлы \- вымирающее Ñвление), и в Ñилу природы таких файлов (Ñтруктура подкаталогов Ð´Ð»Ñ tar\-файлов недоÑтупна Ð´Ð»Ñ Ð¼Ð³Ð½Ð¾Ð²ÐµÐ½Ð½Ð¾Ð¹ -загрузки/отображениÑ), Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема tar должна разархивировать файлы +загрузки/отображениÑ), Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема TAR должна разархивировать файлы на диÑк во временный каталог и затем предÑтавить обращение к разархивированным файлам как обращение к tar\-файлу. .PP @@ -2432,16 +2432,16 @@ tar\-архивов, Ñтало Ñамой обычной Ñитуацией к оÑвобождены. По умолчанию величина Ñтого интервала уÑтанавливаетÑÑ Ñ€Ð°Ð²Ð½Ð¾Ð¹ 1 минуте. Смотрите также .\"LINK2" -Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема tar\&. -.\"Tar File System" +Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема TAR\&. +.\"TAR File System" .PP Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема FTP ÑохранÑет ÑпиÑок каталогов, полученный Ñ FTP\-Ñервера, в памÑти (в кеше). ВремÑ, в течение которого Ñтот ÑпиÑок хранитÑÑ Ð² кеше, задаётÑÑ Ð¾Ð¿Ñ†Ð¸ÐµÐ¹ .I Тайм\-аут кеша каталога FTP. Слишком маленькое значение Ñтого параметра будет замедлÑÑ‚ÑŒ вÑе операции -Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ð¹ ÑиÑтемой ftp, потому что каждое обращение к ней будет -означать реальное обращение к удалённому ftp\-Ñерверу. +Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ð¹ ÑиÑтемой FTP, потому что каждое обращение к ней будет +означать реальное обращение к удалённому FTP\-Ñерверу. .PP Кроме того, в том же диалоговом окне можно задать Ð¸Ð¼Ñ Ð¿Ñ€Ð¾ÐºÑи\-Ñервера (proxy host), который будет иÑпользоватьÑÑ Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐºÐ°Ñ‡ÐºÐ¸ файлов по ftp и @@ -2450,7 +2450,7 @@ FTP\-Ñервера, в памÑти (в кеше). ВремÑ, в течени .PP .I Пароль анонимного FTP: \- пароль, иÑпользуемый когда вы региÑтрируетеÑÑŒ как анонимный пользователь -"anonymous". Ð”Ð»Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… Ñайтов требуетÑÑ Ð¿Ð¾Ð»Ð½Ð¾Ñ†ÐµÐ½Ð½Ñ‹Ð¹ Ñлектронный адреÑ, +"anonymous". Ð”Ð»Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… Ñайтов требуетÑÑ Ð¿Ð¾Ð»Ð½Ð¾Ñ†ÐµÐ½Ð½Ñ‹Ð¹ Ñлектронный адреÑ, Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð¹ Ñтороны, вероÑтно, вы не захотите указывать Ñвой наÑтоÑщий Ñлектронный Ð°Ð´Ñ€ÐµÑ Ð´Ð»Ñ Ñайтов, которым не доверÑете, оÑобенно еÑли не иÑпользуетÑÑ Ñ„Ð¸Ð»ÑŒÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð½ÐµÐ¶ÐµÐ»Ð°Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¹ корреÑпонденции. @@ -2476,7 +2476,7 @@ FTP\-Ñервера, в памÑти (в кеше). ВремÑ, в течени Этот файл раÑполагаетÑÑ Ð² каталоге, путь к которому можно определить, запуÑтив команду .BR "mc \-f" . -(Ñто можно Ñделать даже из командной Ñтроки MC). ЕÑли и Ñтого файла не +(Ñто можно Ñделать даже из командной Ñтроки MC). ЕÑли и Ñтого файла не ÑущеÑтвует, .I MC иÑпользует уÑтановки по умолчанию. @@ -2524,7 +2524,7 @@ FTP\-Ñервера, в памÑти (в кеше). ВремÑ, в течени .\"LINK2" файле раÑширений\&. .\"Edit Extension File" -ЕÑли в файле раÑширений найдетÑÑ Ð¿Ð¾Ð´Ñ€Ð°Ð·Ð´ÐµÐ», задающий процедуры обработки +ЕÑли в файле раÑширений найдётÑÑ Ð¿Ð¾Ð´Ñ€Ð°Ð·Ð´ÐµÐ», задающий процедуры обработки файлов Ñ Ð´Ð°Ð½Ð½Ñ‹Ð¼ раÑширением, то обработка файла производитÑÑ Ð² ÑоответÑтвии Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ð¼Ð¸ в Ñтом подразделе командами. Перед обработкой выполнÑÑŽÑ‚ÑÑ Ð¿Ñ€Ð¾Ñтые @@ -3152,7 +3152,7 @@ chattr \- команде Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð² файлов и .\"NODE "Diff Viewer" .SH "Ð’ÑÑ‚Ñ€Ð¾ÐµÐ½Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð° ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²" mcdiff \- Ñто вÑтроенное ÑредÑтво Ð´Ð»Ñ ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð², позволÑющее Ñравнить два файла. -Также оно позволÑет редактировать их (поÑле Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð¾Ð¹Ð´ÐµÑ‚ +Также оно позволÑет редактировать их (поÑле Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð¾Ð¹Ð´Ñ‘Ñ‚ обновление различий). Можно проÑматривать файлы, находÑщиеÑÑ Ð¿Ð¾Ð´ контролем различных ÑиÑтем ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð²ÐµÑ€ÑиÑми, такими как GIT, Subversion и другие. .PP @@ -3463,21 +3463,17 @@ ASCII и шеÑтнадцатеричный (hex). Ð”Ð»Ñ Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸ в вашем домашнем каталоге. .PP Ð’Ñтроенный редактор обрабатывает Ñимволы из второй половины кодовой -таблицы (160+). Ðо когда редактируете бинарные файлы, лучше уÑтановить +таблицы (160+). Ðо при редактировании бинарных файлов лучше уÑтановить опцию .B "Биты Ñимволов" -из меню "ÐаÑтройки" в положение "7 бит", чтобы Ñохранить формат файла -(to keep the spacing clean). +из меню "ÐаÑтройки" в положение "7 бит", чтобы Ñохранить формат файла. .PP ОпиÑать вÑе функции вÑтроенного редактора в данной подÑказке невозможно. Запомните только, что вÑе оÑновные операции можно выполнить через пункты меню, которое вызываетÑÑ Ð½Ð°Ð¶Ð°Ñ‚Ð¸ÐµÐ¼ клавиши .B F9 -в окне редактированиÑ. Кроме того, можно прочитать man\-Ñтраницу по -команде -.B man mcedit -или -.B info mcedit +в окне редактированиÑ. Кроме того, можно прочитать man\-Ñтраницу по команде +.B man mcedit . .\"NODE "Internal File Editor / options" .SH "Опции в ini\-файле Ð´Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¾Ñ€Ð°" @@ -3588,7 +3584,7 @@ tar\-файлов; файлов в файловой ÑиÑтеме ext2 (Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÐµÐ¼Ð°Ñ Ð² Linux по умолчанию); .br -\- файловой ÑиÑтемы fish (Ð´Ð»Ñ Ð¼Ð°Ð½Ð¸Ð¿ÑƒÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ при работе Ñ +\- файловой ÑиÑтемы shell (Ð´Ð»Ñ Ð¼Ð°Ð½Ð¸Ð¿ÑƒÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ при работе Ñ Ð¾Ð±Ð¾Ð»Ð¾Ñ‡ÐºÐ¾Ð¹ через такие программы как rsh и ssh); .br \- и, наконец, Ñетевой файловой ÑиÑтемы nfs. @@ -3599,15 +3595,15 @@ tar\-файлов; файловых ÑиÑтем опиÑаны в отдельных разделах по каждой ВФС: .IP .\"LINK2" -Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема ftpfs +Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема FTP .\"FTP File System" .br .\"LINK2" -Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема tar -.\"Tar File System" +Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема TAR +.\"TAR File System" .br .\"LINK2" -Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема FISH (FIle transfer over SHell) +Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема SHELL (FIle transfer over SHell) .\"FIle transfer over SHell filesystem" .br .\"LINK2" @@ -3617,9 +3613,9 @@ tar\-файлов; .\"LINK2" Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема UFS (Undelete File System) .\"Undelete File System" -.\"NODE "FTP File System" -.SH "Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема ftpfs" -Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема ftpfs позволÑет работать Ñ Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ на удалённых +.\"NODE " FTP File System" +.SH " Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема FTP" +Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема FTP позволÑет работать Ñ Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ на удалённых компьютерах. Ð”Ð»Ñ Ñтого можно иÑпользовать команду "FTP\-Ñоединение" (доÑтупную из меню левой и правой панелей) или же непоÑредÑтвенно Ñменить текущий каталог командой cd, задав путь к каталогу Ñледующим @@ -3663,7 +3659,7 @@ anonymous или Ð¸Ð¼Ñ Ð¸Ð· файла ~/.netrc. ÐеобÑзательный .PP Чтобы не задавать Ð¸Ð¼Ñ Ð¿Ñ€Ð¾ÐºÑи\-Ñервера каждый раз, можно поÑтавить отметку в квадратных Ñкобках возле опции -.I Ð’Ñегда иÑпользовать FTP прокÑи +.I Ð’Ñегда иÑпользовать FTP\-прокÑи в диалоговом окне .\"LINK2" Виртуальные ФС... @@ -3678,7 +3674,7 @@ anonymous или Ð¸Ð¼Ñ Ð¸Ð· файла ~/.netrc. ÐеобÑзательный .B mc.no_proxy без точки, то производит прÑмое обращение к данной машине. .PP -При подключении к ftp\-Ñерверу через фильтрующий пакеты маршрутизатор, +При подключении к FTP\-Ñерверу через фильтрующий пакеты маршрутизатор, который не позволÑет иÑпользовать обычный режим Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð², можно заÑтавить программу работать в режиме паÑÑивного Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°. Ð”Ð»Ñ Ñтого уÑтановите в конфигурационном файле параметр @@ -3699,9 +3695,9 @@ Midnight Commander ÑохранÑет в течение заданного ин Это не ÑвлÑетÑÑ Ð½ÐµÐ´Ð¾Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¾Ð¹ (еÑли вы думаете, что Ñто ошибка, поразмыÑлите над тем, как проиÑходит работа по FTP Ñ Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸, находÑщимиÑÑ Ð½Ð° другой Ñтороне ÐтлантичеÑкого океана). -.\"NODE " Tar File System" -.SH "Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема tar" -Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема tar обеÑпечивает доÑтуп по чтению к tar\- и Ñжатым +.\"NODE " TAR File System" +.SH " Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема TAR" +Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема TAR обеÑпечивает доÑтуп по чтению к tar\- и Ñжатым tar\-файлам, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñƒ chdir. Ð”Ð»Ñ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ð° в каталог, предÑтавлÑющий ÑпиÑок файлов tar\-файла, нужно иÑпользовать команду, имеющую Ñледующий формат: @@ -3710,7 +3706,7 @@ tar\-файлам, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñƒ chdir. Ð”Ð»Ñ Ð¿ÐµÑ€ÐµÑ…Ð¾ .PP Файл mc.ext.ini по умолчанию Ñодержит команды Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñмотра tar\-файлов, то еÑÑ‚ÑŒ обычно Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ ÑпиÑка файлов tar\-архива -доÑтаточно проÑто перемеÑтить указатель на Ð¸Ð¼Ñ tar\-файла и нажать +доÑтаточно проÑто перемеÑтить указатель на Ð¸Ð¼Ñ tar\-файла и нажать .BR Enter . Чтобы понÑÑ‚ÑŒ, как Ñто доÑтигаетÑÑ, Ñмотрите раздел .\"LINK2" @@ -3726,12 +3722,11 @@ tar\-файлов, то еÑÑ‚ÑŒ обычно Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ ÑÐ¿Ð¸Ñ .PP Ð’ поÑледнем примере указан полный путь к tar\-архиву. .\"NODE " FIle transfer over SHell filesystem" -.SH " Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема FISH (FIle transfer over SHell)" -Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема fish \- Ñто ÑÐµÑ‚ÐµÐ²Ð°Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»Ñет +.SH " Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема SHELL (FIle transfer over SHell)" +Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема shell \- Ñто ÑÐµÑ‚ÐµÐ²Ð°Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»Ñет работать Ñ Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ на удалённом компьютере так, как еÑли бы они были раÑположены на вашем диÑке. Ð”Ð»Ñ Ñ‚Ð¾Ð³Ð¾ чтобы Ñто было возможно, на -удалённом компьютере должен быть запущен fish\-Ñервер, или -bash\-ÑовмеÑÑ‚Ð¸Ð¼Ð°Ñ Ð¾Ð±Ð¾Ð»Ð¾Ñ‡ÐºÐ° shell. +удалённом компьютере должна быть запущена bash\-ÑовмеÑÑ‚Ð¸Ð¼Ð°Ñ Ð¾Ð±Ð¾Ð»Ð¾Ñ‡ÐºÐ° shell. .PP Ð”Ð»Ñ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñ ÑƒÐ´Ð°Ð»Ñ‘Ð½Ð½Ñ‹Ð¼ компьютером нужно выполнить команду перехода в каталог (chdir), Ð¸Ð¼Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð³Ð¾ задаётÑÑ Ð² Ñледующем формате: @@ -3775,7 +3770,7 @@ bash\-ÑовмеÑÑ‚Ð¸Ð¼Ð°Ñ Ð¾Ð±Ð¾Ð»Ð¾Ñ‡ÐºÐ° shell. Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема SFTP \- Ñто ÑÐµÑ‚ÐµÐ²Ð°Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»Ñет работать Ñ Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ на удалённом компьютере так, как еÑли бы они были раÑположены на вашем диÑке. Ð”Ð»Ñ Ñ‚Ð¾Ð³Ð¾ чтобы Ñто было возможно, на -удалённом компьютере должен быть запущен sftp\-Ñервер. +удалённом компьютере должен быть запущен SFTP\-Ñервер. .PP Ð”Ð»Ñ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñ ÑƒÐ´Ð°Ð»Ñ‘Ð½Ð½Ñ‹Ð¼ компьютером нужно выполнить команду перехода в каталог (chdir), Ð¸Ð¼Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð³Ð¾ задаётÑÑ Ð² Ñледующем формате: @@ -3831,7 +3826,7 @@ ext2fs, позволÑющий воÑÑтановить имена вÑех уд .PP Ð”Ð»Ñ Ñ‚Ð¾Ð³Ð¾ чтобы воÑпользоватьÑÑ Ñтой возможноÑтью (Ñтой файловой ÑиÑтемой), нужно выполнить команду перехода (chdir) в Ñпециальный -каталог, Ð¸Ð¼Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð³Ð¾ образуетÑÑ Ð¸Ð· префикÑа "undel://" и имени +каталог, Ð¸Ð¼Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð³Ð¾ образуетÑÑ Ð¸Ð· префикÑа "undel://" и имени Ñпециального файла уÑтройÑтва, на котором находитÑÑ Ñ€ÐµÐ°Ð»ÑŒÐ½Ð°Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема. .PP @@ -3858,7 +3853,7 @@ SCSI\-диÑка, нужно иÑпользовать Ñледующее имÑ: 1. Ðвтономные файловые ÑиÑтемы, которые не аÑÑоциированы ни Ñ Ð¾Ð´Ð½Ð¸Ð¼ из типов файлов.они предÑтавлÑÑŽÑ‚ некоторые ÑиÑтемные данные как дерево каталогов Ð’Ñ‹ можете их вызвать набрав \fIcd fsname://\fR", где fsname \- Ñто короткое -Ð¸Ð¼Ñ extfs (Ñм. ниже). Примеры Ñтих ВФС включают audio (ÑпиÑок вÑех звуковых +Ð¸Ð¼Ñ extfs (Ñм. ниже). Примеры Ñтих ВФС включают audio (ÑпиÑок вÑех звуковых дорожек на CD) или apt (ÑпиÑок вÑех уÑтановленных в ÑиÑтеме пакетов Debian). .PP Ðапример, Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ ÑпиÑка звуковых дорожек на CD наберите: @@ -3868,7 +3863,7 @@ SCSI\-диÑка, нужно иÑпользовать Ñледующее имÑ: .fi .PP 2. "Ðрхивные" файловые ÑиÑтемы (такие как rpm, patchfs и прочие) предÑтавлÑÑŽÑ‚ -Ñодержимое файла как дерево каталогов. Они могут ÑоÑтоÑÑ‚ÑŒ из "реальных" файлов, +Ñодержимое файла как дерево каталогов. Они могут ÑоÑтоÑÑ‚ÑŒ из "реальных" файлов, находÑщихÑÑ Ð² Ñжатом виде в архивах (urar, rpm) или из виртуальных файлов, например, Ñообщений в файле mailbox (mailfs) или чаÑти diff\-файла (patchfs). Ð”Ð»Ñ Ð´Ð¾Ñтупа к Ñтим ВФС ÑÑƒÑ„Ñ„Ð¸ÐºÑ @@ -4020,7 +4015,8 @@ bbarhotkey, bbarbutton. Цвета в диалоге\-Ñообщении об ошибке: errdfocus, errdhotnormal, errdhotfocus, errdtitle. Цвета в окне вÑтроенной помощи: helpnormal, helpitalic, helpbold, helplink, helpslink. Цвета в окне программы проÑмотра: viewnormal, viewbold, viewunderline, viewselected. -Цвета в редакторе: editnormal, editbold, editmarked, editwhitespace, editlinestate. +Цвета в редакторе: editnormal, editbold, editmarked, editwhitespace, editnonprintable, +editlinestate. Цвета окна вÑплывающего меню: pmenunormal, pmenusel, pmenutitle. .PP Цвета задавать не обÑзательно. Цвет какого именно Ð¿Ð¾Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÑетÑÑ @@ -4471,7 +4467,7 @@ menuhotsel=yellow;black;bold+underline ÐÐ°Ð·Ð²Ð°Ð½Ð¸Ñ Ð³Ñ€ÑƒÐ¿Ð¿ должны Ñовпадать Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñми параметров в Ñекции [filehighlight] в текущем Ñкин\-файле. .PP -Ключи в группах могут принимать Ñледующие значениÑ: +Ключи в группах могут принимать Ñледующие значениÑ: .TP .I type Тип файла. ЕÑли параметр приÑутÑтвует, оÑтальные опции игнорируютÑÑ @@ -4533,7 +4529,7 @@ menuhotsel=yellow;black;bold+underline .IP Этот параметр задаёт интервал времени (в Ñекундах), по иÑтечении которого Midnight Commander будет предпринимать повторную попытку -ÑоединитьÑÑ Ñ ftp\-Ñервером поÑле того, как Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð°Ñ Ð¿Ð¾Ð¿Ñ‹Ñ‚ÐºÐ° окончилаÑÑŒ +ÑоединитьÑÑ Ñ FTP\-Ñервером поÑле того, как Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð°Ñ Ð¿Ð¾Ð¿Ñ‹Ñ‚ÐºÐ° окончилаÑÑŒ неудачей. ЕÑли задано нулевое значение, программа не будет повторÑÑ‚ÑŒ попытку ÑоединитьÑÑ. .PP @@ -4543,7 +4539,7 @@ menuhotsel=yellow;black;bold+underline протоколу FTP в тех ÑлучаÑÑ…, когда компьютер Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ñ€Ð°ÑполагаетÑÑ Ð·Ð° маршрутизатором, фильтрующим пакеты (behind a filtering packet router). Эта Ð¾Ð¿Ñ†Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ð°ÐµÑ‚ только в том Ñлучае, еÑли вы не иÑпользуете -прокÑи (you are not using an ftp proxy). +FTP\-прокÑи. .PP .I max_dirt_limit .IP @@ -4594,7 +4590,7 @@ subshell. ЕÑли она уÑтановлена, то при нажатии УÑтановка Ñтой опции Ñлегка изменÑет реакцию программы на нажатие клавиш .B Home и -.B End +.B End в активной панели. ВмеÑто того, чтобы перемещать подÑветку (курÑор) к первому или поÑледнему из имен файлов, отображенных на панели, нажатие Ñтих клавиш будет вызывать Ñледующую реакцию: @@ -4664,7 +4660,7 @@ autodetect_codeset=russian .\"NODE "Parameters for external editor or viewer" .SH "Параметры Ð´Ð»Ñ Ð²Ð½ÐµÑˆÐ½Ð¸Ñ… редакторов и программ проÑмотра" Midnight Commander позволÑет задать некоторые параметрыы Ð´Ð»Ñ Ð²Ð½ÐµÑˆÐ½Ð¸Ñ… редакторов -и программ проÑмотра. Они задаютÑÑ Ð² Ñекции "[External editor or viewer parameters]", +и программ проÑмотра. Они задаютÑÑ Ð² Ñекции [External editor or viewer parameters], ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ñначала ищетÑÑ Ð² ÑиÑтемном (mc.lib), а затем в пользовательÑком (~/.config/mc/ini) файле инициализации. Ð˜Ð¼Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° должно Ñовпадать Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ внешнего редактора или программы проÑмотра. Значение параметра может Ñодержать Ñледующие переменные: @@ -4789,9 +4785,9 @@ insert=\\e[Op .PP .I %pkgdatadir%/mc.lib .IP -Глобальные уÑтановки Ð´Ð»Ñ Midnight Commander. УÑтановки из Ñтого файла +Глобальные уÑтановки Ð´Ð»Ñ Midnight Commander. УÑтановки из Ñтого файла дейÑтвительны Ð´Ð»Ñ Ð²Ñех пользователей, незавиÑимо от того, имеют ли они -~/.config/mc/ini или нет. Ð’ наÑтоÑщий момент только +~/.config/mc/ini или нет. Ð’ наÑтоÑщий момент только .\"LINK2" наÑтройки терминалов .\"Terminal databases" @@ -4851,7 +4847,7 @@ insert=\\e[Op .SH Ð›Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ Ð­Ñ‚Ð° программа раÑпроÑтранÑетÑÑ Ð² надежде, что она будет полезной, но БЕЗ КÐКИХ\-ЛИБО ГÐРÐÐТИЙ; даже без подразумеваемых гарантий КОММЕРЧЕСКОЙ -ЦЕÐÐОСТИ или ПРИГОДÐОСТИ ДЛЯ КОÐКРЕТÐОЙ ЦЕЛИ. Ð”Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´Ñ€Ð¾Ð±Ð½Ñ‹Ñ… +ЦЕÐÐОСТИ или ПРИГОДÐОСТИ ДЛЯ КОÐКРЕТÐОЙ ЦЕЛИ. Ð”Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´Ñ€Ð¾Ð±Ð½Ñ‹Ñ… Ñведений Ñмотрите УниверÑальную ОбщеÑтвенную Лицензию GNU. .\"NODE "AVAILABILITY" .SH "Обновление верÑий" @@ -4868,7 +4864,7 @@ zsh(1), mcedit(1). .fi .PP Ð”Ð°Ð½Ð½Ð°Ñ Ñтраница оперативного руководÑтва Ñодержит информацию, актуальную -Ð´Ð»Ñ Ð²ÐµÑ€Ñии 4.6.0 (Ñнварь 2003 года). ЕÑли вы иÑпользуете более Ñвежую +Ð´Ð»Ñ Ð²ÐµÑ€Ñии 4.6.0 (Ñнварь 2003 года). ЕÑли вы иÑпользуете более Ñвежую верÑию программы, Ð¾Ñ€Ð¸Ð³Ð¸Ð½Ð°Ð»ÑŒÐ½Ð°Ñ Ñтраница на английÑком Ñзыке может Ñодержать более полную и актуальную информацию. Ð”Ð»Ñ Ð¿Ñ€Ð¾Ñмотра оригинальной Ñтраницы в оболочке bash можно иÑпользовать команду diff --git a/mcsrc/doc/man/sr/mc.1.in b/mcsrc/doc/man/sr/mc.1.in index dd04dec..a7484cf 100644 --- a/mcsrc/doc/man/sr/mc.1.in +++ b/mcsrc/doc/man/sr/mc.1.in @@ -2865,7 +2865,7 @@ dnormal, dfocus, dhotnormal, dhotfocus. Боје помоћи Ñу: helpnormal, helpbold, helplink, helpslink. Боја прегледача је: viewunderline. ПоÑебне боје за иÑтицање Ñу: executable, directory, link, stalelink, device, special, core. Viewer colors are: viewnormal, viewbold, viewunderline, -viewselected. Боје уређивача Ñу: editnormal, editbold, editmarked. +viewselected. Боје уређивача Ñу: editnormal, editbold, editmarked, editnonprintable. .PP .I input одређује боју редова за ÑƒÐ½Ð¾Ñ ÐºÐ¾Ñ˜Ð¸ Ñе кориÑте у дијалозима упита. diff --git a/mcsrc/lib/charsets.c b/mcsrc/lib/charsets.c index 99f62ce..d8641d5 100644 --- a/mcsrc/lib/charsets.c +++ b/mcsrc/lib/charsets.c @@ -1,7 +1,7 @@ /* Text conversion from one charset to another. - Copyright (C) 2001-2023 + Copyright (C) 2001-2024 Free Software Foundation, Inc. Written by: @@ -136,6 +136,7 @@ load_codepages_list_from_file (GPtrArray ** list, const char *fname) if (*list == NULL) { *list = g_ptr_array_sized_new (16); + g_ptr_array_set_free_func (*list, free_codepage_desc); g_ptr_array_add (*list, new_codepage_desc (id, p)); } else diff --git a/mcsrc/lib/event/event.c b/mcsrc/lib/event/event.c index 10df96d..1c782f8 100644 --- a/mcsrc/lib/event/event.c +++ b/mcsrc/lib/event/event.c @@ -2,7 +2,7 @@ Handle events in application. Interface functions: init/deinit; start/stop - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/lib/event/manage.c b/mcsrc/lib/event/manage.c index b8f9733..4657af5 100644 --- a/mcsrc/lib/event/manage.c +++ b/mcsrc/lib/event/manage.c @@ -2,7 +2,7 @@ Handle any events in application. Manage events: add, delete, destroy, search - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/lib/event/raise.c b/mcsrc/lib/event/raise.c index 37cad46..8806b02 100644 --- a/mcsrc/lib/event/raise.c +++ b/mcsrc/lib/event/raise.c @@ -2,7 +2,7 @@ Handle any events in application. Raise events. - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/lib/filehighlight/common.c b/mcsrc/lib/filehighlight/common.c index d519744..71994aa 100644 --- a/mcsrc/lib/filehighlight/common.c +++ b/mcsrc/lib/filehighlight/common.c @@ -2,7 +2,7 @@ File highlight plugin. Interface functions - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/lib/filehighlight/get-color.c b/mcsrc/lib/filehighlight/get-color.c index cdca7e4..4122408 100644 --- a/mcsrc/lib/filehighlight/get-color.c +++ b/mcsrc/lib/filehighlight/get-color.c @@ -2,7 +2,7 @@ File highlight plugin. Interface functions. get color pair index for highlighted file. - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/lib/filehighlight/ini-file-read.c b/mcsrc/lib/filehighlight/ini-file-read.c index 596663d..7f6b87d 100644 --- a/mcsrc/lib/filehighlight/ini-file-read.c +++ b/mcsrc/lib/filehighlight/ini-file-read.c @@ -2,7 +2,7 @@ File highlight plugin. Reading and parse rules from ini-files - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/lib/fileloc.h b/mcsrc/lib/fileloc.h index ebcfe9d..a075d03 100644 --- a/mcsrc/lib/fileloc.h +++ b/mcsrc/lib/fileloc.h @@ -30,23 +30,23 @@ #define CHARSETS_LIST "mc.charsets" #define MC_MACRO_FILE "mc.macros" -#define FISH_PREFIX "fish" - -#define FISH_LS_FILE "ls" -#define FISH_EXISTS_FILE "fexists" -#define FISH_MKDIR_FILE "mkdir" -#define FISH_UNLINK_FILE "unlink" -#define FISH_CHOWN_FILE "chown" -#define FISH_CHMOD_FILE "chmod" -#define FISH_UTIME_FILE "utime" -#define FISH_RMDIR_FILE "rmdir" -#define FISH_LN_FILE "ln" -#define FISH_MV_FILE "mv" -#define FISH_HARDLINK_FILE "hardlink" -#define FISH_GET_FILE "get" -#define FISH_SEND_FILE "send" -#define FISH_APPEND_FILE "append" -#define FISH_INFO_FILE "info" +#define VFS_SHELL_PREFIX "shell" + +#define VFS_SHELL_LS_FILE "ls" +#define VFS_SHELL_EXISTS_FILE "fexists" +#define VFS_SHELL_MKDIR_FILE "mkdir" +#define VFS_SHELL_UNLINK_FILE "unlink" +#define VFS_SHELL_CHOWN_FILE "chown" +#define VFS_SHELL_CHMOD_FILE "chmod" +#define VFS_SHELL_UTIME_FILE "utime" +#define VFS_SHELL_RMDIR_FILE "rmdir" +#define VFS_SHELL_LN_FILE "ln" +#define VFS_SHELL_MV_FILE "mv" +#define VFS_SHELL_HARDLINK_FILE "hardlink" +#define VFS_SHELL_GET_FILE "get" +#define VFS_SHELL_SEND_FILE "send" +#define VFS_SHELL_APPEND_FILE "append" +#define VFS_SHELL_INFO_FILE "info" #define MC_EXTFS_DIR "extfs.d" diff --git a/mcsrc/lib/glibcompat.c b/mcsrc/lib/glibcompat.c index 0522c0f..0d58e49 100644 --- a/mcsrc/lib/glibcompat.c +++ b/mcsrc/lib/glibcompat.c @@ -1,7 +1,7 @@ /* GLIB - Library of useful routines for C programming - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: @@ -111,29 +111,8 @@ g_clear_list (GList ** list_ptr, GDestroyNotify destroy) } } -/* --------------------------------------------------------------------------------------------- */ - #endif /* ! GLIB_CHECK_VERSION (2, 63, 3) */ -#if ! GLIB_CHECK_VERSION (2, 32, 0) -/** - * g_queue_free_full: - * @queue: a pointer to a #GQueue - * @free_func: the function to be called to free each element's data - * - * Convenience method, which frees all the memory used by a #GQueue, - * and calls the specified destroy function on every element's data. - * - * Since: 2.32 - */ -void -g_queue_free_full (GQueue * queue, GDestroyNotify free_func) -{ - g_queue_foreach (queue, (GFunc) free_func, NULL); - g_queue_free (queue); -} -#endif /* ! GLIB_CHECK_VERSION (2, 32, 0) */ - /* --------------------------------------------------------------------------------------------- */ #if ! GLIB_CHECK_VERSION (2, 60, 0) @@ -161,6 +140,41 @@ g_queue_clear_full (GQueue * queue, GDestroyNotify free_func) /* --------------------------------------------------------------------------------------------- */ +#if ! GLIB_CHECK_VERSION (2, 77, 0) +/** + * g_string_new_take: + * @init: (nullable): initial text used as the string. + * Ownership of the string is transferred to the #GString. + * Passing NULL creates an empty string. + * + * Creates a new #GString, initialized with the given string. + * + * After this call, @init belongs to the #GString and may no longer be + * modified by the caller. The memory of @data has to be dynamically + * allocated and will eventually be freed with g_free(). + * + * Returns: the new #GString + */ +GString * +g_string_new_take (char *init) +{ + GString *string; + + if (init == NULL) + return g_string_new (NULL); + + string = g_slice_new (GString); + + string->str = init; + string->len = strlen (string->str); + string->allocated_len = string->len + 1; + + return string; +} +#endif /* ! GLIB_CHECK_VERSION (2, 77, 0) */ + +/* --------------------------------------------------------------------------------------------- */ + /** * mc_g_string_copy: * @dest: (not nullable): the destination #GString. Its current contents are destroyed diff --git a/mcsrc/lib/glibcompat.h b/mcsrc/lib/glibcompat.h index cb40966..4f0b4d6 100644 --- a/mcsrc/lib/glibcompat.h +++ b/mcsrc/lib/glibcompat.h @@ -21,14 +21,14 @@ void g_clear_slist (GSList ** slist_ptr, GDestroyNotify destroy); void g_clear_list (GList ** list_ptr, GDestroyNotify destroy); #endif /* ! GLIB_CHECK_VERSION (2, 63, 3) */ -#if ! GLIB_CHECK_VERSION (2, 32, 0) -void g_queue_free_full (GQueue * queue, GDestroyNotify free_func); -#endif /* ! GLIB_CHECK_VERSION (2, 32, 0) */ - #if ! GLIB_CHECK_VERSION (2, 60, 0) void g_queue_clear_full (GQueue * queue, GDestroyNotify free_func); #endif /* ! GLIB_CHECK_VERSION (2, 60, 0) */ +#if ! GLIB_CHECK_VERSION (2, 77, 0) +GString *g_string_new_take (char *init); +#endif /* ! GLIB_CHECK_VERSION (2, 77, 0) */ + /* There is no such API in GLib2 */ GString *mc_g_string_copy (GString * dest, const GString * src); diff --git a/mcsrc/lib/global.c b/mcsrc/lib/global.c index 0b1639d..40efcf9 100644 --- a/mcsrc/lib/global.c +++ b/mcsrc/lib/global.c @@ -1,7 +1,7 @@ /* Global structure for some library-related variables - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/lib/hook.c b/mcsrc/lib/hook.c index c67d75c..94ae5a9 100644 --- a/mcsrc/lib/hook.c +++ b/mcsrc/lib/hook.c @@ -4,7 +4,7 @@ Slavaz: Warning! this file is deprecated and should be replaced by mcevents functional. - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/lib/keybind.c b/mcsrc/lib/keybind.c index 9af3175..bd8f47d 100644 --- a/mcsrc/lib/keybind.c +++ b/mcsrc/lib/keybind.c @@ -1,7 +1,7 @@ /* Definitions of key bindings. - Copyright (C) 2005-2023 + Copyright (C) 2005-2024 Free Software Foundation, Inc. Written by: @@ -174,8 +174,8 @@ static name_keymap_t command_names[] = { ADD_KEYMAP_NAME (LinkSymbolicEdit), ADD_KEYMAP_NAME (ExternalPanelize), ADD_KEYMAP_NAME (Filter), -#ifdef ENABLE_VFS_FISH - ADD_KEYMAP_NAME (ConnectFish), +#ifdef ENABLE_VFS_SHELL + ADD_KEYMAP_NAME (ConnectShell), #endif #ifdef ENABLE_VFS_FTP ADD_KEYMAP_NAME (ConnectFtp), diff --git a/mcsrc/lib/keybind.h b/mcsrc/lib/keybind.h index 793bfff..ea936b3 100644 --- a/mcsrc/lib/keybind.h +++ b/mcsrc/lib/keybind.h @@ -154,7 +154,7 @@ enum CK_LinkSymbolicEdit, CK_ExternalPanelize, CK_Filter, - CK_ConnectFish, + CK_ConnectShell, CK_ConnectFtp, CK_ConnectSftp, CK_PanelInfo, @@ -345,7 +345,7 @@ enum CK_MergeOther, /* Change drive support (WIN32/APY) */ - CK_DriveChange = 800, + CK_DriveChange = 800L, CK_DriveChangeA, CK_DriveChangeB }; diff --git a/mcsrc/lib/lock.c b/mcsrc/lib/lock.c index c78fdbe..6b23b29 100644 --- a/mcsrc/lib/lock.c +++ b/mcsrc/lib/lock.c @@ -1,7 +1,7 @@ /* File locking - Copyright (C) 2003-2023 + Copyright (C) 2003-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/lib/logging.c b/mcsrc/lib/logging.c index 6dd0731..8e28612 100644 --- a/mcsrc/lib/logging.c +++ b/mcsrc/lib/logging.c @@ -1,7 +1,7 @@ /* Provides a log file to ease tracing the program. - Copyright (C) 2006-2023 + Copyright (C) 2006-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/lib/mcconfig.h b/mcsrc/lib/mcconfig.h index 0c3ab3b..abc28ef 100644 --- a/mcsrc/lib/mcconfig.h +++ b/mcsrc/lib/mcconfig.h @@ -105,6 +105,8 @@ vfs_path_t *mc_config_get_full_vpath (const char *config_name); /* read history to the mc_config, but don't save config to file */ GList *mc_config_history_get (const char *name); +/* read recent item from the history */ +char *mc_config_history_get_recent_item (const char *name); /* load history from the mc_config */ GList *mc_config_history_load (mc_config_t * cfg, const char *name); /* save history to the mc_config, but don't save config to file */ diff --git a/mcsrc/lib/mcconfig/common.c b/mcsrc/lib/mcconfig/common.c index 75979be..4891a39 100644 --- a/mcsrc/lib/mcconfig/common.c +++ b/mcsrc/lib/mcconfig/common.c @@ -1,7 +1,7 @@ /* Configure module for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. This file is part of the Midnight Commander. diff --git a/mcsrc/lib/mcconfig/get.c b/mcsrc/lib/mcconfig/get.c index f8ecfb1..4793b61 100644 --- a/mcsrc/lib/mcconfig/get.c +++ b/mcsrc/lib/mcconfig/get.c @@ -1,7 +1,7 @@ /* Configure module for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. This file is part of the Midnight Commander. diff --git a/mcsrc/lib/mcconfig/history.c b/mcsrc/lib/mcconfig/history.c index bfbdf0a..57249c4 100644 --- a/mcsrc/lib/mcconfig/history.c +++ b/mcsrc/lib/mcconfig/history.c @@ -1,7 +1,7 @@ /* - Widgets for the Midnight Commander + Configure module for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Authors: @@ -10,7 +10,7 @@ Jakub Jelinek, 1995 Andrej Borsenkow, 1996 Norbert Warmuth, 1997 - Andrew Borodin , 2009-2019 + Andrew Borodin , 2009-2023 This file is part of the Midnight Commander. @@ -65,7 +65,7 @@ int num_history_items_recorded = 60; /* --------------------------------------------------------------------------------------------- */ /** - * Load the history from the ${XDG_CACHE_HOME}/mc/history file. + * Load the history from the ${XDG_DATA_HOME}/mc/history file. * It is called with the widgets history name and returns the GList list. */ @@ -94,6 +94,33 @@ mc_config_history_get (const char *name) /* --------------------------------------------------------------------------------------------- */ +/** + * Get the recent item of a history from the ${XDG_DATA_HOME}/mc/history file. + * + * TODO: get rid of load the entire history to get the only top item. + */ + +char * +mc_config_history_get_recent_item (const char *name) +{ + GList *history; + char *item = NULL; + + history = mc_config_history_get (name); + if (history != NULL) + { + /* FIXME: can history->data be NULL? */ + item = (char *) history->data; + history->data = NULL; + history = g_list_first (history); + g_list_free_full (history, g_free); + } + + return item; +} + +/* --------------------------------------------------------------------------------------------- */ + /** * Load history from the mc_config */ @@ -177,8 +204,7 @@ mc_config_history_save (mc_config_t * cfg, const char *name, GList * h) for (i = 0; (i < num_history_items_recorded - 1) && (h->prev != NULL); i++) h = g_list_previous (h); - if (name != NULL) - mc_config_del_group (cfg, name); + mc_config_del_group (cfg, name); /* create charset conversion handler to convert strings from system codepage to UTF-8 */ diff --git a/mcsrc/lib/mcconfig/paths.c b/mcsrc/lib/mcconfig/paths.c index 46ec14d..fbb71c3 100644 --- a/mcsrc/lib/mcconfig/paths.c +++ b/mcsrc/lib/mcconfig/paths.c @@ -1,7 +1,7 @@ /* paths to configuration files - Copyright (C) 2010-2023 + Copyright (C) 2010-2024 Free Software Foundation, Inc. Written by: @@ -74,7 +74,7 @@ static const struct /* data */ { &mc_data_str, MC_SKINS_DIR }, - { &mc_data_str, FISH_PREFIX }, + { &mc_data_str, VFS_SHELL_PREFIX }, { &mc_data_str, MC_ASHRC_FILE }, { &mc_data_str, MC_BASHRC_FILE }, { &mc_data_str, MC_INPUTRC_FILE }, diff --git a/mcsrc/lib/mcconfig/set.c b/mcsrc/lib/mcconfig/set.c index 961435f..ce6d887 100644 --- a/mcsrc/lib/mcconfig/set.c +++ b/mcsrc/lib/mcconfig/set.c @@ -1,7 +1,7 @@ /* Configure module for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. This file is part of the Midnight Commander. diff --git a/mcsrc/lib/search/glob.c b/mcsrc/lib/search/glob.c index 5874aba..a0326d0 100644 --- a/mcsrc/lib/search/glob.c +++ b/mcsrc/lib/search/glob.c @@ -2,7 +2,7 @@ Search text engine. Glob-style pattern matching - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/lib/search/hex.c b/mcsrc/lib/search/hex.c index 50af6fb..a5764d8 100644 --- a/mcsrc/lib/search/hex.c +++ b/mcsrc/lib/search/hex.c @@ -2,7 +2,7 @@ Search text engine. HEX-style pattern matching - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/lib/search/lib.c b/mcsrc/lib/search/lib.c index 2c22504..1158e83 100644 --- a/mcsrc/lib/search/lib.c +++ b/mcsrc/lib/search/lib.c @@ -2,7 +2,7 @@ Search text engine. Common share code for module. - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/lib/search/normal.c b/mcsrc/lib/search/normal.c index 9042bfc..9d86b44 100644 --- a/mcsrc/lib/search/normal.c +++ b/mcsrc/lib/search/normal.c @@ -2,7 +2,7 @@ Search text engine. Plain search - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/lib/search/regex.c b/mcsrc/lib/search/regex.c index 0d41de0..163e31a 100644 --- a/mcsrc/lib/search/regex.c +++ b/mcsrc/lib/search/regex.c @@ -2,7 +2,7 @@ Search text engine. Regex search - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: @@ -397,17 +397,16 @@ mc_search_regex__get_max_num_of_replace_tokens (const gchar * str, gsize len) { int max_token = 0; gsize loop; + for (loop = 0; loop < len - 1; loop++) - { if (str[loop] == '\\' && g_ascii_isdigit (str[loop + 1])) { if (strutils_is_char_escaped (str, &str[loop])) continue; if (max_token < str[loop + 1] - '0') max_token = str[loop + 1] - '0'; - continue; } - if (str[loop] == '$' && str[loop + 1] == '{') + else if (str[loop] == '$' && str[loop + 1] == '{') { gsize tmp_len; @@ -430,7 +429,7 @@ mc_search_regex__get_max_num_of_replace_tokens (const gchar * str, gsize len) g_free (tmp_str); } } - } + return max_token; } diff --git a/mcsrc/lib/search/search.c b/mcsrc/lib/search/search.c index 8ccb65f..ddbdc2b 100644 --- a/mcsrc/lib/search/search.c +++ b/mcsrc/lib/search/search.c @@ -2,7 +2,7 @@ Search text engine. Interface functions - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/lib/serialize.c b/mcsrc/lib/serialize.c index 1db0a9c..6021af5 100644 --- a/mcsrc/lib/serialize.c +++ b/mcsrc/lib/serialize.c @@ -1,7 +1,7 @@ /* Provides a serialize/unserialize functionality for INI-like formats. - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/lib/shell.c b/mcsrc/lib/shell.c index b81fad2..f205b0a 100644 --- a/mcsrc/lib/shell.c +++ b/mcsrc/lib/shell.c @@ -1,7 +1,7 @@ /* Provides a functions for working with shell. - Copyright (C) 2006-2023 + Copyright (C) 2006-2024 Free Software Foundation, Inc. Written by: @@ -189,6 +189,8 @@ mc_shell_recognize_real_path (mc_shell_t * mc_shell) mc_shell->type = SHELL_ASH_BUSYBOX; mc_shell->name = mc_shell->path; } +#if defined(WIN32) //WIN32, TODO/XXX +#endif else mc_shell->type = SHELL_NONE; } diff --git a/mcsrc/lib/skin.h b/mcsrc/lib/skin.h index 024e0c5..099c364 100644 --- a/mcsrc/lib/skin.h +++ b/mcsrc/lib/skin.h @@ -87,28 +87,29 @@ * Last is defined to view color. */ #define EDITOR_NORMAL_COLOR mc_skin_color__cache[49] -#define EDITOR_BOLD_COLOR mc_skin_color__cache[50] -#define EDITOR_MARKED_COLOR mc_skin_color__cache[51] -#define EDITOR_WHITESPACE_COLOR mc_skin_color__cache[52] -#define EDITOR_RIGHT_MARGIN_COLOR mc_skin_color__cache[53] -#define EDITOR_BACKGROUND mc_skin_color__cache[54] -#define EDITOR_FRAME mc_skin_color__cache[55] -#define EDITOR_FRAME_ACTIVE mc_skin_color__cache[56] -#define EDITOR_FRAME_DRAG mc_skin_color__cache[57] +#define EDITOR_NONPRINTABLE_COLOR mc_skin_color__cache[50] +#define EDITOR_BOLD_COLOR mc_skin_color__cache[51] +#define EDITOR_MARKED_COLOR mc_skin_color__cache[52] +#define EDITOR_WHITESPACE_COLOR mc_skin_color__cache[53] +#define EDITOR_RIGHT_MARGIN_COLOR mc_skin_color__cache[54] +#define EDITOR_BACKGROUND mc_skin_color__cache[55] +#define EDITOR_FRAME mc_skin_color__cache[56] +#define EDITOR_FRAME_ACTIVE mc_skin_color__cache[57] +#define EDITOR_FRAME_DRAG mc_skin_color__cache[58] /* color of left 8 char status per line */ -#define LINE_STATE_COLOR mc_skin_color__cache[58] -#define BOOK_MARK_COLOR mc_skin_color__cache[59] -#define BOOK_MARK_FOUND_COLOR mc_skin_color__cache[60] +#define LINE_STATE_COLOR mc_skin_color__cache[59] +#define BOOK_MARK_COLOR mc_skin_color__cache[60] +#define BOOK_MARK_FOUND_COLOR mc_skin_color__cache[61] /* Diff colors */ -#define DFF_ADD_COLOR mc_skin_color__cache[61] -#define DFF_CHG_COLOR mc_skin_color__cache[62] -#define DFF_CHH_COLOR mc_skin_color__cache[63] -#define DFF_CHD_COLOR mc_skin_color__cache[64] -#define DFF_DEL_COLOR mc_skin_color__cache[65] -#define DFF_ERROR_COLOR mc_skin_color__cache[66] - -#define MC_SKIN_COLOR_CACHE_COUNT 67 +#define DFF_ADD_COLOR mc_skin_color__cache[62] +#define DFF_CHG_COLOR mc_skin_color__cache[63] +#define DFF_CHH_COLOR mc_skin_color__cache[64] +#define DFF_CHD_COLOR mc_skin_color__cache[65] +#define DFF_DEL_COLOR mc_skin_color__cache[66] +#define DFF_ERROR_COLOR mc_skin_color__cache[67] + +#define MC_SKIN_COLOR_CACHE_COUNT 68 /*** enums ***************************************************************************************/ diff --git a/mcsrc/lib/skin/colors-old.c b/mcsrc/lib/skin/colors-old.c index 628b2aa..3430cd6 100644 --- a/mcsrc/lib/skin/colors-old.c +++ b/mcsrc/lib/skin/colors-old.c @@ -2,7 +2,7 @@ Skins engine. Work with colors - backward compatibility - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: @@ -69,6 +69,7 @@ static const mc_skin_colors_old_t old_colors[] = { {"editframedrag", "editor", "editframedrag"}, {"editlinestate", "editor", "editlinestate"}, {"editmarked", "editor", "editmarked"}, + {"editnonprintable", "editor", "editnonprintable"}, {"editnormal", "editor", "_default_"}, {"editwhitespace", "editor", "editwhitespace"}, {"errdhotfocus", "error", "errdhotfocus"}, diff --git a/mcsrc/lib/skin/colors.c b/mcsrc/lib/skin/colors.c index 87e9442..688866e 100644 --- a/mcsrc/lib/skin/colors.c +++ b/mcsrc/lib/skin/colors.c @@ -2,7 +2,7 @@ Skins engine. Work with colors - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: @@ -49,11 +49,11 @@ int mc_skin_color__cache[MC_SKIN_COLOR_CACHE_COUNT]; /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ -static mc_skin_color_t * +static tty_color_pair_t * mc_skin_color_get_from_hash (mc_skin_t * mc_skin, const gchar * group, const gchar * key) { gchar kname[BUF_TINY]; - mc_skin_color_t *mc_skin_color; + tty_color_pair_t *mc_skin_color; if (group == NULL || key == NULL) return NULL; @@ -62,7 +62,7 @@ mc_skin_color_get_from_hash (mc_skin_t * mc_skin, const gchar * group, const gch mc_skin = &mc_skin__default; g_snprintf (kname, sizeof (kname), "%s.%s", group, key); - mc_skin_color = (mc_skin_color_t *) g_hash_table_lookup (mc_skin->colors, (gpointer) kname); + mc_skin_color = (tty_color_pair_t *) g_hash_table_lookup (mc_skin->colors, (gpointer) kname); return mc_skin_color; } @@ -89,7 +89,7 @@ mc_skin_color_remove_from_hash (mc_skin_t * mc_skin, const gchar * group, const static void mc_skin_color_add_to_hash (mc_skin_t * mc_skin, const gchar * group, const gchar * key, - mc_skin_color_t * mc_skin_color) + tty_color_pair_t * mc_skin_color) { gchar *kname; @@ -105,10 +105,10 @@ mc_skin_color_add_to_hash (mc_skin_t * mc_skin, const gchar * group, const gchar /* --------------------------------------------------------------------------------------------- */ -static mc_skin_color_t * +static tty_color_pair_t * mc_skin_color_get_with_defaults (const gchar * group, const gchar * name) { - mc_skin_color_t *mc_skin_color; + tty_color_pair_t *mc_skin_color; mc_skin_color = mc_skin_color_get_from_hash (NULL, group, name); if (mc_skin_color != NULL) @@ -179,12 +179,12 @@ mc_skin_color_look_up_alias (mc_skin_t * mc_skin, gchar * str) /* --------------------------------------------------------------------------------------------- */ -static mc_skin_color_t * +static tty_color_pair_t * mc_skin_color_get_from_ini_file (mc_skin_t * mc_skin, const gchar * group, const gchar * key) { gsize items_count; gchar **values; - mc_skin_color_t *mc_skin_color, *tmp; + tty_color_pair_t *mc_skin_color, *tmp; values = mc_config_get_string_list (mc_skin->config, group, key, &items_count); if (values == NULL || values[0] == NULL) @@ -193,7 +193,7 @@ mc_skin_color_get_from_ini_file (mc_skin_t * mc_skin, const gchar * group, const return NULL; } - mc_skin_color = g_try_new0 (mc_skin_color_t, 1); + mc_skin_color = g_try_new0 (tty_color_pair_t, 1); if (mc_skin_color == NULL) { g_strfreev (values); @@ -201,21 +201,19 @@ mc_skin_color_get_from_ini_file (mc_skin_t * mc_skin, const gchar * group, const } tmp = mc_skin_color_get_with_defaults (group, "_default_"); - mc_skin_color->fgcolor = (items_count > 0 && values[0][0]) ? + mc_skin_color->fg = (items_count > 0 && values[0][0]) ? mc_skin_color_look_up_alias (mc_skin, g_strstrip (g_strdup (values[0]))) : - (tmp != NULL) ? g_strdup (tmp->fgcolor) : NULL; - mc_skin_color->bgcolor = (items_count > 1 && values[1][0]) ? + (tmp != NULL) ? g_strdup (tmp->fg) : NULL; + mc_skin_color->bg = (items_count > 1 && values[1][0]) ? mc_skin_color_look_up_alias (mc_skin, g_strstrip (g_strdup (values[1]))) : - (tmp != NULL) ? g_strdup (tmp->bgcolor) : NULL; + (tmp != NULL) ? g_strdup (tmp->bg) : NULL; mc_skin_color->attrs = (items_count > 2 && values[2][0]) ? mc_skin_color_look_up_alias (mc_skin, g_strstrip (g_strdup (values[2]))) : (tmp != NULL) ? g_strdup (tmp->attrs) : NULL; g_strfreev (values); - mc_skin_color->pair_index = - tty_try_alloc_color_pair2 (mc_skin_color->fgcolor, mc_skin_color->bgcolor, - mc_skin_color->attrs, FALSE); + mc_skin_color->pair_index = tty_try_alloc_color_pair (mc_skin_color, FALSE); return mc_skin_color; } @@ -225,16 +223,15 @@ mc_skin_color_get_from_ini_file (mc_skin_t * mc_skin, const gchar * group, const static void mc_skin_color_set_default_for_terminal (mc_skin_t * mc_skin) { - mc_skin_color_t *mc_skin_color; - mc_skin_color = g_try_new0 (mc_skin_color_t, 1); + tty_color_pair_t *mc_skin_color; + + mc_skin_color = g_try_new0 (tty_color_pair_t, 1); if (mc_skin_color != NULL) { - mc_skin_color->fgcolor = g_strdup ("default"); - mc_skin_color->bgcolor = g_strdup ("default"); + mc_skin_color->fg = g_strdup ("default"); + mc_skin_color->bg = g_strdup ("default"); mc_skin_color->attrs = NULL; - mc_skin_color->pair_index = - tty_try_alloc_color_pair2 (mc_skin_color->fgcolor, mc_skin_color->bgcolor, - mc_skin_color->attrs, FALSE); + mc_skin_color->pair_index = tty_try_alloc_color_pair (mc_skin_color, FALSE); mc_skin_color_add_to_hash (mc_skin, "skin", "terminal_default_color", mc_skin_color); } } @@ -305,6 +302,7 @@ mc_skin_color_cache_init (void) EDITOR_BOLD_COLOR = mc_skin_color_get ("editor", "editbold"); EDITOR_MARKED_COLOR = mc_skin_color_get ("editor", "editmarked"); EDITOR_WHITESPACE_COLOR = mc_skin_color_get ("editor", "editwhitespace"); + EDITOR_NONPRINTABLE_COLOR = mc_skin_color_get ("editor", "editnonprintable"); EDITOR_RIGHT_MARGIN_COLOR = mc_skin_color_get ("editor", "editrightmargin"); LINE_STATE_COLOR = mc_skin_color_get ("editor", "editlinestate"); EDITOR_BACKGROUND = mc_skin_color_get ("editor", "editbg"); @@ -363,7 +361,7 @@ mc_skin_color_parse_ini_file (mc_skin_t * mc_skin) gboolean ret = FALSE; gsize items_count; gchar **groups, **orig_groups; - mc_skin_color_t *mc_skin_color; + tty_color_pair_t *mc_skin_color; mc_skin_color_check_bw_mode (mc_skin); @@ -377,7 +375,7 @@ mc_skin_color_parse_ini_file (mc_skin_t * mc_skin) if (mc_skin_color == NULL) goto ret; - tty_color_set_defaults (mc_skin_color->fgcolor, mc_skin_color->bgcolor, mc_skin_color->attrs); + tty_color_set_defaults (mc_skin_color); mc_skin_color_add_to_hash (mc_skin, "core", "_default_", mc_skin_color); for (groups = orig_groups; *groups != NULL; groups++) @@ -412,7 +410,7 @@ mc_skin_color_parse_ini_file (mc_skin_t * mc_skin) int mc_skin_color_get (const gchar * group, const gchar * name) { - mc_skin_color_t *mc_skin_color; + tty_color_pair_t *mc_skin_color; mc_skin_color = mc_skin_color_get_with_defaults (group, name); diff --git a/mcsrc/lib/skin/common.c b/mcsrc/lib/skin/common.c index 85790f2..e94977c 100644 --- a/mcsrc/lib/skin/common.c +++ b/mcsrc/lib/skin/common.c @@ -2,7 +2,7 @@ Skins engine. Interface functions - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: @@ -54,9 +54,10 @@ static gboolean mc_skin_is_init = FALSE; static void mc_skin_hash_destroy_value (gpointer data) { - mc_skin_color_t *mc_skin_color = (mc_skin_color_t *) data; - g_free (mc_skin_color->fgcolor); - g_free (mc_skin_color->bgcolor); + tty_color_pair_t *mc_skin_color = (tty_color_pair_t *) data; + + g_free (mc_skin_color->fg); + g_free (mc_skin_color->bg); g_free (mc_skin_color->attrs); g_free (mc_skin_color); } @@ -180,8 +181,7 @@ mc_skin_init (const gchar * skin_override, GError ** mcerror) void mc_skin_deinit (void) { - tty_color_free_all_tmp (); - tty_color_free_all_non_tmp (); + tty_color_free_all (); MC_PTR_FREE (mc_skin__default.name); g_hash_table_destroy (mc_skin__default.colors); diff --git a/mcsrc/lib/skin/hc-skins.c b/mcsrc/lib/skin/hc-skins.c index 95ac73d..1a13dec 100644 --- a/mcsrc/lib/skin/hc-skins.c +++ b/mcsrc/lib/skin/hc-skins.c @@ -2,7 +2,7 @@ Skins engine. Set of hardcoded skins - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/lib/skin/ini-file.c b/mcsrc/lib/skin/ini-file.c index 6d92435..24d7c25 100644 --- a/mcsrc/lib/skin/ini-file.c +++ b/mcsrc/lib/skin/ini-file.c @@ -2,7 +2,7 @@ Skins engine. Reading and parse ini-files - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/lib/skin/internal.h b/mcsrc/lib/skin/internal.h index 8b468db..6bc0a23 100644 --- a/mcsrc/lib/skin/internal.h +++ b/mcsrc/lib/skin/internal.h @@ -10,14 +10,6 @@ /*** structures declarations (and typedefs of structures)*****************************************/ -typedef struct mc_skin_color_struct -{ - gchar *fgcolor; - gchar *bgcolor; - gchar *attrs; - int pair_index; -} mc_skin_color_t; - /*** global variables defined in .c file *********************************************************/ /*** declarations of public functions ************************************************************/ diff --git a/mcsrc/lib/skin/lines.c b/mcsrc/lib/skin/lines.c index 90cc028..436f555 100644 --- a/mcsrc/lib/skin/lines.c +++ b/mcsrc/lib/skin/lines.c @@ -2,7 +2,7 @@ Skins engine. Work with line draving chars. - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: @@ -68,33 +68,31 @@ mc_skin_lines_parse_ini_file (mc_skin_t * mc_skin) mc_skin_hardcoded_space_lines (mc_skin); else if (mc_global.tty.ugly_line_drawing) mc_skin_hardcoded_ugly_lines (mc_skin); - else - { - /* single lines */ - mc_tty_frm[MC_TTY_FRM_VERT] = mc_skin_lines_load_frm (mc_skin, "vert"); - mc_tty_frm[MC_TTY_FRM_HORIZ] = mc_skin_lines_load_frm (mc_skin, "horiz"); - mc_tty_frm[MC_TTY_FRM_LEFTTOP] = mc_skin_lines_load_frm (mc_skin, "lefttop"); - mc_tty_frm[MC_TTY_FRM_RIGHTTOP] = mc_skin_lines_load_frm (mc_skin, "righttop"); - mc_tty_frm[MC_TTY_FRM_LEFTBOTTOM] = mc_skin_lines_load_frm (mc_skin, "leftbottom"); - mc_tty_frm[MC_TTY_FRM_RIGHTBOTTOM] = mc_skin_lines_load_frm (mc_skin, "rightbottom"); - mc_tty_frm[MC_TTY_FRM_TOPMIDDLE] = mc_skin_lines_load_frm (mc_skin, "topmiddle"); - mc_tty_frm[MC_TTY_FRM_BOTTOMMIDDLE] = mc_skin_lines_load_frm (mc_skin, "bottommiddle"); - mc_tty_frm[MC_TTY_FRM_LEFTMIDDLE] = mc_skin_lines_load_frm (mc_skin, "leftmiddle"); - mc_tty_frm[MC_TTY_FRM_RIGHTMIDDLE] = mc_skin_lines_load_frm (mc_skin, "rightmiddle"); - mc_tty_frm[MC_TTY_FRM_CROSS] = mc_skin_lines_load_frm (mc_skin, "cross"); - - /* double lines */ - mc_tty_frm[MC_TTY_FRM_DVERT] = mc_skin_lines_load_frm (mc_skin, "dvert"); - mc_tty_frm[MC_TTY_FRM_DHORIZ] = mc_skin_lines_load_frm (mc_skin, "dhoriz"); - mc_tty_frm[MC_TTY_FRM_DLEFTTOP] = mc_skin_lines_load_frm (mc_skin, "dlefttop"); - mc_tty_frm[MC_TTY_FRM_DRIGHTTOP] = mc_skin_lines_load_frm (mc_skin, "drighttop"); - mc_tty_frm[MC_TTY_FRM_DLEFTBOTTOM] = mc_skin_lines_load_frm (mc_skin, "dleftbottom"); - mc_tty_frm[MC_TTY_FRM_DRIGHTBOTTOM] = mc_skin_lines_load_frm (mc_skin, "drightbottom"); - mc_tty_frm[MC_TTY_FRM_DTOPMIDDLE] = mc_skin_lines_load_frm (mc_skin, "dtopmiddle"); - mc_tty_frm[MC_TTY_FRM_DBOTTOMMIDDLE] = mc_skin_lines_load_frm (mc_skin, "dbottommiddle"); - mc_tty_frm[MC_TTY_FRM_DLEFTMIDDLE] = mc_skin_lines_load_frm (mc_skin, "dleftmiddle"); - mc_tty_frm[MC_TTY_FRM_DRIGHTMIDDLE] = mc_skin_lines_load_frm (mc_skin, "drightmiddle"); - } + + /* single lines */ + mc_tty_frm[MC_TTY_FRM_VERT] = mc_skin_lines_load_frm (mc_skin, "vert"); + mc_tty_frm[MC_TTY_FRM_HORIZ] = mc_skin_lines_load_frm (mc_skin, "horiz"); + mc_tty_frm[MC_TTY_FRM_LEFTTOP] = mc_skin_lines_load_frm (mc_skin, "lefttop"); + mc_tty_frm[MC_TTY_FRM_RIGHTTOP] = mc_skin_lines_load_frm (mc_skin, "righttop"); + mc_tty_frm[MC_TTY_FRM_LEFTBOTTOM] = mc_skin_lines_load_frm (mc_skin, "leftbottom"); + mc_tty_frm[MC_TTY_FRM_RIGHTBOTTOM] = mc_skin_lines_load_frm (mc_skin, "rightbottom"); + mc_tty_frm[MC_TTY_FRM_TOPMIDDLE] = mc_skin_lines_load_frm (mc_skin, "topmiddle"); + mc_tty_frm[MC_TTY_FRM_BOTTOMMIDDLE] = mc_skin_lines_load_frm (mc_skin, "bottommiddle"); + mc_tty_frm[MC_TTY_FRM_LEFTMIDDLE] = mc_skin_lines_load_frm (mc_skin, "leftmiddle"); + mc_tty_frm[MC_TTY_FRM_RIGHTMIDDLE] = mc_skin_lines_load_frm (mc_skin, "rightmiddle"); + mc_tty_frm[MC_TTY_FRM_CROSS] = mc_skin_lines_load_frm (mc_skin, "cross"); + + /* double lines */ + mc_tty_frm[MC_TTY_FRM_DVERT] = mc_skin_lines_load_frm (mc_skin, "dvert"); + mc_tty_frm[MC_TTY_FRM_DHORIZ] = mc_skin_lines_load_frm (mc_skin, "dhoriz"); + mc_tty_frm[MC_TTY_FRM_DLEFTTOP] = mc_skin_lines_load_frm (mc_skin, "dlefttop"); + mc_tty_frm[MC_TTY_FRM_DRIGHTTOP] = mc_skin_lines_load_frm (mc_skin, "drighttop"); + mc_tty_frm[MC_TTY_FRM_DLEFTBOTTOM] = mc_skin_lines_load_frm (mc_skin, "dleftbottom"); + mc_tty_frm[MC_TTY_FRM_DRIGHTBOTTOM] = mc_skin_lines_load_frm (mc_skin, "drightbottom"); + mc_tty_frm[MC_TTY_FRM_DTOPMIDDLE] = mc_skin_lines_load_frm (mc_skin, "dtopmiddle"); + mc_tty_frm[MC_TTY_FRM_DBOTTOMMIDDLE] = mc_skin_lines_load_frm (mc_skin, "dbottommiddle"); + mc_tty_frm[MC_TTY_FRM_DLEFTMIDDLE] = mc_skin_lines_load_frm (mc_skin, "dleftmiddle"); + mc_tty_frm[MC_TTY_FRM_DRIGHTMIDDLE] = mc_skin_lines_load_frm (mc_skin, "drightmiddle"); } /* --------------------------------------------------------------------------------------------- */ diff --git a/mcsrc/lib/strutil/filevercmp.c b/mcsrc/lib/strutil/filevercmp.c index 6a6232a..281c594 100644 --- a/mcsrc/lib/strutil/filevercmp.c +++ b/mcsrc/lib/strutil/filevercmp.c @@ -1,7 +1,7 @@ /* Copyright (C) 1995 Ian Jackson Copyright (C) 2001 Anthony Towns - Copyright (C) 2008-2023 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as diff --git a/mcsrc/lib/strutil/replace.c b/mcsrc/lib/strutil/replace.c index 99356ee..a2d700d 100644 --- a/mcsrc/lib/strutil/replace.c +++ b/mcsrc/lib/strutil/replace.c @@ -1,7 +1,7 @@ /* Functions for replacing substrings in strings. - Copyright (C) 2013-2023 + Copyright (C) 2013-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/lib/strutil/strescape.c b/mcsrc/lib/strutil/strescape.c index a605ad8..1412fee 100644 --- a/mcsrc/lib/strutil/strescape.c +++ b/mcsrc/lib/strutil/strescape.c @@ -1,7 +1,7 @@ /* Functions for escaping and unescaping strings - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/lib/strutil/strutil.c b/mcsrc/lib/strutil/strutil.c index dcb12d6..3e97d74 100644 --- a/mcsrc/lib/strutil/strutil.c +++ b/mcsrc/lib/strutil/strutil.c @@ -1,7 +1,7 @@ /* Common strings utilities - Copyright (C) 2007-2023 + Copyright (C) 2007-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/lib/strutil/strutil8bit.c b/mcsrc/lib/strutil/strutil8bit.c index 2002e5e..468e6ea 100644 --- a/mcsrc/lib/strutil/strutil8bit.c +++ b/mcsrc/lib/strutil/strutil8bit.c @@ -1,7 +1,7 @@ /* 8bit strings utilities - Copyright (C) 2007-2023 + Copyright (C) 2007-2024 Free Software Foundation, Inc. Written by: @@ -677,13 +677,14 @@ str_8bit_casecmp (const char *s1, const char *s2) return strcasecmp (s1, s2); #else - gint c1, c2; g_return_val_if_fail (s1 != NULL, 0); g_return_val_if_fail (s2 != NULL, 0); - while (*s1 != '\0' && *s2 != '\0') + for (; *s1 != '\0' && *s2 != '\0'; s1++, s2++) { + gint c1, c2; + /* According to A. Cox, some platforms have islower's that * don't work right on non-uppercase */ @@ -691,8 +692,6 @@ str_8bit_casecmp (const char *s1, const char *s2) c2 = isupper ((guchar) * s2) ? tolower ((guchar) * s2) : *s2; if (c1 != c2) return (c1 - c2); - s1++; - s2++; } return (((gint) (guchar) * s1) - ((gint) (guchar) * s2)); @@ -716,11 +715,12 @@ str_8bit_ncasecmp (const char *s1, const char *s2) #ifdef HAVE_STRNCASECMP return strncasecmp (s1, s2, n); #else - gint c1, c2; - while (n != 0 && *s1 != '\0' && *s2 != '\0') + for (; *s1 != '\0' && *s2 != '\0'; s1++, s2++) { - n -= 1; + gint c1, c2; + + n--; /* According to A. Cox, some platforms have islower's that * don't work right on non-uppercase */ @@ -728,8 +728,6 @@ str_8bit_ncasecmp (const char *s1, const char *s2) c2 = isupper ((guchar) * s2) ? tolower ((guchar) * s2) : *s2; if (c1 != c2) return (c1 - c2); - s1++; - s2++; } if (n == 0) diff --git a/mcsrc/lib/strutil/strutilascii.c b/mcsrc/lib/strutil/strutilascii.c index 421bfdb..eb0a742 100644 --- a/mcsrc/lib/strutil/strutilascii.c +++ b/mcsrc/lib/strutil/strutilascii.c @@ -1,7 +1,7 @@ /* ASCII strings utilities - Copyright (C) 2007-2023 + Copyright (C) 2007-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/lib/strutil/strutilutf8.c b/mcsrc/lib/strutil/strutilutf8.c index e143abe..9142f3d 100644 --- a/mcsrc/lib/strutil/strutilutf8.c +++ b/mcsrc/lib/strutil/strutilutf8.c @@ -1,7 +1,7 @@ /* UTF-8 strings utilities - Copyright (C) 2007-2023 + Copyright (C) 2007-2024 Free Software Foundation, Inc. Written by: @@ -901,12 +901,12 @@ str_utf8_offset_to_pos (const char *text, size_t length) else { int result; - GString *buffer; + char *buffer; - buffer = g_string_new (text); - str_utf8_fix_string (buffer->str); - result = g_utf8_offset_to_pointer (buffer->str, length) - buffer->str; - g_string_free (buffer, TRUE); + buffer = g_strdup (text); + str_utf8_fix_string (buffer); + result = g_utf8_offset_to_pointer (buffer, length) - buffer; + g_free (buffer); return result; } } diff --git a/mcsrc/lib/strutil/strverscmp.c b/mcsrc/lib/strutil/strverscmp.c index 7d720c5..26ab5e9 100644 --- a/mcsrc/lib/strutil/strverscmp.c +++ b/mcsrc/lib/strutil/strverscmp.c @@ -1,7 +1,7 @@ /* Compare strings while treating digits characters numerically. - Copyright (C) 1997-2023 + Copyright (C) 1997-2024 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/mcsrc/lib/strutil/xstrtol.c b/mcsrc/lib/strutil/xstrtol.c index a0f93ce..5695c19 100644 --- a/mcsrc/lib/strutil/xstrtol.c +++ b/mcsrc/lib/strutil/xstrtol.c @@ -1,6 +1,6 @@ /* A more useful interface to strtol. - Copyright (C) 1995-2023 + Copyright (C) 1995-2024 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/mcsrc/lib/timefmt.c b/mcsrc/lib/timefmt.c index 43bd429..caa7a1d 100644 --- a/mcsrc/lib/timefmt.c +++ b/mcsrc/lib/timefmt.c @@ -1,7 +1,7 @@ /* Time formatting functions - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/lib/tty/color-internal.c b/mcsrc/lib/tty/color-internal.c index 8db2b6c..16b76ef 100644 --- a/mcsrc/lib/tty/color-internal.c +++ b/mcsrc/lib/tty/color-internal.c @@ -1,7 +1,7 @@ /* Internal stuff of color setup - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: @@ -184,9 +184,9 @@ tty_color_get_name_by_index (int idx) char name[9]; if (idx < 256) - sprintf (name, "color%d", idx); + g_snprintf (name, sizeof (name), "color%d", idx); else - sprintf (name, "#%06X", (unsigned int) idx & 0xFFFFFF); + g_snprintf (name, sizeof (name), "#%06X", (unsigned int) idx & 0xFFFFFF); return g_intern_string (name); } return "default"; diff --git a/mcsrc/lib/tty/color-internal.h b/mcsrc/lib/tty/color-internal.h index dc85225..a9b8d69 100644 --- a/mcsrc/lib/tty/color-internal.h +++ b/mcsrc/lib/tty/color-internal.h @@ -31,14 +31,15 @@ typedef enum { /*** structures declarations (and typedefs of structures)*****************************************/ -typedef struct mc_color_pair_struct +/* Screen library specific color pair */ +typedef struct { - int ifg; - int ibg; + int fg; + int bg; int attr; size_t pair_index; gboolean is_temp; -} tty_color_pair_t; +} tty_color_lib_pair_t; /*** global variables defined in .c file *********************************************************/ @@ -54,7 +55,7 @@ int tty_attr_get_bits (const char *attrs); void tty_color_init_lib (gboolean disable, gboolean force); void tty_color_deinit_lib (void); -void tty_color_try_alloc_pair_lib (tty_color_pair_t * mc_color_pair); +void tty_color_try_alloc_lib_pair (tty_color_lib_pair_t * mc_color_pair); /*** inline functions ****************************************************************************/ diff --git a/mcsrc/lib/tty/color-ncurses.c b/mcsrc/lib/tty/color-ncurses.c index f01d697..055a3af 100644 --- a/mcsrc/lib/tty/color-ncurses.c +++ b/mcsrc/lib/tty/color-ncurses.c @@ -1,7 +1,7 @@ /* Color setup for NCurses screen library - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: @@ -103,7 +103,7 @@ color_get_attr (int color_pair) /* --------------------------------------------------------------------------------------------- */ static void -mc_tty_color_pair_init_special (tty_color_pair_t * mc_color_pair, +mc_tty_color_pair_init_special (tty_color_lib_pair_t * mc_color_pair, int fg1, int bg1, int fg2, int bg2, int attr) { if (has_colors () && !mc_tty_color_disable) @@ -145,11 +145,11 @@ tty_color_deinit_lib (void) /* --------------------------------------------------------------------------------------------- */ void -tty_color_try_alloc_pair_lib (tty_color_pair_t * mc_color_pair) +tty_color_try_alloc_lib_pair (tty_color_lib_pair_t * mc_color_pair) { - if (mc_color_pair->ifg <= (int) SPEC_A_REVERSE) + if (mc_color_pair->fg <= (int) SPEC_A_REVERSE) { - switch (mc_color_pair->ifg) + switch (mc_color_pair->fg) { case SPEC_A_REVERSE: mc_tty_color_pair_init_special (mc_color_pair, @@ -179,8 +179,8 @@ tty_color_try_alloc_pair_lib (tty_color_pair_t * mc_color_pair) { int ifg, ibg, attr; - ifg = mc_color_pair->ifg; - ibg = mc_color_pair->ibg; + ifg = mc_color_pair->fg; + ibg = mc_color_pair->bg; attr = mc_color_pair->attr; /* In legacy color mode, change bright colors into bold */ diff --git a/mcsrc/lib/tty/color-slang.c b/mcsrc/lib/tty/color-slang.c index 5dd2663..33344b5 100644 --- a/mcsrc/lib/tty/color-slang.c +++ b/mcsrc/lib/tty/color-slang.c @@ -1,7 +1,7 @@ /* Color setup for S_Lang screen library - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: @@ -99,7 +99,7 @@ has_colors (gboolean disable, gboolean force) /* --------------------------------------------------------------------------------------------- */ static void -mc_tty_color_pair_init_special (tty_color_pair_t * mc_color_pair, +mc_tty_color_pair_init_special (tty_color_lib_pair_t * mc_color_pair, const char *fg1, const char *bg1, const char *fg2, const char *bg2, SLtt_Char_Type mask) { @@ -145,11 +145,11 @@ tty_color_deinit_lib (void) /* --------------------------------------------------------------------------------------------- */ void -tty_color_try_alloc_pair_lib (tty_color_pair_t * mc_color_pair) +tty_color_try_alloc_lib_pair (tty_color_lib_pair_t * mc_color_pair) { - if (mc_color_pair->ifg <= (int) SPEC_A_REVERSE) + if (mc_color_pair->fg <= (int) SPEC_A_REVERSE) { - switch (mc_color_pair->ifg) + switch (mc_color_pair->fg) { case SPEC_A_REVERSE: mc_tty_color_pair_init_special (mc_color_pair, @@ -176,8 +176,8 @@ tty_color_try_alloc_pair_lib (tty_color_pair_t * mc_color_pair) { const char *fg, *bg; - fg = tty_color_get_name_by_index (mc_color_pair->ifg); - bg = tty_color_get_name_by_index (mc_color_pair->ibg); + fg = tty_color_get_name_by_index (mc_color_pair->fg); + bg = tty_color_get_name_by_index (mc_color_pair->bg); SLtt_set_color (mc_color_pair->pair_index, (char *) "", (char *) fg, (char *) bg); SLtt_add_color_attribute (mc_color_pair->pair_index, mc_color_pair->attr); } diff --git a/mcsrc/lib/tty/color.c b/mcsrc/lib/tty/color.c index c79e13a..78d50b7 100644 --- a/mcsrc/lib/tty/color.c +++ b/mcsrc/lib/tty/color.c @@ -2,7 +2,7 @@ Color setup. Interface functions. - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: @@ -46,9 +46,15 @@ /*** global variables ****************************************************************************/ -static char *tty_color_defaults__fg = NULL; -static char *tty_color_defaults__bg = NULL; -static char *tty_color_defaults__attrs = NULL; +/* *INDENT-OFF* */ +static tty_color_pair_t tty_color_defaults = +{ + .fg = NULL, + .bg = NULL, + .attrs = NULL, + .pair_index = 0 +}; +/* *INDENT-ON* */ /* Set if we are actually using colors */ gboolean use_colors = FALSE; @@ -67,25 +73,23 @@ static GHashTable *mc_tty_color__hashtable = NULL; /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ -static gboolean -tty_color_free_condition_cb (gpointer key, gpointer value, gpointer user_data) +static void +mc_color__deinit (tty_color_pair_t * color) { - tty_color_pair_t *mc_color_pair = (tty_color_pair_t *) value; - gboolean is_temp_color; - - (void) key; - - is_temp_color = user_data != NULL; - return (mc_color_pair->is_temp == is_temp_color); + g_free (color->fg); + g_free (color->bg); + g_free (color->attrs); } /* --------------------------------------------------------------------------------------------- */ -static void -tty_color_free_all (gboolean is_temp_color) +static gboolean +tty_color_free_temp_cb (gpointer key, gpointer value, gpointer user_data) { - g_hash_table_foreach_remove (mc_tty_color__hashtable, tty_color_free_condition_cb, - is_temp_color ? GSIZE_TO_POINTER (1) : NULL); + (void) key; + (void) user_data; + + return ((tty_color_lib_pair_t *) value)->is_temp; } /* --------------------------------------------------------------------------------------------- */ @@ -93,7 +97,7 @@ tty_color_free_all (gboolean is_temp_color) static gboolean tty_color_get_next_cpn_cb (gpointer key, gpointer value, gpointer user_data) { - tty_color_pair_t *mc_color_pair = (tty_color_pair_t *) value; + tty_color_lib_pair_t *mc_color_pair = (tty_color_lib_pair_t *) value; size_t cp = GPOINTER_TO_SIZE (user_data); (void) key; @@ -134,10 +138,7 @@ void tty_colors_done (void) { tty_color_deinit_lib (); - g_free (tty_color_defaults__fg); - g_free (tty_color_defaults__bg); - g_free (tty_color_defaults__attrs); - + mc_color__deinit (&tty_color_defaults); g_hash_table_destroy (mc_tty_color__hashtable); } @@ -152,30 +153,27 @@ tty_use_colors (void) /* --------------------------------------------------------------------------------------------- */ int -tty_try_alloc_color_pair2 (const char *fg, const char *bg, const char *attrs, - gboolean is_temp_color) +tty_try_alloc_color_pair (const tty_color_pair_t * color, gboolean is_temp) { + gboolean is_base; gchar *color_pair; - tty_color_pair_t *mc_color_pair; + tty_color_lib_pair_t *mc_color_pair; int ifg, ibg, attr; - if (fg == NULL || strcmp (fg, "base") == 0) - fg = tty_color_defaults__fg; - if (bg == NULL || strcmp (bg, "base") == 0) - bg = tty_color_defaults__bg; - if (attrs == NULL || strcmp (attrs, "base") == 0) - attrs = tty_color_defaults__attrs; - - ifg = tty_color_get_index_by_name (fg); - ibg = tty_color_get_index_by_name (bg); - attr = tty_attr_get_bits (attrs); + is_base = (color->fg == NULL || strcmp (color->fg, "base") == 0); + ifg = tty_color_get_index_by_name (is_base ? tty_color_defaults.fg : color->fg); + is_base = (color->bg == NULL || strcmp (color->bg, "base") == 0); + ibg = tty_color_get_index_by_name (is_base ? tty_color_defaults.bg : color->bg); + is_base = (color->attrs == NULL || strcmp (color->attrs, "base") == 0); + attr = tty_attr_get_bits (is_base ? tty_color_defaults.attrs : color->attrs); color_pair = g_strdup_printf ("%d.%d.%d", ifg, ibg, attr); if (color_pair == NULL) return 0; mc_color_pair = - (tty_color_pair_t *) g_hash_table_lookup (mc_tty_color__hashtable, (gpointer) color_pair); + (tty_color_lib_pair_t *) g_hash_table_lookup (mc_tty_color__hashtable, + (gpointer) color_pair); if (mc_color_pair != NULL) { @@ -183,20 +181,20 @@ tty_try_alloc_color_pair2 (const char *fg, const char *bg, const char *attrs, return mc_color_pair->pair_index; } - mc_color_pair = g_try_new0 (tty_color_pair_t, 1); + mc_color_pair = g_try_new0 (tty_color_lib_pair_t, 1); if (mc_color_pair == NULL) { g_free (color_pair); return 0; } - mc_color_pair->is_temp = is_temp_color; - mc_color_pair->ifg = ifg; - mc_color_pair->ibg = ibg; + mc_color_pair->is_temp = is_temp; + mc_color_pair->fg = ifg; + mc_color_pair->bg = ibg; mc_color_pair->attr = attr; mc_color_pair->pair_index = tty_color_get_next__color_pair_number (); - tty_color_try_alloc_pair_lib (mc_color_pair); + tty_color_try_alloc_lib_pair (mc_color_pair); g_hash_table_insert (mc_tty_color__hashtable, (gpointer) color_pair, (gpointer) mc_color_pair); @@ -205,40 +203,31 @@ tty_try_alloc_color_pair2 (const char *fg, const char *bg, const char *attrs, /* --------------------------------------------------------------------------------------------- */ -int -tty_try_alloc_color_pair (const char *fg, const char *bg, const char *attrs) -{ - return tty_try_alloc_color_pair2 (fg, bg, attrs, TRUE); -} - -/* --------------------------------------------------------------------------------------------- */ - void -tty_color_free_all_tmp (void) +tty_color_free_temp (void) { - tty_color_free_all (TRUE); + g_hash_table_foreach_remove (mc_tty_color__hashtable, tty_color_free_temp_cb, NULL); } /* --------------------------------------------------------------------------------------------- */ void -tty_color_free_all_non_tmp (void) +tty_color_free_all (void) { - tty_color_free_all (FALSE); + g_hash_table_remove_all (mc_tty_color__hashtable); } /* --------------------------------------------------------------------------------------------- */ void -tty_color_set_defaults (const char *fgcolor, const char *bgcolor, const char *attrs) +tty_color_set_defaults (const tty_color_pair_t * color) { - g_free (tty_color_defaults__fg); - g_free (tty_color_defaults__bg); - g_free (tty_color_defaults__attrs); + mc_color__deinit (&tty_color_defaults); - tty_color_defaults__fg = g_strdup (fgcolor); - tty_color_defaults__bg = g_strdup (bgcolor); - tty_color_defaults__attrs = g_strdup (attrs); + tty_color_defaults.fg = g_strdup (color->fg); + tty_color_defaults.bg = g_strdup (color->bg); + tty_color_defaults.attrs = g_strdup (color->attrs); + tty_color_defaults.pair_index = 0; } /* --------------------------------------------------------------------------------------------- */ diff --git a/mcsrc/lib/tty/color.h b/mcsrc/lib/tty/color.h index 583cce3..e09516f 100644 --- a/mcsrc/lib/tty/color.h +++ b/mcsrc/lib/tty/color.h @@ -21,6 +21,14 @@ /*** typedefs(not structures) and defined constants **********************************************/ +typedef struct +{ + char *fg; + char *bg; + char *attrs; + size_t pair_index; +} tty_color_pair_t; + /*** enums ***************************************************************************************/ /*** structures declarations (and typedefs of structures)*****************************************/ @@ -33,18 +41,16 @@ void tty_init_colors (gboolean disable, gboolean force); void tty_colors_done (void); gboolean tty_use_colors (void); -int tty_try_alloc_color_pair (const char *fg, const char *bg, const char *attrs); -int tty_try_alloc_color_pair2 (const char *fg, const char *bg, const char *attrs, - gboolean is_temp_color); +int tty_try_alloc_color_pair (const tty_color_pair_t * color, gboolean is_temp); -void tty_color_free_all_tmp (void); -void tty_color_free_all_non_tmp (void); +void tty_color_free_temp (void); +void tty_color_free_all (void); void tty_setcolor (int color); void tty_lowlevel_setcolor (int color); void tty_set_normal_attrs (void); -void tty_color_set_defaults (const char *fgcolor, const char *bgcolor, const char *attrs); +void tty_color_set_defaults (const tty_color_pair_t * color); extern gboolean tty_use_256colors (GError ** error); extern gboolean tty_use_truecolors (GError ** error); diff --git a/mcsrc/lib/tty/key.c b/mcsrc/lib/tty/key.c index 43ba997..9122983 100644 --- a/mcsrc/lib/tty/key.c +++ b/mcsrc/lib/tty/key.c @@ -1,7 +1,7 @@ /* Keyboard support routines. - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: @@ -1173,28 +1173,19 @@ getch_with_timeout (unsigned int delay_us) /* --------------------------------------------------------------------------------------------- */ static void -learn_store_key (char *buffer, char **p, int c) +learn_store_key (GString * buffer, int c) { - if (*p - buffer > 253) - return; - if (c == ESC_CHAR) - { - *(*p)++ = '\\'; - *(*p)++ = 'e'; - } + g_string_append (buffer, "\\e"); else if (c < ' ') { - *(*p)++ = '^'; - *(*p)++ = c + 'a' - 1; + g_string_append_c (buffer, '^'); + g_string_append_c (buffer, c + 'a' - 1); } else if (c == '^') - { - *(*p)++ = '^'; - *(*p)++ = '^'; - } + g_string_append (buffer, "^^"); else - *(*p)++ = (char) c; + g_string_append_c (buffer, (char) c); } /* --------------------------------------------------------------------------------------------- */ @@ -2163,14 +2154,15 @@ learn_key (void) fd_set Read_FD_Set; gint64 end_time; int c; - char buffer[256]; - char *p = buffer; + GString *buffer; + + buffer = g_string_sized_new (16); tty_keypad (FALSE); /* disable interpreting keys by ncurses */ c = tty_lowlevel_getch (); while (c == -1) c = tty_lowlevel_getch (); /* Sanity check, should be unnecessary */ - learn_store_key (buffer, &p, c); + learn_store_key (buffer, c); end_time = g_get_monotonic_time () + LEARN_TIMEOUT * MC_USEC_PER_MSEC; @@ -2194,12 +2186,12 @@ learn_key (void) } if (c == -1) break; - learn_store_key (buffer, &p, c); + learn_store_key (buffer, c); } tty_keypad (TRUE); tty_nodelay (FALSE); - *p = '\0'; - return (buffer[0] != '\0' ? g_strdup (buffer) : NULL); + + return g_string_free (buffer, buffer->len == 0); #undef LEARN_TIMEOUT } diff --git a/mcsrc/lib/tty/key.h b/mcsrc/lib/tty/key.h index 91639c3..1f6f885 100644 --- a/mcsrc/lib/tty/key.h +++ b/mcsrc/lib/tty/key.h @@ -28,18 +28,18 @@ #define ALT(x) (KEY_M_ALT | (unsigned int)(x)) /* To define sequences and return codes */ -#define MCKEY_NOACTION 0 -#define MCKEY_ESCAPE 1 +#define MCKEY_NOACTION 0 +#define MCKEY_ESCAPE 1 /* Return code for the mouse sequence */ -#define MCKEY_MOUSE -2 +#define MCKEY_MOUSE -2 /* Return code for the extended mouse sequence */ -#define MCKEY_EXTENDED_MOUSE -3 +#define MCKEY_EXTENDED_MOUSE -3 /* Return code for brackets of bracketed paste mode */ #define MCKEY_BRACKETED_PASTING_START -4 -#define MCKEY_BRACKETED_PASTING_END -5 +#define MCKEY_BRACKETED_PASTING_END -5 /*** enums ***************************************************************************************/ diff --git a/mcsrc/lib/tty/keyxdef.c b/mcsrc/lib/tty/keyxdef.c index a496f67..4527161 100644 --- a/mcsrc/lib/tty/keyxdef.c +++ b/mcsrc/lib/tty/keyxdef.c @@ -3,7 +3,7 @@ /* Additional keyboard support routines. - Copyright (C) 1998-2023 + Copyright (C) 1998-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/lib/tty/mouse.c b/mcsrc/lib/tty/mouse.c index cf42287..574e349 100644 --- a/mcsrc/lib/tty/mouse.c +++ b/mcsrc/lib/tty/mouse.c @@ -1,7 +1,7 @@ /* Mouse managing - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/lib/tty/tty-internal.c b/mcsrc/lib/tty/tty-internal.c index c79301d..4693235 100644 --- a/mcsrc/lib/tty/tty-internal.c +++ b/mcsrc/lib/tty/tty-internal.c @@ -1,7 +1,7 @@ /* Internal stuff of the terminal controlling library. - Copyright (C) 2019-2023 + Copyright (C) 2019-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/lib/tty/tty-ncurses.c b/mcsrc/lib/tty/tty-ncurses.c index 08f663d..fa503da 100644 --- a/mcsrc/lib/tty/tty-ncurses.c +++ b/mcsrc/lib/tty/tty-ncurses.c @@ -2,7 +2,7 @@ Interface to the terminal controlling library. Ncurses wrapper. - Copyright (C) 2005-2023 + Copyright (C) 2005-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/lib/tty/tty-slang.c b/mcsrc/lib/tty/tty-slang.c index 3aa74de..752825b 100644 --- a/mcsrc/lib/tty/tty-slang.c +++ b/mcsrc/lib/tty/tty-slang.c @@ -2,7 +2,7 @@ Interface to the terminal controlling library. Slang wrapper. - Copyright (C) 2005-2023 + Copyright (C) 2005-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/lib/tty/tty.c b/mcsrc/lib/tty/tty.c index e0057ed..95019dc 100644 --- a/mcsrc/lib/tty/tty.c +++ b/mcsrc/lib/tty/tty.c @@ -1,7 +1,7 @@ /* Interface to the terminal controlling library. - Copyright (C) 2005-2023 + Copyright (C) 2005-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/lib/tty/win.c b/mcsrc/lib/tty/win.c index 45451a4..5ac8a5a 100644 --- a/mcsrc/lib/tty/win.c +++ b/mcsrc/lib/tty/win.c @@ -1,7 +1,7 @@ /* Terminal management xterm and rxvt support - Copyright (C) 1995-2023 + Copyright (C) 1995-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/lib/tty/x11conn.c b/mcsrc/lib/tty/x11conn.c index 20e201b..dfd6454 100644 --- a/mcsrc/lib/tty/x11conn.c +++ b/mcsrc/lib/tty/x11conn.c @@ -1,7 +1,7 @@ /* X11 support for the Midnight Commander. - Copyright (C) 2005-2023 + Copyright (C) 2005-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/lib/util.c b/mcsrc/lib/util.c index f10311a..92ee686 100644 --- a/mcsrc/lib/util.c +++ b/mcsrc/lib/util.c @@ -1,7 +1,7 @@ /* Various utilities - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: @@ -257,6 +257,9 @@ name_quote (const char *s, gboolean quote_percent) { GString *ret; + if (s == NULL || *s == '\0') + return NULL; + ret = g_string_sized_new (64); if (*s == '-') @@ -306,7 +309,7 @@ name_quote (const char *s, gboolean quote_percent) g_string_append_c (ret, *s); } - return g_string_free (ret, FALSE); + return g_string_free (ret, ret->len == 0); } /* --------------------------------------------------------------------------------------------- */ @@ -315,7 +318,8 @@ char * fake_name_quote (const char *s, gboolean quote_percent) { (void) quote_percent; - return g_strdup (s); + + return (s == NULL || *s == '\0' ? NULL : g_strdup (s)); } /* --------------------------------------------------------------------------------------------- */ @@ -892,6 +896,11 @@ get_compression_type (int fd, const char *name) && magic[2] == 'Z' && magic[3] == 'M' && magic[4] == 'A' && magic[5] == 0x00) return COMPRESSION_LZMA; + /* LZO format - \x89\x4c\x5a\x4f\x00\x0d\x0a\x1a\x0a lzop compressed data */ + if (magic[0] == 0x89 && magic[1] == 0x4c && + magic[2] == 0x5a && magic[3] == 0x4f && magic[4] == 0x00 && magic[5] == 0x0d) + return COMPRESSION_LZO; + /* XZ compression magic */ if (magic[0] == 0xFD && magic[1] == 0x37 @@ -931,6 +940,8 @@ decompress_extension (int type) return "/ulz4" VFS_PATH_URL_DELIMITER; case COMPRESSION_LZMA: return "/ulzma" VFS_PATH_URL_DELIMITER; + case COMPRESSION_LZO: + return "/ulzo" VFS_PATH_URL_DELIMITER; case COMPRESSION_XZ: return "/uxz" VFS_PATH_URL_DELIMITER; case COMPRESSION_ZSTD: @@ -1418,8 +1429,8 @@ guess_message_value (void) /* Last possibility is the LANG environment variable. */ "LANG", #if defined(WIN32) //WIN32, config - /* GNU gettext extension. */ - "LANGUAGE", + /* GNU gettext extension. */ + "LANGUAGE", #endif /* NULL exit loops */ NULL diff --git a/mcsrc/lib/util.h b/mcsrc/lib/util.h index 40744f1..34e790d 100644 --- a/mcsrc/lib/util.h +++ b/mcsrc/lib/util.h @@ -84,6 +84,7 @@ enum compression_type COMPRESSION_LZIP, COMPRESSION_LZ4, COMPRESSION_LZMA, + COMPRESSION_LZO, COMPRESSION_XZ, COMPRESSION_ZSTD, }; diff --git a/mcsrc/lib/utilunix.c b/mcsrc/lib/utilunix.c index ec5e3f2..c6c78ab 100644 --- a/mcsrc/lib/utilunix.c +++ b/mcsrc/lib/utilunix.c @@ -1,7 +1,7 @@ /* Various utilities - Unix variants - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/lib/vfs/direntry.c b/mcsrc/lib/vfs/direntry.c index 32b8594..5f9a8ef 100644 --- a/mcsrc/lib/vfs/direntry.c +++ b/mcsrc/lib/vfs/direntry.c @@ -1,7 +1,7 @@ /* Directory cache support - Copyright (C) 1998-2023 + Copyright (C) 1998-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/lib/vfs/gc.c b/mcsrc/lib/vfs/gc.c index 32b9025..dac2c18 100644 --- a/mcsrc/lib/vfs/gc.c +++ b/mcsrc/lib/vfs/gc.c @@ -1,7 +1,7 @@ /* Virtual File System garbage collection code - Copyright (C) 2003-2023 + Copyright (C) 2003-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/lib/vfs/interface.c b/mcsrc/lib/vfs/interface.c index 28acfe2..0df1518 100644 --- a/mcsrc/lib/vfs/interface.c +++ b/mcsrc/lib/vfs/interface.c @@ -1,7 +1,7 @@ /* Virtual File System: interface functions - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/lib/vfs/netutil.c b/mcsrc/lib/vfs/netutil.c index 1306879..3f31d46 100644 --- a/mcsrc/lib/vfs/netutil.c +++ b/mcsrc/lib/vfs/netutil.c @@ -1,7 +1,7 @@ /* Network utilities for the Midnight Commander Virtual File System. - Copyright (C) 1995-2023 + Copyright (C) 1995-2024 Free Software Foundation, Inc. This file is part of the Midnight Commander. diff --git a/mcsrc/lib/vfs/parse_ls_vga.c b/mcsrc/lib/vfs/parse_ls_vga.c index 2b8d4af..572b8b2 100644 --- a/mcsrc/lib/vfs/parse_ls_vga.c +++ b/mcsrc/lib/vfs/parse_ls_vga.c @@ -1,7 +1,7 @@ /* Routines for parsing output from the 'ls' command. - Copyright (C) 1988-2023 + Copyright (C) 1988-2024 Free Software Foundation, Inc. Copyright (C) 1995, 1996 Miguel de Icaza @@ -49,7 +49,7 @@ /*** file scope macro definitions ****************************************************************/ -/* Parsing code is used by ftpfs, fish and extfs */ +/* Parsing code is used by ftpfs, shell and extfs */ #define MAXCOLS 30 /*** file scope type declarations ****************************************************************/ diff --git a/mcsrc/lib/vfs/path.c b/mcsrc/lib/vfs/path.c index 746286a..80b4de4 100644 --- a/mcsrc/lib/vfs/path.c +++ b/mcsrc/lib/vfs/path.c @@ -1,7 +1,7 @@ /* Virtual File System path handlers - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: @@ -602,13 +602,12 @@ vfs_path_tokens_add_class_info (const vfs_path_element_t * element, GString * re g_string_append (ret_tokens, VFS_PATH_URL_DELIMITER); url_str = vfs_path_build_url_params_str (element, TRUE); - if (url_str->len != 0) + if (url_str != NULL) { g_string_append_len (ret_tokens, url_str->str, url_str->len); g_string_append_c (ret_tokens, PATH_SEP); + g_string_free (url_str, TRUE); } - - g_string_free (url_str, TRUE); } #ifdef HAVE_CHARSET @@ -743,13 +742,12 @@ vfs_path_to_str_flags (const vfs_path_t * vpath, int elements_count, vfs_path_fl g_string_append (buffer, VFS_PATH_URL_DELIMITER); url_str = vfs_path_build_url_params_str (element, !(flags & VPF_STRIP_PASSWORD)); - if (url_str->len != 0) + if (url_str != NULL) { g_string_append_len (buffer, url_str->str, url_str->len); g_string_append_c (buffer, PATH_SEP); + g_string_free (url_str, TRUE); } - - g_string_free (url_str, TRUE); } #ifdef HAVE_CHARSET @@ -1598,7 +1596,7 @@ vfs_path_vtokens_get (const vfs_path_t * vpath, ssize_t start_position, ssize_t * @param element path element * @param keep_password TRUE or FALSE * - * @return newly allocated string + * @return newly allocated non-empty string or NULL */ GString * @@ -1637,7 +1635,11 @@ vfs_path_build_url_params_str (const vfs_path_element_t * element, gboolean keep g_string_append_printf (buffer, "%d", element->port); } - return buffer; + if (buffer->len != 0) + return buffer; + + g_string_free (buffer, TRUE); + return NULL; } /* --------------------------------------------------------------------------------------------- */ @@ -1658,14 +1660,16 @@ vfs_path_element_build_pretty_path_str (const vfs_path_element_t * element) g_string_append (pretty_path, VFS_PATH_URL_DELIMITER); url_params = vfs_path_build_url_params_str (element, FALSE); - g_string_append_len (pretty_path, url_params->str, url_params->len); - g_string_free (url_params, TRUE); + if (url_params != NULL) + { + g_string_append_len (pretty_path, url_params->str, url_params->len); + g_string_free (url_params, TRUE); + } if (!IS_PATH_SEP (*element->path)) g_string_append_c (pretty_path, PATH_SEP); - g_string_append (pretty_path, element->path); - return pretty_path; + return g_string_append (pretty_path, element->path); } /* --------------------------------------------------------------------------------------------- */ diff --git a/mcsrc/lib/vfs/utilvfs.c b/mcsrc/lib/vfs/utilvfs.c index f47ee6e..3d98925 100644 --- a/mcsrc/lib/vfs/utilvfs.c +++ b/mcsrc/lib/vfs/utilvfs.c @@ -1,7 +1,7 @@ /* Utilities for VFS modules. - Copyright (C) 1988-2023 + Copyright (C) 1988-2024 Free Software Foundation, Inc. Copyright (C) 1995, 1996 Miguel de Icaza @@ -188,7 +188,11 @@ vfs_mkstemps (vfs_path_t ** pname_vpath, const char *prefix, const char *param_b int fd; /* Strip directories */ +#if defined(WIN32) //WIN32, path + p = strrchr2 (param_basename, PATH_SEP, PATH_SEP2); +#else p = strrchr (param_basename, PATH_SEP); +#endif if (p == NULL) p = param_basename; else @@ -253,12 +257,11 @@ vfs_url_split (const char *path, int default_port, vfs_url_flags_t flags) if ((flags & URL_NOSLASH) == 0) { - char *dir = pcopy; + char *dir; /* locate path component */ - while (!IS_PATH_SEP (*dir) && *dir != '\0') //WIN32 - dir++; - if (*dir == '\0') + dir = strchr (pcopy, PATH_SEP); + if (dir == NULL) path_element->path = g_strdup (PATH_SEP_STR); else { diff --git a/mcsrc/lib/vfs/vfs.c b/mcsrc/lib/vfs/vfs.c index 7780a0b..b9e7582 100644 --- a/mcsrc/lib/vfs/vfs.c +++ b/mcsrc/lib/vfs/vfs.c @@ -1,7 +1,7 @@ /* Virtual File System switch code - Copyright (C) 1995-2023 + Copyright (C) 1995-2024 Free Software Foundation, Inc. Written by: 1995 Miguel de Icaza @@ -363,7 +363,11 @@ vfs_strip_suffix_from_filename (const char *filename) char *vfs_prefix; *semi = '\0'; +#if defined(WIN32) //WIN32, path + vfs_prefix = strrchr2 (p, PATH_SEP, PATH_SEP2); +#else vfs_prefix = strrchr (p, PATH_SEP); +#endif if (vfs_prefix == NULL) *semi = *VFS_PATH_URL_DELIMITER; else diff --git a/mcsrc/lib/vfs/vfs.h b/mcsrc/lib/vfs/vfs.h index 77e819e..84c3198 100644 --- a/mcsrc/lib/vfs/vfs.h +++ b/mcsrc/lib/vfs/vfs.h @@ -72,7 +72,7 @@ #endif #ifdef EREMOTEIO -#define E_REMOTE EREMOTEIO /* if other side of ftp/fish reports error */ +#define E_REMOTE EREMOTEIO /* if other side of ftp/shell reports error */ #else #define E_REMOTE ENETUNREACH /* :-( there's no EREMOTEIO on some systems */ #endif @@ -137,7 +137,7 @@ typedef struct vfs_class { const char *name; /* "FIles over SHell" */ vfs_flags_t flags; - const char *prefix; /* "fish:" */ + const char *prefix; /* "shell:" */ int verrno; /* can't use errno because glibc2 might define errno as function */ gboolean flush; /* if set to TRUE, invalidate directory cache */ FILE *logfile; diff --git a/mcsrc/lib/vfs/xdirentry.h b/mcsrc/lib/vfs/xdirentry.h index 7d6f867..bfe6ae6 100644 --- a/mcsrc/lib/vfs/xdirentry.h +++ b/mcsrc/lib/vfs/xdirentry.h @@ -112,7 +112,7 @@ typedef struct } vfs_file_handler_t; /* - * One of our subclasses (tar, cpio, fish, ftpfs) with data and methods. + * One of our subclasses (tar, cpio, shell, ftpfs) with data and methods. * Extends vfs_class. */ struct vfs_s_subclass diff --git a/mcsrc/lib/widget/background.c b/mcsrc/lib/widget/background.c index 1965dee..afea825 100644 --- a/mcsrc/lib/widget/background.c +++ b/mcsrc/lib/widget/background.c @@ -1,7 +1,7 @@ /* Widgets for the Midnight Commander - Copyright (C) 2020-2023 + Copyright (C) 2020-2024 The Free Software Foundation, Inc. Authors: diff --git a/mcsrc/lib/widget/button.c b/mcsrc/lib/widget/button.c index 9f0bfa5..2cdaafc 100644 --- a/mcsrc/lib/widget/button.c +++ b/mcsrc/lib/widget/button.c @@ -1,7 +1,7 @@ /* Widgets for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Authors: diff --git a/mcsrc/lib/widget/buttonbar.c b/mcsrc/lib/widget/buttonbar.c index 4522000..24e4f75 100644 --- a/mcsrc/lib/widget/buttonbar.c +++ b/mcsrc/lib/widget/buttonbar.c @@ -1,7 +1,7 @@ /* Widgets for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Authors: diff --git a/mcsrc/lib/widget/check.c b/mcsrc/lib/widget/check.c index 63c55e3..b77573e 100644 --- a/mcsrc/lib/widget/check.c +++ b/mcsrc/lib/widget/check.c @@ -1,7 +1,7 @@ /* Widgets for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Authors: diff --git a/mcsrc/lib/widget/dialog-switch.c b/mcsrc/lib/widget/dialog-switch.c index 959cbf9..74aedff 100644 --- a/mcsrc/lib/widget/dialog-switch.c +++ b/mcsrc/lib/widget/dialog-switch.c @@ -3,7 +3,7 @@ Original idea and code: Oleg "Olegarch" Konovalov - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/lib/widget/dialog.c b/mcsrc/lib/widget/dialog.c index 3ab2191..2596857 100644 --- a/mcsrc/lib/widget/dialog.c +++ b/mcsrc/lib/widget/dialog.c @@ -1,7 +1,7 @@ /* Dialog box features module for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. This file is part of the Midnight Commander. @@ -83,7 +83,7 @@ dlg_default_get_colors (const Widget * w) /* --------------------------------------------------------------------------------------------- */ /** - * Read histories from the ${XDG_CACHE_HOME}/mc/history file + * Read histories from the ${XDG_DATA_HOME}/mc/history file */ static void dlg_read_history (WDialog * h) @@ -122,6 +122,16 @@ refresh_cmd (void) /* --------------------------------------------------------------------------------------------- */ +static void +dlg_help (const WDialog * h) +{ + ev_help_t event_data = { NULL, h->help_ctx }; + + mc_event_raise (MCEVENT_GROUP_CORE, "help", &event_data); +} + +/* --------------------------------------------------------------------------------------------- */ + static cb_ret_t dlg_execute_cmd (WDialog * h, long command) { @@ -152,10 +162,7 @@ dlg_execute_cmd (WDialog * h, long command) break; case CK_Help: - { - ev_help_t event_data = { NULL, h->help_ctx }; - mc_event_raise (MCEVENT_GROUP_CORE, "help", &event_data); - } + dlg_help (h); break; case CK_Suspend: @@ -571,7 +578,7 @@ dlg_run (WDialog * h) /* --------------------------------------------------------------------------------------------- */ /** - * Write history to the ${XDG_CACHE_HOME}/mc/history file + * Write history to the ${XDG_DATA_HOME}/mc/history file */ void dlg_save_history (WDialog * h) diff --git a/mcsrc/lib/widget/frame.c b/mcsrc/lib/widget/frame.c index 31127ab..127649e 100644 --- a/mcsrc/lib/widget/frame.c +++ b/mcsrc/lib/widget/frame.c @@ -1,7 +1,7 @@ /* Widgets for the Midnight Commander - Copyright (C) 2020-2023 + Copyright (C) 2020-2024 The Free Software Foundation, Inc. Authors: diff --git a/mcsrc/lib/widget/gauge.c b/mcsrc/lib/widget/gauge.c index 5eebb11..14b5fa8 100644 --- a/mcsrc/lib/widget/gauge.c +++ b/mcsrc/lib/widget/gauge.c @@ -1,7 +1,7 @@ /* Widgets for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Authors: diff --git a/mcsrc/lib/widget/group.c b/mcsrc/lib/widget/group.c index d606a93..77e4ca5 100644 --- a/mcsrc/lib/widget/group.c +++ b/mcsrc/lib/widget/group.c @@ -1,7 +1,7 @@ /* Widget group features module for the Midnight Commander - Copyright (C) 2020-2023 + Copyright (C) 2020-2024 The Free Software Foundation, Inc. Written by: diff --git a/mcsrc/lib/widget/groupbox.c b/mcsrc/lib/widget/groupbox.c index 49cf7b0..4f6a021 100644 --- a/mcsrc/lib/widget/groupbox.c +++ b/mcsrc/lib/widget/groupbox.c @@ -1,7 +1,7 @@ /* Widgets for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Authors: diff --git a/mcsrc/lib/widget/history.c b/mcsrc/lib/widget/history.c index 8197db8..7076d13 100644 --- a/mcsrc/lib/widget/history.c +++ b/mcsrc/lib/widget/history.c @@ -1,7 +1,7 @@ /* Widgets for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Authors: diff --git a/mcsrc/lib/widget/hline.c b/mcsrc/lib/widget/hline.c index 73e261a..0f77a84 100644 --- a/mcsrc/lib/widget/hline.c +++ b/mcsrc/lib/widget/hline.c @@ -1,7 +1,7 @@ /* Widgets for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Authors: diff --git a/mcsrc/lib/widget/input.c b/mcsrc/lib/widget/input.c index 3a67b49..a7ad7f5 100644 --- a/mcsrc/lib/widget/input.c +++ b/mcsrc/lib/widget/input.c @@ -1,7 +1,7 @@ /* Widgets for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Authors: diff --git a/mcsrc/lib/widget/input_complete.c b/mcsrc/lib/widget/input_complete.c index 4c550fc..c91cb8d 100644 --- a/mcsrc/lib/widget/input_complete.c +++ b/mcsrc/lib/widget/input_complete.c @@ -2,7 +2,7 @@ Input line filename/username/hostname/variable/command completion. (Let mc type for you...) - Copyright (C) 1995-2023 + Copyright (C) 1995-2024 Free Software Foundation, Inc. Written by: @@ -100,7 +100,6 @@ static char **hosts = NULL; static char **hosts_p = NULL; static int hosts_alloclen = 0; -static int complete_height, complete_width; static WInput *input; static int min_end; static int start = 0; @@ -1281,11 +1280,9 @@ complete_engine (WInput * in, int what_to_do) input = in; min_end = end; - complete_height = h; - complete_width = w; complete_dlg = - dlg_create (TRUE, y, x, complete_height, complete_width, WPOS_KEEP_DEFAULT, TRUE, + dlg_create (TRUE, y, x, h, w, WPOS_KEEP_DEFAULT, TRUE, dialog_colors, complete_callback, NULL, "[Completion]", NULL); complete_list = listbox_new (1, 1, h - 2, w - 2, FALSE, NULL); group_add_widget (GROUP (complete_dlg), complete_list); diff --git a/mcsrc/lib/widget/label.c b/mcsrc/lib/widget/label.c index 5a04a0f..4cde190 100644 --- a/mcsrc/lib/widget/label.c +++ b/mcsrc/lib/widget/label.c @@ -1,7 +1,7 @@ /* Widgets for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Authors: diff --git a/mcsrc/lib/widget/listbox-window.c b/mcsrc/lib/widget/listbox-window.c index 47d7f8b..7cad872 100644 --- a/mcsrc/lib/widget/listbox-window.c +++ b/mcsrc/lib/widget/listbox-window.c @@ -1,7 +1,7 @@ /* Widget based utility functions. - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Authors: diff --git a/mcsrc/lib/widget/listbox.c b/mcsrc/lib/widget/listbox.c index 9f25487..76f07ad 100644 --- a/mcsrc/lib/widget/listbox.c +++ b/mcsrc/lib/widget/listbox.c @@ -1,7 +1,7 @@ /* Widgets for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Authors: diff --git a/mcsrc/lib/widget/menu.c b/mcsrc/lib/widget/menu.c index 4a30c02..b27c4c3 100644 --- a/mcsrc/lib/widget/menu.c +++ b/mcsrc/lib/widget/menu.c @@ -1,7 +1,7 @@ /* Pulldown menu code - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: @@ -530,6 +530,24 @@ menubar_try_exec_menu (WMenuBar * menubar, int hotkey) /* --------------------------------------------------------------------------------------------- */ +static void +menubar_help (const WMenuBar * menubar) +{ + ev_help_t event_data; + + event_data.filename = NULL; + + if (menubar->is_dropped) + event_data.node = MENU (g_list_nth_data (menubar->menu, menubar->current))->help_node; + else + event_data.node = "[Menu Bar]"; + + mc_event_raise (MCEVENT_GROUP_CORE, "help", &event_data); + menubar_draw (menubar); +} + +/* --------------------------------------------------------------------------------------------- */ + static cb_ret_t menubar_execute_cmd (WMenuBar * menubar, long command) { @@ -538,18 +556,7 @@ menubar_execute_cmd (WMenuBar * menubar, long command) switch (command) { case CK_Help: - { - ev_help_t event_data = { NULL, NULL }; - - if (menubar->is_dropped) - event_data.node = - MENU (g_list_nth_data (menubar->menu, menubar->current))->help_node; - else - event_data.node = "[Menu Bar]"; - - mc_event_raise (MCEVENT_GROUP_CORE, "help", &event_data); - menubar_draw (menubar); - } + menubar_help (menubar); break; case CK_Left: diff --git a/mcsrc/lib/widget/mouse.c b/mcsrc/lib/widget/mouse.c index 15ad5f5..2183903 100644 --- a/mcsrc/lib/widget/mouse.c +++ b/mcsrc/lib/widget/mouse.c @@ -1,7 +1,7 @@ /* Widgets for the Midnight Commander - Copyright (C) 2016-2023 + Copyright (C) 2016-2024 Free Software Foundation, Inc. Authors: diff --git a/mcsrc/lib/widget/quick.c b/mcsrc/lib/widget/quick.c index 35f5d68..3a6d165 100644 --- a/mcsrc/lib/widget/quick.c +++ b/mcsrc/lib/widget/quick.c @@ -1,7 +1,7 @@ /* Widget based utility functions. - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Authors: diff --git a/mcsrc/lib/widget/radio.c b/mcsrc/lib/widget/radio.c index 8fb52d8..94463f6 100644 --- a/mcsrc/lib/widget/radio.c +++ b/mcsrc/lib/widget/radio.c @@ -1,7 +1,7 @@ /* Widgets for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Authors: diff --git a/mcsrc/lib/widget/rect.c b/mcsrc/lib/widget/rect.c index 34ae8b0..8c2d464 100644 --- a/mcsrc/lib/widget/rect.c +++ b/mcsrc/lib/widget/rect.c @@ -1,6 +1,6 @@ /* Rectangular class for Midnight Commander widgets - Copyright (C) 2020-2023 + Copyright (C) 2020-2024 The Free Software Foundation, Inc. Written by: diff --git a/mcsrc/lib/widget/widget-common.c b/mcsrc/lib/widget/widget-common.c index 821b7b3..459de10 100644 --- a/mcsrc/lib/widget/widget-common.c +++ b/mcsrc/lib/widget/widget-common.c @@ -1,7 +1,7 @@ /* Widgets for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Authors: diff --git a/mcsrc/lib/widget/wtools.c b/mcsrc/lib/widget/wtools.c index bc3a7ce..90aeb49 100644 --- a/mcsrc/lib/widget/wtools.c +++ b/mcsrc/lib/widget/wtools.c @@ -1,7 +1,7 @@ /* Widget based utility functions. - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Authors: diff --git a/mcsrc/m4.include/mc-ext2fs-attr.m4 b/mcsrc/m4.include/mc-ext2fs-attr.m4 index 6a57cd5..42e4a29 100644 --- a/mcsrc/m4.include/mc-ext2fs-attr.m4 +++ b/mcsrc/m4.include/mc-ext2fs-attr.m4 @@ -12,9 +12,8 @@ AC_DEFUN([mc_EXT2FS_ATTR], if test x"$found_e2p" = "xyes"; then AC_DEFINE(ENABLE_EXT2FS_ATTR, 1, [Define to enable support for ext2fs attributes]) - AC_SUBST(EXT2FS_CFLAGS) - AC_SUBST(E2P_CFLAGS) MCLIBS="$MCLIBS $E2P_LIBS" + CPPFLAGS="$CPPFLAGS $EXT2FS_CFLAGS $E2P_CFLAGS" ext2fs_attr_msg="yes" else AC_MSG_WARN([e2p library not found or version too old (must be >= 1.42.4)]) diff --git a/mcsrc/m4.include/mc-glib.m4 b/mcsrc/m4.include/mc-glib.m4 index 4008207..f93962f 100644 --- a/mcsrc/m4.include/mc-glib.m4 +++ b/mcsrc/m4.include/mc-glib.m4 @@ -8,12 +8,12 @@ AC_DEFUN([mc_G_MODULE_SUPPORTED], [ g_module_supported="" found_gmodule=no - PKG_CHECK_MODULES(GMODULE, [gmodule-no-export-2.0 >= 2.30], [found_gmodule=yes], [:]) + PKG_CHECK_MODULES(GMODULE, [gmodule-no-export-2.0 >= 2.32], [found_gmodule=yes], [:]) if test x"$found_gmodule" = xyes; then g_module_supported="gmodule-no-export-2.0" else dnl try fallback to the generic gmodule - PKG_CHECK_MODULES(GMODULE, [gmodule-2.0 >= 2.30], [found_gmodule=yes], [:]) + PKG_CHECK_MODULES(GMODULE, [gmodule-2.0 >= 2.32], [found_gmodule=yes], [:]) if test x"$found_gmodule" = xyes; then g_module_supported="gmodule-2.0" fi @@ -78,9 +78,9 @@ AC_DEFUN([mc_CHECK_GLIB], [ AS_HELP_STRING([--with-glib-static], [Link glib statically @<:@no@:>@])) glib_found=no - PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.30], [glib_found=yes], [:]) + PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.32], [glib_found=yes], [:]) if test x"$glib_found" = xno; then - AC_MSG_ERROR([glib-2.0 not found or version too old (must be >= 2.30)]) + AC_MSG_ERROR([glib-2.0 not found or version too old (must be >= 2.32)]) fi ]) diff --git a/mcsrc/m4.include/mc-vfs.m4 b/mcsrc/m4.include/mc-vfs.m4 index f14fcfe..82567bd 100644 --- a/mcsrc/m4.include/mc-vfs.m4 +++ b/mcsrc/m4.include/mc-vfs.m4 @@ -13,7 +13,7 @@ m4_include([m4.include/vfs/mc-vfs-extfs.m4]) m4_include([m4.include/vfs/mc-vfs-sfs.m4]) m4_include([m4.include/vfs/mc-vfs-ftp.m4]) m4_include([m4.include/vfs/mc-vfs-sftp.m4]) -m4_include([m4.include/vfs/mc-vfs-fish.m4]) +m4_include([m4.include/vfs/mc-vfs-shell.m4]) m4_include([m4.include/vfs/mc-vfs-undelfs.m4]) m4_include([m4.include/vfs/mc-vfs-tarfs.m4]) m4_include([m4.include/vfs/mc-vfs-cpiofs.m4]) @@ -71,7 +71,7 @@ AC_DEFUN([mc_VFS_CHECKS], mc_VFS_CPIOFS mc_VFS_EXTFS - mc_VFS_FISH + mc_VFS_SHELL mc_VFS_FTP mc_VFS_SFS mc_VFS_SFTP @@ -80,7 +80,7 @@ AC_DEFUN([mc_VFS_CHECKS], AM_CONDITIONAL(ENABLE_VFS, [test x"$enable_vfs" = x"yes"]) - if test x"$enable_vfs_ftp" = x"yes" -o x"$enable_vfs_fish" = x"yes" -o x"$enable_vfs_sftp" = x"yes"; then + if test x"$enable_vfs_ftp" = x"yes" -o x"$enable_vfs_shell" = x"yes" -o x"$enable_vfs_sftp" = x"yes"; then mc_ENABLE_VFS_NET fi diff --git a/mcsrc/m4.include/vfs/mc-vfs-shell.m4 b/mcsrc/m4.include/vfs/mc-vfs-shell.m4 new file mode 100644 index 0000000..b07b22b --- /dev/null +++ b/mcsrc/m4.include/vfs/mc-vfs-shell.m4 @@ -0,0 +1,12 @@ +dnl Enable SHELL protocol +AC_DEFUN([mc_VFS_SHELL], +[ + AC_ARG_ENABLE([vfs-shell], + AS_HELP_STRING([--enable-vfs-shell], [Support for SHELL filesystem @<:@yes@:>@])) + if test "$enable_vfs" = "yes" -a "x$enable_vfs_shell" != xno; then + enable_vfs_shell="yes" + mc_VFS_ADDNAME([shell]) + AC_DEFINE([ENABLE_VFS_SHELL], [1], [Support for SHELL vfs]) + fi + AM_CONDITIONAL(ENABLE_VFS_SHELL, [test "$enable_vfs" = "yes" -a x"$enable_vfs_shell" = x"yes"]) +]) diff --git a/mcsrc/maint/utils/update-years.sh b/mcsrc/maint/utils/update-years.sh index b14b128..efe16a4 100644 --- a/mcsrc/maint/utils/update-years.sh +++ b/mcsrc/maint/utils/update-years.sh @@ -3,19 +3,20 @@ YEAR=`date +%Y` SOURCES="`find lib src tests -name '*.c'`" +SOURCES="$SOURCES src/man2hlp/man2hlp.in" LINE="Copyright (C)" -for i in "$SOURCES"; do +for i in $SOURCES; do # replace year: XXXX-YYYY -> XXXX-ZZZZ # add year: XXXX -> XXXX-ZZZZ - ${SED-sed} -i -e " + ${SED-sed} -e " 1,20 { /$LINE/s/-[0-9]\{4\}$/-$YEAR/ }; 1,20 { /$LINE/s/ [0-9]\{4\}$/&-$YEAR/ - }" $i + }" $i > $i.tmp && mv -f $i.tmp $i done # special case diff --git a/mcsrc/misc/ext.d/archive.sh b/mcsrc/misc/ext.d/archive.sh index 840fd47..12beb01 100644 --- a/mcsrc/misc/ext.d/archive.sh +++ b/mcsrc/misc/ext.d/archive.sh @@ -32,6 +32,9 @@ do_view_action() { lzma) lzma -dc "${MC_EXT_FILENAME}" 2>/dev/null ;; + lzo) + lzop -dc "${MC_EXT_FILENAME}" 2>/dev/null + ;; xz) xz -dc "${MC_EXT_FILENAME}" 2>/dev/null ;; @@ -65,6 +68,10 @@ do_view_action() { lzma -dc "${MC_EXT_FILENAME}" 2>/dev/null | \ tar tvvf - ;; + tar.lzo|tzo) + lzop -dc "${MC_EXT_FILENAME}" 2>/dev/null | \ + tar tvvf - + ;; tar.xz) xz -dc "${MC_EXT_FILENAME}" 2>/dev/null | \ tar tvvf - @@ -114,6 +121,10 @@ do_view_action() { lz4 -dc "${MC_EXT_FILENAME}" | \ cpio -itv 2>/dev/null ;; + cpio.lzo) + lzop -dc "${MC_EXT_FILENAME}" | \ + cpio -itv 2>/dev/null + ;; cpio.xz) xz -dc "${MC_EXT_FILENAME}" | \ cpio -itv 2>/dev/null @@ -177,6 +188,9 @@ do_open_action() { lzma) lzma -dc "${MC_EXT_FILENAME}" | ${pager} ;; + lzo) + lzop -dc "${MC_EXT_FILENAME}" | ${pager} + ;; xz) xz -dc "${MC_EXT_FILENAME}" | ${pager} ;; diff --git a/mcsrc/misc/ext.d/image.sh b/mcsrc/misc/ext.d/image.sh index 04307e0..c191225 100644 --- a/mcsrc/misc/ext.d/image.sh +++ b/mcsrc/misc/ext.d/image.sh @@ -12,14 +12,19 @@ do_view_action() { filetype=$1 case "${filetype}" in - jpeg) - identify "${MC_EXT_FILENAME}" - which exif >/dev/null 2>&1 && exif "${MC_EXT_FILENAME}" 2>/dev/null - ;; xpm) - sxpm "${MC_EXT_FILENAME}" + [ -n "$DISPLAY" ] && sxpm "${MC_EXT_FILENAME}" ;; *) + if which exif >/dev/null 2>&1; then + exif "${MC_EXT_FILENAME}" 2>/dev/null + E=$? + else + E=1 + fi + if [ $E != 0 ] && which exiftool >/dev/null 2>&1; then + exiftool "${MC_EXT_FILENAME}" 2>/dev/null + fi identify "${MC_EXT_FILENAME}" ;; esac diff --git a/mcsrc/misc/ext.d/text.sh.in b/mcsrc/misc/ext.d/text.sh.in index 2bd6ca0..357f9e1 100644 --- a/mcsrc/misc/ext.d/text.sh.in +++ b/mcsrc/misc/ext.d/text.sh.in @@ -31,6 +31,9 @@ get_unpacker() { man.lzma) unpacker="lzma -dc" ;; + man.lzo) + unpacker="lzop -dc" + ;; man.xz) unpacker="xz -dc" ;; @@ -67,7 +70,7 @@ do_view_action() { nroff.ms) nroff @MAN_FLAGS@ -ms "${MC_EXT_FILENAME}" ;; - man.gz|man.bz|man.bz2|man.lz|man.lz4|man.lzma|man.xz|man.zst) + man.gz|man.bz|man.bz2|man.lz|man.lz4|man.lzma|man.lzo|man.xz|man.zst) case "${MC_EXT_FILENAME}" in */log/*|*/logs/*) ${unpacker} "${MC_EXT_FILENAME}" @@ -114,7 +117,7 @@ do_open_action() { nroff.ms) nroff @MAN_FLAGS@ -ms "${MC_EXT_FILENAME}" | ${pager} ;; - man.gz|man.bz|man.bz2|man.lz|man.lz4|man.lzma|man.xz|man.zst) + man.gz|man.bz|man.bz2|man.lz|man.lz4|man.lzma|man.lzo|man.xz|man.zst) case "${MC_EXT_FILENAME}" in */log/*|*/logs/*) ${unpacker} "${MC_EXT_FILENAME}" diff --git a/mcsrc/misc/filehighlight.ini b/mcsrc/misc/filehighlight.ini index c31f562..2882423 100644 --- a/mcsrc/misc/filehighlight.ini +++ b/mcsrc/misc/filehighlight.ini @@ -25,7 +25,7 @@ regexp=(^#.*|.*~$) [archive] - extensions=7z;Z;ace;apk;arc;arj;ark;bz2;cab;cpio;deb;gz;lha;lz;lz4;lzh;lzma;rar;rpm;tar;tbz;tbz2;tgz;tlz;txz;tzst;vsix;xz;zip;zoo;zst + extensions=7z;Z;ace;apk;arc;arj;ark;bz2;cab;cpio;deb;gz;lha;lz;lz4;lzh;lzma;lzo;rar;rpm;tar;tbz;tbz2;tgz;tlz;txz;tzo;tzst;vsix;xz;zip;zoo;zst [doc] extensions=chm;css;ctl;diz;doc;docm;docx;dtd;fodg;fodp;fods;fodt;htm;html;json;letter;lsm;mail;man;markdown;md;me;mkd;msg;nroff;odg;odp;ods;odt;pdf;po;ppt;pptm;pptx;ps;rtf;sgml;shtml;tex;text;txt;xls;xlsm;xlsx;xml;xsd;xslt diff --git a/mcsrc/misc/mc.default.keymap b/mcsrc/misc/mc.default.keymap index a39eb5d..6e7e8bd 100644 --- a/mcsrc/misc/mc.default.keymap +++ b/mcsrc/misc/mc.default.keymap @@ -50,14 +50,11 @@ ScreenList = alt-prime # EditExtensionsFile = # EditFileHighlightFile = # Filter = -# ConnectFish = +# ConnectShell = # ConnectFtp = # Undelete = EditorViewerHistory = alt-shift-e ExtendedKeyMap = ctrl-x -DriveChange = alt-d -DriveChangeA = alt-f1 -DriveChangeB = alt-f2 [filemanager:xmap] ChangeMode = c @@ -133,8 +130,6 @@ Bottom = alt-gt; end; c1 # Filter = # ScrollLeft = # ScrollRight = -DriveChangeA = alt-f1 -DriveChangeB = alt-f2 [dialog] Ok = enter diff --git a/mcsrc/misc/mc.emacs.keymap b/mcsrc/misc/mc.emacs.keymap index dd7c80e..53c4749 100644 --- a/mcsrc/misc/mc.emacs.keymap +++ b/mcsrc/misc/mc.emacs.keymap @@ -50,12 +50,11 @@ ScreenList = alt-prime # EditExtensionsFile = # EditFileHighlightFile = # Filter = -# ConnectFish = +# ConnectShell = # ConnectFtp = # Undelete = EditorViewerHistory = alt-shift-e ExtendedKeyMap = ctrl-x -DriveChange = alt-d [filemanager:xmap] ChangeMode = c diff --git a/mcsrc/misc/mc.ext.ini.in b/mcsrc/misc/mc.ext.ini.in index 87dc1d2..c2152ee 100644 --- a/mcsrc/misc/mc.ext.ini.in +++ b/mcsrc/misc/mc.ext.ini.in @@ -26,8 +26,8 @@ # Section [Include/xxxx] can be located as before as after sections that point to it. # # Sections are processed from top to bottom, thus the order is important. -# If there are more than one sections with the same name in this file, the first -# section will be used. +# Multiple sections with the same name are allowed, they are merged together. +# Sections may contain the same key multiple times; the last entry wins. # # [Default] should be a catch-all action and come last. # @@ -57,8 +57,12 @@ # the literal | and | has a special meaning (or), and () have a special meaning # and \( \) stand for literal ( ). # +# An unescaped backslash \ is handled as invalid escape sequences in glib = 2.77.3 and +# glib >= 2.79 (https://gitlab.gnome.org/GNOME/glib/-/issues/3094), therefore backslash +# must be escaped. +# # Example: -# Regex=\.t(ar\.lzma|lz)$ +# Regex=\\.t(ar\\.lzma|lz)$ # matches *.tar.lzma or *.tlz. # # RegexIgnoreCase [true|false] @@ -188,7 +192,7 @@ Version=4.0 ### GIT Repo ### [gitfs changeset] -Regex=^\[git\] +Regex=^\\[git\\] Open=%cd %p/changesetfs:// View=%cd %p/patchsetfs:// @@ -200,7 +204,7 @@ View=%cd %p/patchsetfs:// # .tgz, .tpz, .tar.gz, .tar.z, .tar.Z [tar.gzip] -Regex=\.t([gp]?z|ar\.g?[zZ])$ +Regex=\\.t([gp]?z|ar\\.g?[zZ])$ Include=tar.gz [ipk] @@ -217,13 +221,13 @@ Shell=.tar.bz View=%view{ascii} @EXTHELPERSDIR@/archive.sh view tar.bzip [tar.bzip2] -Regex=\.t(ar\.bz2|bz2?|b2)$ +Regex=\\.t(ar\\.bz2|bz2?|b2)$ Open=%cd %p/utar:// View=%view{ascii} @EXTHELPERSDIR@/archive.sh view tar.bzip2 # .tar.lzma, .tlz [tar.lzma] -Regex=\.t(ar\.lzma|lz)$ +Regex=\\.t(ar\\.lzma|lz)$ Open=%cd %p/utar:// View=%view{ascii} @EXTHELPERSDIR@/archive.sh view tar.lzma @@ -234,19 +238,25 @@ View=%view{ascii} @EXTHELPERSDIR@/archive.sh view tar.lz # .tar.lz4, .tlz4 [tar.lz4] -Regex=\.t(ar\.lz4|lz4)$ +Regex=\\.t(ar\\.lz4|lz4)$ Open=%cd %p/utar:// View=%view{ascii} @EXTHELPERSDIR@/archive.sh view tar.lz4 +# .tar.lzo, .tzo +[tar.lzo] +Regex=\\.t(ar\\.lzo|zo)$ +Open=%cd %p/utar:// +View=%view{ascii} @EXTHELPERSDIR@/archive.sh view tar.lzo + # .tar.xz, .txz [tar.xz] -Regex=\.t(ar\.xz|xz)$ +Regex=\\.t(ar\\.xz|xz)$ Open=%cd %p/utar:// View=%view{ascii} @EXTHELPERSDIR@/archive.sh view tar.xz # .tar.zst, .tzst [tar.zst] -Regex=\.t(ar\.zst|zst)$ +Regex=\\.t(ar\\.zst|zst)$ Open=%cd %p/utar:// View=%view{ascii} @EXTHELPERSDIR@/archive.sh view tar.zst @@ -258,7 +268,7 @@ View=%view{ascii} @EXTHELPERSDIR@/archive.sh view tar.F # .qpr/.qpk - QNX Neutrino package installer files [tar.qpr] -Regex=\.qp[rk]$ +Regex=\\.qp[rk]$ Open=%cd %p/utar:// View=%view{ascii} @EXTHELPERSDIR@/archive.sh view tar.qpr @@ -269,7 +279,7 @@ Open=%cd %p/utar:// View=%view{ascii} @EXTHELPERSDIR@/archive.sh view tar [arj] -Regex=\.a(rj|[0-9][0-9])$ +Regex=\\.a(rj|[0-9][0-9])$ RegexIgnoreCase=true Open=%cd %p/uarj:// View=%view{ascii} @EXTHELPERSDIR@/archive.sh view arj @@ -287,7 +297,7 @@ Open=%cd %p/uha:// View=%view{ascii} @EXTHELPERSDIR@/archive.sh view ha [rar] -Regex=\.r(ar|[0-9][0-9])$ +Regex=\\.r(ar|[0-9][0-9])$ RegexIgnoreCase=true Open=%cd %p/urar:// View=%view{ascii} @EXTHELPERSDIR@/archive.sh view rar @@ -314,6 +324,11 @@ Shell=.cpio.lz4 Open=%cd %p/ucpio:// View=%view{ascii} @EXTHELPERSDIR@/archive.sh view cpio.lz4 +[cpio.lzo] +Shell=.cpio.lzo +Open=%cd %p/ucpio:// +View=%view{ascii} @EXTHELPERSDIR@/archive.sh view cpio.lzo + [cpio.xz] Shell=.cpio.xz Open=%cd %p/ucpio:// @@ -335,7 +350,7 @@ ShellIgnoreCase=true Include=cpio [initrd] -Regex=^(initramfs.*\.img|initrd(-.+)?\.img(-.+)?)$ +Regex=^(initramfs.*\\.img|initrd(-.+)?\\.img(-.+)?)$ Include=cpio [7zip] @@ -345,32 +360,32 @@ Open=%cd %p/u7z:// View=%view{ascii} @EXTHELPERSDIR@/archive.sh view 7z [patch] -Regex=\.(diff|patch)$ +Regex=\\.(diff|patch)$ Open=%cd %p/patchfs:// View=%view{ascii} @EXTHELPERSDIR@/misc.sh view cat [patch.gz] -Regex=\.(diff|patch)\.(gz|Z)$ +Regex=\\.(diff|patch)\\.(gz|Z)$ Open=%cd %p/patchfs:// View=%view{ascii} @EXTHELPERSDIR@/archive.sh view gz [patch.bz2] -Regex=\.(diff|patch)\.bz2$ +Regex=\\.(diff|patch)\\.bz2$ Open=%cd %p/patchfs:// View=%view{ascii} @EXTHELPERSDIR@/archive.sh view bz2 [patch.xz] -Regex=\.(diff|patch)\.xz$ +Regex=\\.(diff|patch)\\.xz$ Open=%cd %p/patchfs:// View=%view{ascii} @EXTHELPERSDIR@/archive.sh view xz [patch.zst] -Regex=\.(diff|patch)\.zst$ +Regex=\\.(diff|patch)\\.zst$ Open=%cd %p/patchfs:// View=%view{ascii} @EXTHELPERSDIR@/archive.sh view zst [ls-lR] -Regex=(^|\.)ls-?lR(\.gz|Z|bz2)$ +Regex=(^|\\.)ls-?lR(\\.gz|Z|bz2)$ Open=%cd %p/lslR:// [trpm] @@ -380,7 +395,7 @@ View=%view{ascii} @EXTHELPERSDIR@/package.sh view trpm # RPM packages (SuSE uses *.spm for source packages) [src.rpm] -Regex=\.(src\.rpm|spm)$ +Regex=\\.(src\\.rpm|spm)$ Open=%cd %p/rpm:// View=%view{ascii} @EXTHELPERSDIR@/package.sh view src.rpm @@ -390,7 +405,7 @@ Open=%cd %p/rpm:// View=%view{ascii} @EXTHELPERSDIR@/package.sh view rpm [deb] -Regex=\.u?deb$ +Regex=\\.u?deb$ Open=%cd %p/deb:// View=%view{ascii} @EXTHELPERSDIR@/package.sh view deb @@ -411,7 +426,7 @@ Open=%cd %p/iso9660:// View=%view{ascii} @EXTHELPERSDIR@/misc.sh view iso9660 [ar] -Regex=\.s?a$ +Regex=\\.s?a$ Open=%cd %p/uar:// #Open=%view{ascii} ar tv %f View=%view{ascii} @EXTHELPERSDIR@/misc.sh view ar @@ -425,12 +440,12 @@ View=%view{ascii} @EXTHELPERSDIR@/misc.sh view lib ### Sources ### [C/C++] -Regex=\.(c|cc|cpp|cxx|c\+\+)$ +Regex=\\.(c|cc|cpp|cxx|c\\+\\+)$ RegexIgnoreCase=true Include=editor [C/C++ header] -Regex=\.(h|hh|hpp|hxx|h\+\+)$ +Regex=\\.(h|hh|hpp|hxx|h\\+\\+)$ RegexIgnoreCase=true Include=editor @@ -440,7 +455,7 @@ ShellIgnoreCase=true Include=editor [Assembler] -Regex=\.(s|asm)$ +Regex=\\.(s|asm)$ RegexIgnoreCase=true Include=editor @@ -452,19 +467,19 @@ Include=editor # .so libraries [so] -Regex=\.(so|so\.[0-9\.]*)$ +Regex=\\.(so|so\\.[0-9\\.]*)$ View=%view{ascii} @EXTHELPERSDIR@/misc.sh view so # .dylib libraries [dylib] -Regex=\.(dylib|dylib\.[0-9\.]*)$ +Regex=\\.(dylib|dylib\\.[0-9\\.]*)$ View=%view{ascii} @EXTHELPERSDIR@/misc.sh view dylib ### Documentation ### #[Texinfo] -#Regex=\.(te?xi|texinfo)$ +#Regex=\\.(te?xi|texinfo)$ [info-by-shell] Shell=.info @@ -497,27 +512,32 @@ View=%view{ascii,nroff} @EXTHELPERSDIR@/text.sh view nroff.ms %var{PAGER:more} # Manual page [man.lz] -Regex=([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.lz$ +Regex=([^0-9]|^[^\\.]*)\\.([1-9][A-Za-z]*|[ln])\\.lz$ Open=@EXTHELPERSDIR@/text.sh open man.lz %var{PAGER:more} View=%view{ascii,nroff} @EXTHELPERSDIR@/text.sh view man.lz %var{PAGER:more} [man.lz4] -Regex=([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.lz4$ +Regex=([^0-9]|^[^\\.]*)\\.([1-9][A-Za-z]*|[ln])\\.lz4$ Open=@EXTHELPERSDIR@/text.sh open man.lz4 %var{PAGER:more} View=%view{ascii,nroff} @EXTHELPERSDIR@/text.sh view man.lz4 %var{PAGER:more} [man.lzma] -Regex=([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.lzma$ +Regex=([^0-9]|^[^\\.]*)\\.([1-9][A-Za-z]*|[ln])\\.lzma$ Open=@EXTHELPERSDIR@/text.sh open man.lzma %var{PAGER:more} View=%view{ascii,nroff} @EXTHELPERSDIR@/text.sh view man.lzma %var{PAGER:more} +[man.lzo] +Regex=([^0-9]|^[^\\.]*)\\.([1-9][A-Za-z]*|[ln])\\.lzo$ +Open=@EXTHELPERSDIR@/text.sh open man.lzo %var{PAGER:more} +View=%view{ascii,nroff} @EXTHELPERSDIR@/text.sh view man.lzo %var{PAGER:more} + [man.xz] -Regex=([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.xz$ +Regex=([^0-9]|^[^\\.]*)\\.([1-9][A-Za-z]*|[ln])\\.xz$ Open=@EXTHELPERSDIR@/text.sh open man.xz %var{PAGER:more} View=%view{ascii,nroff} @EXTHELPERSDIR@/text.sh view man.xz %var{PAGER:more} [man.zst] -Regex=([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.zst$ +Regex=([^0-9]|^[^\\.]*)\\.([1-9][A-Za-z]*|[ln])\\.zst$ Open=@EXTHELPERSDIR@/text.sh open man.zst %var{PAGER:more} View=%view{ascii,nroff} @EXTHELPERSDIR@/text.sh view man.zst %var{PAGER:more} @@ -556,17 +576,26 @@ ShellIgnoreCase=true View=%view{ascii} @EXTHELPERSDIR@/image.sh view svg Open=@EXTHELPERSDIR@/image.sh open svg +[webp] +Shell=.webp +View=%view{ascii} @EXTHELPERSDIR@/image.sh view webp +Open=@EXTHELPERSDIR@/image.sh open webp + +[avif] +Shell=.avif +View=%view{ascii} @EXTHELPERSDIR@/image.sh view avif +Open=@EXTHELPERSDIR@/image.sh open avif ### Sound files ### [sound] -Regex=\.(wav|snd|voc|au|smp|aiff|snd|m4a|ape|aac|wv|spx|flac)$ +Regex=\\.(wav|snd|voc|au|smp|aiff|snd|m4a|ape|aac|wv|spx|flac)$ RegexIgnoreCase=true Open=@EXTHELPERSDIR@/sound.sh open common View=%view{ascii} @EXTHELPERSDIR@/sound.sh view common [mod] -Regex=\.(mod|s3m|xm|it|mtm|669|stm|ult|far)$ +Regex=\\.(mod|s3m|xm|it|mtm|669|stm|ult|far)$ RegexIgnoreCase=true Open=@EXTHELPERSDIR@/sound.sh open mod @@ -582,7 +611,7 @@ Open=@EXTHELPERSDIR@/sound.sh open mp3 View=%view{ascii} @EXTHELPERSDIR@/sound.sh view mp3 [ogg] -Regex=\.og[gax]$ +Regex=\\.og[gax]$ RegexIgnoreCase=true Open=@EXTHELPERSDIR@/sound.sh open ogg View=%view{ascii} @EXTHELPERSDIR@/sound.sh view ogg @@ -594,7 +623,7 @@ Open=@EXTHELPERSDIR@/sound.sh open opus View=%view{ascii} @EXTHELPERSDIR@/sound.sh view opus [midi] -Regex=\.(midi?|rmid?)$ +Regex=\\.(midi?|rmid?)$ RegexIgnoreCase=true Open=@EXTHELPERSDIR@/sound.sh open midi @@ -606,7 +635,7 @@ View=%view{ascii} @EXTHELPERSDIR@/sound.sh view wma # Play list [playlist] -Regex=\.(m3u|pls)$ +Regex=\\.(m3u|pls)$ RegexIgnoreCase=true Open=@EXTHELPERSDIR@/sound.sh open playlist @@ -619,7 +648,7 @@ ShellIgnoreCase=true Include=video [asf] -Regex=\.as[fx]$ +Regex=\\.as[fx]$ RegexIgnoreCase=true Include=video @@ -634,12 +663,12 @@ ShellIgnoreCase=true Include=video [mov] -Regex=\.(mov|qt)$ +Regex=\\.(mov|qt)$ RegexIgnoreCase=true Include=video [mp4] -Regex=\.(mp4|m4v|mpe?g)$ +Regex=\\.(mp4|m4v|mpe?g)$ RegexIgnoreCase=true Include=video @@ -665,7 +694,7 @@ ShellIgnoreCase=true Include=video [fli] -Regex=\.fl[icv]$ +Regex=\\.fl[icv]$ RegexIgnoreCase=true Include=video @@ -675,7 +704,7 @@ ShellIgnoreCase=true Include=video [realaudio] -Regex=\.ra?m$ +Regex=\\.ra?m$ RegexIgnoreCase=true Open=@EXTHELPERSDIR@/video.sh open ram @@ -688,7 +717,7 @@ Include=video ### Documents ### [html] -Regex=\.html?$ +Regex=\\.html?$ RegexIgnoreCase=true Open=@EXTHELPERSDIR@/web.sh open html View=%view{ascii} @EXTHELPERSDIR@/web.sh view html @@ -700,7 +729,7 @@ Open=@EXTHELPERSDIR@/doc.sh open ooffice # StarOffice 6 and OpenOffice.org formats [OpenOffice.org] -Regex=\.(odt|fodt|ott|sxw|stw|ods|fods|ots|sxc|stc|odp|fodp|otp|sxi|sti|odg|fodg|otg|sxd|std|odb|odf|sxm|odm|sxg)$ +Regex=\\.(odt|fodt|ott|sxw|stw|ods|fods|ots|sxc|stc|odp|fodp|otp|sxi|sti|odg|fodg|otg|sxd|std|odb|odf|sxm|odm|sxg)$ RegexIgnoreCase=true Open=@EXTHELPERSDIR@/doc.sh open ooffice View=%view{ascii} @EXTHELPERSDIR@/doc.sh view odt @@ -722,21 +751,21 @@ Open=@EXTHELPERSDIR@/doc.sh open msdoc # Microsoft Word Document [msdoc-by-shell] -Regex=\.(do[ct]|wri|docx)$ +Regex=\\.(do[ct]|wri|docx)$ RegexIgnoreCase=true Open=@EXTHELPERSDIR@/doc.sh open msdoc View=%view{ascii} @EXTHELPERSDIR@/doc.sh view msdoc # Microsoft Excel Worksheet [msxls-by-shell] -Regex=\.(xl[sw]|xlsx)$ +Regex=\\.(xl[sw]|xlsx)$ RegexIgnoreCase=true Open=@EXTHELPERSDIR@/doc.sh open msxls View=%view{ascii} @EXTHELPERSDIR@/doc.sh view msxls # Microsoft PowerPoint Presentation [msppt] -Regex=\.(pp[ts]|pptx)$ +Regex=\\.(pp[ts]|pptx)$ RegexIgnoreCase=true Open=@EXTHELPERSDIR@/doc.sh open msppt View=%view{ascii} @EXTHELPERSDIR@/doc.sh view msppt @@ -753,25 +782,25 @@ ShellIgnoreCase=true Include=editor [markdown] -Regex=\.mk?d$ +Regex=\\.mk?d$ RegexIgnoreCase=true Include=editor [djvu] -Regex=\.djvu?$ +Regex=\\.djvu?$ RegexIgnoreCase=true Open=@EXTHELPERSDIR@/doc.sh open djvu View=%view{ascii} @EXTHELPERSDIR@/doc.sh view djvu # Comic Books [cbr] -Regex=\.cb[zr]$ +Regex=\\.cb[zr]$ RegexIgnoreCase=true Open=@EXTHELPERSDIR@/doc.sh open comic # Epup, mobi, fb2 [ebook] -Regex=\.(epub|mobi|fb2)$ +Regex=\\.(epub|mobi|fb2)$ RegexIgnoreCase=true Open=@EXTHELPERSDIR@/doc.sh open ebook View=%view{ascii} @EXTHELPERSDIR@/doc.sh view ebook @@ -790,11 +819,11 @@ Open=xmkmf -a # Makefile.PL (MakeMaker) [Makefile.pl] -Regex=^Makefile\.(PL|pl)$ +Regex=^Makefile\\.(PL|pl)$ Open=%var{PERL:perl} %f [Makefile] -Regex=^[Mm]akefile +Regex=^[Mm]akefile$ Open=make -f %f %{Enter parameters} [dbf] @@ -805,7 +834,7 @@ View=%view{ascii} @EXTHELPERSDIR@/misc.sh view dbf # REXX script [rexx] -Regex=\.(rexx?|cmd)$ +Regex=\\.(rexx?|cmd)$ Open=rexx %f %{Enter parameters};echo "Press ENTER";read y # Disk images for Commodore computers (VIC20, C64, C128) @@ -874,6 +903,12 @@ ShellIgnoreCase=true Open=@EXTHELPERSDIR@/archive.sh view lz4 %var{PAGER:more} View=%view{ascii} @EXTHELPERSDIR@/archive.sh view lz4 +[lzo] +Shell=.lzo +ShellIgnoreCase=true +Open=@EXTHELPERSDIR@/archive.sh view lzo %var{PAGER:more} +View=%view{ascii} @EXTHELPERSDIR@/archive.sh view lzo + [wim] Shell=.wim ShellIgnoreCase=true diff --git a/mcsrc/misc/mc.menu.in b/mcsrc/misc/mc.menu.in index c491858..9d37e37 100644 --- a/mcsrc/misc/mc.menu.in +++ b/mcsrc/misc/mc.menu.in @@ -93,6 +93,15 @@ shell_patterns=0 tar cf - "$Pwd" | zstd -f > "$tar.tar.zst" && \ echo "../$tar.tar.zst created." +8 Compress the current subdirectory (tar.lzo) + Pwd=`basename %d /` + echo -n "Name of the compressed file (without extension) [$Pwd]: " + read tar + [ "$tar"x = x ] && tar="$Pwd" + cd .. && \ + tar cf - "$Pwd" | lzop -f > "$tar.tar.lzo" && \ + echo "../$tar.tar.lzo created." + = f \.c$ & t r + f \.c$ & t r & ! t t c Compile and link current .c file @@ -228,7 +237,7 @@ U Uudecode marked news articles (needs work) fi echo "Please test the output file before deleting anything." -=+ f \.tar\.gz$ | f \.tar\.z$ | f \.tgz$ | f \.tpz$ | f \.tar\.lz$ | f \.tar\.lz4$ | f \.tar\.lzma$ | f \.tar\.7z$ | f \.tar\.xz$ | f \.tar\.zst | f \.tar\.Z$ | f \.tar\.bz2$ & t rl +=+ f \.tar\.gz$ | f \.tar\.z$ | f \.tgz$ | f \.tpz$ | f \.tar\.lz$ | f \.tar\.lz4$ | f \.tar\.lzma$ | f \.tar\.lzo$ | f \.tar\.7z$ | f \.tar\.xz$ | f \.tar\.zst | f \.tar\.Z$ | f \.tar\.bz2$ & t rl x Extract the contents of a compressed tar file unset PRG case %f in @@ -238,6 +247,7 @@ x Extract the contents of a compressed tar file *.tar.lz) PRG="lzip -dc";; *.tar.lz4) PRG="lz4 -dc";; *.tar.lzma) PRG="lzma -dc";; + *.tar.lzo) PRG="lzop -dc";; *.tar.xz) PRG="xz -dc";; *.tar.zst) PRG="zstd -dc";; *) exit 1;; diff --git a/mcsrc/misc/skins/dark.ini b/mcsrc/misc/skins/dark.ini index 8ad29b3..707b05b 100644 --- a/mcsrc/misc/skins/dark.ini +++ b/mcsrc/misc/skins/dark.ini @@ -104,6 +104,7 @@ editbold = yellow;green editmarked = black;lightgray editwhitespace = brightblue;black + editnonprintable = ;black editlinestate = white;cyan bookmark = white;red bookmarkfound = black;green diff --git a/mcsrc/misc/skins/darkfar.ini b/mcsrc/misc/skins/darkfar.ini index 9ac7399..1329e1d 100644 --- a/mcsrc/misc/skins/darkfar.ini +++ b/mcsrc/misc/skins/darkfar.ini @@ -104,6 +104,7 @@ editbold = yellow;green editmarked = black;lightgray editwhitespace = brightblue;black + editnonprintable = ;black editlinestate = white;cyan bookmark = white;red bookmarkfound = black;green diff --git a/mcsrc/misc/skins/default.ini b/mcsrc/misc/skins/default.ini index 145eb99..a3dd3e3 100644 --- a/mcsrc/misc/skins/default.ini +++ b/mcsrc/misc/skins/default.ini @@ -104,6 +104,7 @@ editbold = yellow;green editmarked = black;cyan editwhitespace = brightblue;blue + editnonprintable = ;black editlinestate = white;cyan bookmark = white;red bookmarkfound = black;green diff --git a/mcsrc/misc/skins/double-lines.ini b/mcsrc/misc/skins/double-lines.ini index 7f35df0..f6bdac0 100644 --- a/mcsrc/misc/skins/double-lines.ini +++ b/mcsrc/misc/skins/double-lines.ini @@ -104,6 +104,7 @@ editbold = yellow;green editmarked = black;cyan editwhitespace = brightblue;blue + editnonprintable = ;black editlinestate = white;cyan bookmark = white;red bookmarkfound = black;green diff --git a/mcsrc/misc/skins/featured-plus.ini b/mcsrc/misc/skins/featured-plus.ini index a0dc070..def2147 100644 --- a/mcsrc/misc/skins/featured-plus.ini +++ b/mcsrc/misc/skins/featured-plus.ini @@ -106,6 +106,7 @@ editbold = yellow;green editmarked = black;cyan editwhitespace = brightblue;blue + editnonprintable = ;black editlinestate = white;cyan bookmark = white;red bookmarkfound = black;green diff --git a/mcsrc/misc/skins/featured.ini b/mcsrc/misc/skins/featured.ini index 43ce2f2..f5b6f5d 100644 --- a/mcsrc/misc/skins/featured.ini +++ b/mcsrc/misc/skins/featured.ini @@ -107,6 +107,7 @@ editmarked = black;cyan editwhitespace = brightblue;blue editlinestate = white;cyan + editnonprintable = ;black bookmark = white;red bookmarkfound = black;green editrightmargin = brightblue;black diff --git a/mcsrc/misc/skins/gotar.ini b/mcsrc/misc/skins/gotar.ini index 3b81867..d49ddb6 100644 --- a/mcsrc/misc/skins/gotar.ini +++ b/mcsrc/misc/skins/gotar.ini @@ -101,6 +101,7 @@ editbold = yellow;blue editmarked = brightgreen;red editwhitespace = brightblue;blue + editnonprintable = ;black editlinestate = brightgreen bookmark = white;red bookmarkfound = black;green diff --git a/mcsrc/misc/skins/gray-green-purple256.ini b/mcsrc/misc/skins/gray-green-purple256.ini index 3f00e2a..12a09e3 100644 --- a/mcsrc/misc/skins/gray-green-purple256.ini +++ b/mcsrc/misc/skins/gray-green-purple256.ini @@ -111,6 +111,7 @@ editbold = rgb400 editmarked = ;main1 editwhitespace = rgb400;bgdarker + editnonprintable = ;black editlinestate = ;bgdarker bookmark = ;rgb531 bookmarkfound = ;main2 diff --git a/mcsrc/misc/skins/gray-orange-blue256.ini b/mcsrc/misc/skins/gray-orange-blue256.ini index 4953c16..bce1a98 100644 --- a/mcsrc/misc/skins/gray-orange-blue256.ini +++ b/mcsrc/misc/skins/gray-orange-blue256.ini @@ -111,6 +111,7 @@ editbold = rgb400 editmarked = ;main1 editwhitespace = rgb400;bgdarker + editnonprintable = ;black editlinestate = ;bgdarker bookmark = ;rgb531 bookmarkfound = ;main2 diff --git a/mcsrc/misc/skins/julia256.ini b/mcsrc/misc/skins/julia256.ini index 18ed248..2a73180 100644 --- a/mcsrc/misc/skins/julia256.ini +++ b/mcsrc/misc/skins/julia256.ini @@ -107,6 +107,7 @@ editbold = yellow;green editmarked = black;lightgray editwhitespace = brightblue;black + editnonprintable = ;black editlinestate = white;cyan bookmark = white;red bookmarkfound = black;green diff --git a/mcsrc/misc/skins/mc46.ini b/mcsrc/misc/skins/mc46.ini index f971310..fe42e79 100644 --- a/mcsrc/misc/skins/mc46.ini +++ b/mcsrc/misc/skins/mc46.ini @@ -95,6 +95,7 @@ editbold = yellow; editmarked = black;cyan editwhitespace = brightblue;blue + editnonprintable = ;black editlinestate = white;cyan bookmark = white;red bookmarkfound = black;green diff --git a/mcsrc/misc/skins/modarcon16-defbg.ini b/mcsrc/misc/skins/modarcon16-defbg.ini index e06e721..c79a5a2 100644 --- a/mcsrc/misc/skins/modarcon16-defbg.ini +++ b/mcsrc/misc/skins/modarcon16-defbg.ini @@ -146,6 +146,7 @@ editbold = color15;;bold editmarked = color11;color2;bold editwhitespace = color12;color4 + editnonprintable = ;black editlinestate = color2;color0 bookmark = color0;color7 bookmarkfound = color0;color7 diff --git a/mcsrc/misc/skins/modarcon16.ini b/mcsrc/misc/skins/modarcon16.ini index e2c86d7..6e95836 100644 --- a/mcsrc/misc/skins/modarcon16.ini +++ b/mcsrc/misc/skins/modarcon16.ini @@ -146,6 +146,7 @@ editbold = color15;;bold editmarked = color11;color2;bold editwhitespace = color2;color0 + editnonprintable = ;black editlinestate = color2;color0 bookmark = color0;color7 bookmarkfound = color0;color7 diff --git a/mcsrc/misc/skins/modarcon16root-defbg.ini b/mcsrc/misc/skins/modarcon16root-defbg.ini index 5d05269..677f3ea 100644 --- a/mcsrc/misc/skins/modarcon16root-defbg.ini +++ b/mcsrc/misc/skins/modarcon16root-defbg.ini @@ -146,6 +146,7 @@ editbold = color15;;bold editmarked = color11;color1;bold editwhitespace = color12;color4 + editnonprintable = ;black editlinestate = color1;color0 bookmark = color0;color7 bookmarkfound = color0;color7 diff --git a/mcsrc/misc/skins/modarcon16root.ini b/mcsrc/misc/skins/modarcon16root.ini index 46ed695..49164d6 100644 --- a/mcsrc/misc/skins/modarcon16root.ini +++ b/mcsrc/misc/skins/modarcon16root.ini @@ -146,6 +146,7 @@ editbold = color15;;bold editmarked = color11;color1;bold editwhitespace = color12;color4 + editnonprintable = ;black editlinestate = color1;color0 bookmark = color0;color7 bookmarkfound = color0;color7 diff --git a/mcsrc/misc/skins/modarin256-defbg.ini b/mcsrc/misc/skins/modarin256-defbg.ini index 9ba2e60..d4e84fe 100644 --- a/mcsrc/misc/skins/modarin256-defbg.ini +++ b/mcsrc/misc/skins/modarin256-defbg.ini @@ -146,6 +146,7 @@ editbold = color228;;bold editmarked = color228;color23;bold editwhitespace = color56;color234 + editnonprintable = ;black editlinestate = color66;color235 bookmark = ;color239 bookmarkfound = ;color239;bold diff --git a/mcsrc/misc/skins/modarin256.ini b/mcsrc/misc/skins/modarin256.ini index 0dba217..afdd71c 100644 --- a/mcsrc/misc/skins/modarin256.ini +++ b/mcsrc/misc/skins/modarin256.ini @@ -146,6 +146,7 @@ editbold = color228;;bold editmarked = color228;color23;bold editwhitespace = color56;color234 + editnonprintable = ;black editlinestate = color66;color235 bookmark = ;color239 bookmarkfound = ;color239;bold diff --git a/mcsrc/misc/skins/modarin256root-defbg.ini b/mcsrc/misc/skins/modarin256root-defbg.ini index 2a8fa75..bb0a823 100644 --- a/mcsrc/misc/skins/modarin256root-defbg.ini +++ b/mcsrc/misc/skins/modarin256root-defbg.ini @@ -146,6 +146,7 @@ editbold = color228;;bold editmarked = color228;color88;bold editwhitespace = color56;color234 + editnonprintable = ;black editlinestate = color95;color235 bookmark = ;color239 bookmarkfound = ;color239;bold diff --git a/mcsrc/misc/skins/modarin256root.ini b/mcsrc/misc/skins/modarin256root.ini index 688fea3..dd05c00 100644 --- a/mcsrc/misc/skins/modarin256root.ini +++ b/mcsrc/misc/skins/modarin256root.ini @@ -146,6 +146,7 @@ editbold = color228;;bold editmarked = color228;color88;bold editwhitespace = color56;color234 + editnonprintable = ;black editlinestate = color95;color235 bookmark = ;color239 bookmarkfound = ;color239;bold diff --git a/mcsrc/misc/skins/nicedark.ini b/mcsrc/misc/skins/nicedark.ini index 0b5ee01..3bace63 100644 --- a/mcsrc/misc/skins/nicedark.ini +++ b/mcsrc/misc/skins/nicedark.ini @@ -104,6 +104,7 @@ editbold = brown;blue editmarked = black;cyan editwhitespace = brightblue;blue + editnonprintable = ;black editlinestate = white;cyan bookmark = white;red bookmarkfound = black;green diff --git a/mcsrc/misc/skins/sand256.ini b/mcsrc/misc/skins/sand256.ini index 664ce7a..33c43c7 100644 --- a/mcsrc/misc/skins/sand256.ini +++ b/mcsrc/misc/skins/sand256.ini @@ -161,6 +161,7 @@ editbold = rgb400 editmarked = ;rgb452;italic editwhitespace = rgb400;rgb553 + editnonprintable = ;black editlinestate = ;rgb553 bookmark = ;rgb551 bookmarkfound = ;rgb530 diff --git a/mcsrc/misc/skins/seasons-autumn16M.ini b/mcsrc/misc/skins/seasons-autumn16M.ini index 47abb4c..4a94ccb 100644 --- a/mcsrc/misc/skins/seasons-autumn16M.ini +++ b/mcsrc/misc/skins/seasons-autumn16M.ini @@ -171,6 +171,7 @@ editbold = MarkedFg;;bold editmarked = ;Selected editwhitespace = ;EditorWhitespace + editnonprintable = ;black editlinestate = #000;EditorLineNumber bookmark = #000;EditorBookmark bookmarkfound = #000;EditorFindAll diff --git a/mcsrc/misc/skins/seasons-spring16M.ini b/mcsrc/misc/skins/seasons-spring16M.ini index 855b4e1..c839f81 100644 --- a/mcsrc/misc/skins/seasons-spring16M.ini +++ b/mcsrc/misc/skins/seasons-spring16M.ini @@ -171,6 +171,7 @@ editbold = MarkedFg;;bold editmarked = ;Selected editwhitespace = ;EditorWhitespace + editnonprintable = ;black editlinestate = #000;EditorLineNumber bookmark = #000;EditorBookmark bookmarkfound = #000;EditorFindAll diff --git a/mcsrc/misc/skins/seasons-summer16M.ini b/mcsrc/misc/skins/seasons-summer16M.ini index 7cad34b..3ab0148 100644 --- a/mcsrc/misc/skins/seasons-summer16M.ini +++ b/mcsrc/misc/skins/seasons-summer16M.ini @@ -171,6 +171,7 @@ editbold = MarkedFg;;bold editmarked = ;Selected editwhitespace = ;EditorWhitespace + editnonprintable = ;black editlinestate = #000;EditorLineNumber bookmark = #000;EditorBookmark bookmarkfound = #000;EditorFindAll diff --git a/mcsrc/misc/skins/seasons-winter16M.ini b/mcsrc/misc/skins/seasons-winter16M.ini index 76479bd..cae092f 100644 --- a/mcsrc/misc/skins/seasons-winter16M.ini +++ b/mcsrc/misc/skins/seasons-winter16M.ini @@ -171,6 +171,7 @@ editbold = MarkedFg;;bold editmarked = ;Selected editwhitespace = ;EditorWhitespace + editnonprintable = ;black editlinestate = #000;EditorLineNumber bookmark = #000;EditorBookmark bookmarkfound = #000;EditorFindAll diff --git a/mcsrc/misc/skins/xoria256.ini b/mcsrc/misc/skins/xoria256.ini index cbc9c99..d1e9dd0 100644 --- a/mcsrc/misc/skins/xoria256.ini +++ b/mcsrc/misc/skins/xoria256.ini @@ -147,6 +147,7 @@ editbold = ;;bold editmarked = ;color60 editwhitespace = color236;color234 + editnonprintable = ;black editlinestate = ;color235 bookmark = ;color239; bookmarkfound = ;color239;bold diff --git a/mcsrc/misc/skins/yadt256-defbg.ini b/mcsrc/misc/skins/yadt256-defbg.ini index ea3d7c7..d59b65a 100644 --- a/mcsrc/misc/skins/yadt256-defbg.ini +++ b/mcsrc/misc/skins/yadt256-defbg.ini @@ -113,6 +113,7 @@ editbold = color228;;bold editmarked = color228;blue;bold editwhitespace = color56;color234 + editnonprintable = ;black editlinestate = color66;color235 bookmark = ;color239 bookmarkfound = ;color239;bold diff --git a/mcsrc/misc/skins/yadt256.ini b/mcsrc/misc/skins/yadt256.ini index 194c2b0..2aaf4e5 100644 --- a/mcsrc/misc/skins/yadt256.ini +++ b/mcsrc/misc/skins/yadt256.ini @@ -112,6 +112,7 @@ editbold = color228;;bold editmarked = color228;blue;bold editwhitespace = color56;color234 + editnonprintable = ;black editlinestate = color66;color235 bookmark = ;color239 bookmarkfound = ;color239;bold diff --git a/mcsrc/misc/syntax/sh.syntax b/mcsrc/misc/syntax/sh.syntax index e89142d..3f4754d 100644 --- a/mcsrc/misc/syntax/sh.syntax +++ b/mcsrc/misc/syntax/sh.syntax @@ -1564,6 +1564,7 @@ wholechars abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._ keyword whole lsusb cyan keyword whole lzip cyan keyword whole lziprecover cyan + keyword whole lzop cyan keyword whole lynx cyan keyword whole MAKEDEV cyan keyword whole MAKEFLOPPIES cyan diff --git a/mcsrc/po/af.po b/mcsrc/po/af.po index 1bec8f9..df2d923 100644 --- a/mcsrc/po/af.po +++ b/mcsrc/po/af.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Afrikaans (http://app.transifex.com/mc/mc/language/af/)\n" @@ -703,7 +703,8 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1539,7 +1540,7 @@ msgid "" "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3900,65 +3901,23 @@ msgid "" "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "" - -msgid "fish: Sending password..." -msgstr "" - -msgid "fish: Sending initial line..." -msgstr "" - -msgid "fish: Handshaking version..." -msgstr "" - -msgid "fish: Getting host info..." -msgstr "" - -#, c-format -msgid "fish: Reading directory %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "%s: done." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "%s: failure" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #, c-format @@ -4071,6 +4030,14 @@ msgstr "" msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "" + +#, c-format +msgid "%s: done." +msgstr "" + msgid "ftpfs: storing file" msgstr "" @@ -4204,6 +4171,52 @@ msgstr "" msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" diff --git a/mcsrc/po/ar.po b/mcsrc/po/ar.po index 9f77f3c..01f0b08 100644 --- a/mcsrc/po/ar.po +++ b/mcsrc/po/ar.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Arabic (http://app.transifex.com/mc/mc/language/ar/)\n" @@ -704,7 +704,8 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1540,7 +1541,7 @@ msgid "" "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3917,65 +3918,23 @@ msgid "" "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "" - -msgid "fish: Sending password..." -msgstr "" - -msgid "fish: Sending initial line..." -msgstr "" - -msgid "fish: Handshaking version..." -msgstr "" - -msgid "fish: Getting host info..." -msgstr "" - -#, c-format -msgid "fish: Reading directory %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "%s: done." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "%s: failure" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #, c-format @@ -4088,6 +4047,14 @@ msgstr "" msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "" + +#, c-format +msgid "%s: done." +msgstr "" + msgid "ftpfs: storing file" msgstr "" @@ -4221,6 +4188,52 @@ msgstr "" msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" diff --git a/mcsrc/po/az.po b/mcsrc/po/az.po index c2d17e8..6b9f0b4 100644 --- a/mcsrc/po/az.po +++ b/mcsrc/po/az.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Slava Zanko , 2011\n" "Language-Team: Azerbaijani (http://app.transifex.com/mc/mc/language/az/)\n" @@ -706,7 +706,8 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1542,7 +1543,7 @@ msgid "" "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3933,67 +3934,25 @@ msgid "" "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "balıq: %s dÉ™n qopdum" - -msgid "fish: Waiting for initial line..." -msgstr "balıq: Birinci xÉ™tti gözlÉ™yirÉ™m..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Bağışlayın, indilik parollu tanıtma baÄŸlantıları qura bilmirik." - -#, c-format -msgid "fish: Password is required for %s" +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -msgid "fish: Sending password..." -msgstr "balıq: Parol göndÉ™rilir..." - -msgid "fish: Sending initial line..." -msgstr "balıq: Birinci xÉ™tt göndÉ™rilir..." - -msgid "fish: Handshaking version..." -msgstr "balıq: Æl sıxışmalı yol..." - -msgid "fish: Getting host info..." +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: Reading directory %s..." -msgstr "balıq: %s QovluÄŸu oxunur..." - -#, c-format -msgid "%s: done." -msgstr "%s : oldu." - -#, c-format -msgid "%s: failure" -msgstr "%s : xÉ™ta" - -#, c-format -msgid "fish: store %s: sending command..." -msgstr "balıq: %s göndÉ™r: göndÉ™rmÉ™ É™mri..." - -msgid "fish: Local read failed, sending zeros" -msgstr "balıq: Yerli oxuma bacarılmadı, sıfır göndÉ™rilir" - -msgid "fish: storing file" +msgid "Warning: cannot open %s directory\n" msgstr "" -msgid "Aborting transfer..." -msgstr "Daşıma ləğv edilÉ™r..." - -msgid "Error reported after abort." -msgstr "XÉ™ta ləğv etmÉ™dÉ™n sonra bildirildi." - -msgid "Aborted transfer would be successful." -msgstr "Ləğv edilmiÅŸ daşıma É™mÉ™liyyatı müvÉ™ffÉ™qiyyÉ™tli olmuÅŸ olmaılıdır." - #, c-format msgid "ftpfs: Disconnecting from %s" msgstr "ftpfs : %s ilÉ™ baÄŸlantı kÉ™silir" @@ -4104,6 +4063,14 @@ msgstr "(chdir first)" msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs : müvÉ™ffÉ™qiyyÉ™tsizlık ..; geriyÉ™ dönülÉ™cÉ™k nöqtÉ™ yoxdur" +#, c-format +msgid "%s: failure" +msgstr "%s : xÉ™ta" + +#, c-format +msgid "%s: done." +msgstr "%s : oldu." + msgid "ftpfs: storing file" msgstr "" @@ -4241,6 +4208,52 @@ msgstr "" msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Bağışlayın, indilik parollu tanıtma baÄŸlantıları qura bilmirik." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Daşıma ləğv edilÉ™r..." + +msgid "Error reported after abort." +msgstr "XÉ™ta ləğv etmÉ™dÉ™n sonra bildirildi." + +msgid "Aborted transfer would be successful." +msgstr "Ləğv edilmiÅŸ daşıma É™mÉ™liyyatı müvÉ™ffÉ™qiyyÉ™tli olmuÅŸ olmaılıdır." + msgid "Inconsistent tar archive" msgstr "Tar arxivi düzgün deyildir" diff --git a/mcsrc/po/be.po b/mcsrc/po/be.po index 5328b2d..27c0769 100644 --- a/mcsrc/po/be.po +++ b/mcsrc/po/be.po @@ -6,7 +6,8 @@ # Pavel Suravezhkin, 2022 # debconf , 2023 # Slava Zanko , 2011 -# ViaÄasÅ‚aÅ­ Chalikin, 2023 +# ViaÄasÅ‚aÅ­ Chalikin , 2023 +# ViaÄasÅ‚aÅ­ Chalikin , 2023-2024 # Viktar Palstsiuk , 2015 # Yury V. Zaytsev , 2019 # Źmicier Turok , 2018 @@ -16,9 +17,9 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" -"Last-Translator: debconf , 2023\n" +"Last-Translator: ViaÄasÅ‚aÅ­ Chalikin , 2023-2024\n" "Language-Team: Belarusian (http://app.transifex.com/mc/mc/language/be/)\n" "Language: be\n" "MIME-Version: 1.0\n" @@ -40,13 +41,13 @@ msgid "Cannot translate from %s to %s" msgstr "Ðемагчыма пераўтварыць з %s у %s" msgid "Event system already initialized" -msgstr "СіÑÑ‚Ñма падзей ужо запушчанаÑ" +msgstr "СіÑÑ‚Ñма падзей ужо ініцыÑлізаванаÑ" msgid "Failed to initialize event system" -msgstr "Ðе атрымалаÑÑ Ð·Ð°Ð¿ÑƒÑціць ÑÑ–ÑÑ‚Ñму падзей" +msgstr "Ðе атрымалаÑÑ Ñ–Ð½Ñ–Ñ†Ñ‹Ñлізаваць ÑÑ–ÑÑ‚Ñму падзей" msgid "Event system not initialized" -msgstr "СіÑÑ‚Ñма падзей не запушчанаÑ" +msgstr "СіÑÑ‚Ñма падзей не ініцыÑлізаванаÑ" msgid "Check input data! Some of parameters are NULL!" msgstr "Спраўдзіце ўведзенае! ПÑÑžÐ½Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ Ñ€Ð¾ÑžÐ½Ñ‹Ñ Â«NULL»!" @@ -67,7 +68,7 @@ msgid "" msgstr "" "Файл «%s» ужо Ñ€Ñдагуецца.\n" "КарыÑтальнік: %s\n" -"Ðумар працÑÑу: %d" +"ID працÑÑу: %d" msgid "File locked" msgstr "Файл заблакаваны" @@ -83,7 +84,7 @@ msgid "Cannot create %s directory" msgstr "Ðельга Ñтварыць каталог «%s»" msgid "FATAL: not a directory:" -msgstr "ХІБÐ: не з’ÑўлÑецца каталогам:" +msgstr "ЗГУБÐÐ: не з’ÑўлÑецца каталогам:" msgid "" "Number out of range (should be in byte range, 0 <= n <= 0xFF, expressed in " @@ -696,7 +697,7 @@ msgid "Tries to use an old highlight mouse tracking" msgstr "Спрабаваць Ñачыць за мышшу Ñтарым ÑпоÑабам" msgid "Disable mouse support in text version" -msgstr "Ðе падтрымліваць мыш у Ñ‚ÑкÑтавай верÑÑ–Ñ–" +msgstr "Ðдключыць падтрымку мышы Ñž Ñ‚ÑкÑтавай вÑÑ€ÑÑ–Ñ–" msgid "Tries to use termcap instead of terminfo" msgstr "Спрабаваць ужываць «termcap» замеÑÑ‚ «terminfo»" @@ -746,31 +747,13 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors KEYWORD={FORE},{BACK},{ATTR}:KEYWORD2=...\n" -"\n" -"{FORE}, {BACK} Ñ– {ATTR} могуць быць апушчаныÑ, будзе выкарыÑтоўвацца " -"прадвызначанае значÑнне \n" -"\n" -" ÐšÐ»ÑŽÑ‡Ð°Ð²Ñ‹Ñ Ñловы:\n" -" ГлабальныÑ: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" Паказ файлаў: normal, selected, marked, markselect\n" -" ДыÑÐ»Ð¾Ð³Ð°Ð²Ñ‹Ñ Ð²Ð¾ÐºÐ½Ñ‹: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" -" errdhotfocus\n" -" Меню: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" Ð’Ñ‹Ð¿Ð»Ñ‹ÑžÐ½Ñ‹Ñ Ð¼ÐµÐ½ÑŽ: pmenunormal, pmenusel, pmenutitle\n" -" РÑдактар: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" ПраглÑд: viewnormal,viewbold, viewunderline, viewselected\n" -" Даведка: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1228,23 +1211,23 @@ msgid "Sort" msgstr "Упарадкаваць" msgid "Cannot execute sort command" -msgstr "Ðемагчыма выканаць загад «упарадкаваць»" +msgstr "Ðемагчыма выканаць каманду sort" #, c-format msgid "Sort returned non-zero: %s" msgstr "Парадкаванне вÑрнула ненулÑвы код: %s" msgid "Paste output of external command" -msgstr "УÑтавіць вывад вонкавага загада" +msgstr "УÑтавіць вывад знешнÑй каманды" msgid "Enter shell command(s):" -msgstr "УвÑдзіце загад(Ñ‹) абалонкі:" +msgstr "УвÑдзіце каманду(Ñ‹) абалонкі:" msgid "External command" -msgstr "Вонкавы загад" +msgstr "ЗнешнÑÑ ÐºÐ°Ð¼Ð°Ð½Ð´Ð°" msgid "Cannot execute command" -msgstr "Ðемагчыма выканаць загад" +msgstr "Ðемагчыма выканаць каманду" msgid "mail -s -c " msgstr "mail -s <Ñ‚Ñма> -c <копіі> <каму>" @@ -1299,7 +1282,7 @@ msgid "Macro not deleted" msgstr "ÐœÐ°ÐºÑ€Ð°Ñ Ð½Ðµ выдалілі" msgid "Repeat last commands" -msgstr "Паўтарыць Ð°Ð¿Ð¾ÑˆÐ½Ñ–Ñ Ð·Ð°Ð³Ð°Ð´Ñ‹" +msgstr "Паўтарыць Ð°Ð¿Ð¾ÑˆÐ½Ñ–Ñ ÐºÐ°Ð¼Ð°Ð½Ð´Ñ‹" msgid "Repeat times:" msgstr "КолькаÑць разоў:" @@ -1515,7 +1498,7 @@ msgid "&Search" msgstr "Шукаць(&S)" msgid "&Command" -msgstr "Загад(&C)" +msgstr "Каманда(&C)" msgid "For&mat" msgstr "Фарматаванне(&M)" @@ -1638,8 +1621,8 @@ msgstr "" "Зручны Ñ‚ÑкÑтавы Ñ€Ñдактар,\n" "напіÑаны Ð´Ð»Ñ Midnight Commander." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" -msgstr "ÐўтарÑÐºÑ–Ñ Ð¿Ñ€Ð°Ð²Ñ‹ (C) 1996-2023 Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" +msgstr "ÐўтарÑкае права © 1996-2024 the Free Software Foundation" msgid "About" msgstr "Пра праграму" @@ -1791,14 +1774,14 @@ msgstr "" "MC не можа перайÑці Ñž каталог, Ñкі патрабуе\n" "ÑžÐ±ÑƒÐ´Ð°Ð²Ð°Ð½Ð°Ñ Ð°Ð±Ð°Ð»Ð¾Ð½ÐºÐ°. Можа, вы\n" "выдалілі працоўны каталог або далі Ñабе дадатковыÑ\n" -"прывілеі загадам su?" +"прывілеі камандай su?" #, c-format msgid "Cannot fetch a local copy of %s" msgstr "Ðемагчыма атрымаць лакальную копію «%s»" msgid "The shell is already running a command" -msgstr "Ðбалонка ўжо выконвае загад" +msgstr "Ðбалонка ўжо выконвае каманду" msgid "" "Not an xterm or Linux console;\n" @@ -1836,7 +1819,7 @@ msgid "Permissions (octal): %o" msgstr "Дазволы (ваÑьмерычныÑ): %o" msgid "Chown advanced command" -msgstr "Пашыраны загад «chown»" +msgstr "ÐŸÐ°ÑˆÑ‹Ñ€Ð°Ð½Ð°Ñ ÐºÐ°Ð¼Ð°Ð½Ð´Ð° «chown»" #, c-format msgid "" @@ -1960,7 +1943,7 @@ msgid "Skin:" msgstr "Ðбалонка:" msgid "&Shadows" -msgstr "" +msgstr "Цені(&S)" msgid "Appearance" msgstr "ВыглÑд" @@ -2178,6 +2161,9 @@ msgid "" "%s\n" "%s" msgstr "" +"Ðемагчыма перайÑці Ñž каталог\n" +"%s\n" +"%s" msgid "Secure deletion" msgstr "Ðадзейнае выдаленне" @@ -2331,7 +2317,7 @@ msgid "Group name:" msgstr "Ðазва групы:" msgid "Chmod command" -msgstr "Загад «chmod»" +msgstr "Каманда «chmod»" msgid "Permission" msgstr "Дазвол" @@ -2358,7 +2344,7 @@ msgid "Size" msgstr "Памер" msgid "Chown command" -msgstr "Загад «chown»" +msgstr "Каманда «chown»" msgid "User name" msgstr "Ð†Ð¼Ñ ÐºÐ°Ñ€Ñ‹Ñтальніка" @@ -2400,7 +2386,7 @@ msgid "Filtered view" msgstr "ПраглÑд вываду загада" msgid "Filter command and arguments:" -msgstr "Загад Ñ– аргументы:" +msgstr "Каманда фільтра ды Ñго аргументы:" msgid "Edit file" msgstr "РÑдагаваць файл" @@ -2445,8 +2431,8 @@ msgid "" "Both panels should be in the listing mode\n" "to use this command" msgstr "" -"Каб выканаць загад, патрÑбна, каб абедзве панÑлі\n" -"адлюÑтроўваліÑÑ ÑпіÑамі" +"Ðбедзве панÑлі муÑÑць адлюÑтроўвацца ÑпіÑамі,\n" +"каб выканаць гÑтую каманду" #, c-format msgid "'%s' is not a symbolic link" @@ -2501,7 +2487,7 @@ msgid "Unable to save setup to %s" msgstr "Ðемагчыма захаваць налады Ñž «%s»" msgid "Cannot execute commands on non-local filesystems" -msgstr "Ðа нелакальных файлавых ÑÑ–ÑÑ‚Ñмах нельга выконваць загады" +msgstr "Ðа нелакальных файлавых ÑÑ–ÑÑ‚Ñмах нельга выконваць каманды" msgid "Parameter" msgstr "Параметр" @@ -2511,7 +2497,7 @@ msgid "" "Cannot create temporary command file\n" "%s" msgstr "" -"Ðемагчыма Ñтварыць чаÑовы загадны файл\n" +"Ðемагчыма Ñтварыць чаÑовы камандны файл\n" "%s" msgid "Pipe failed" @@ -2857,7 +2843,7 @@ msgid "&Keep" msgstr "Захаваць(&K)" msgid "&Continue copy" -msgstr "" +msgstr "ПрацÑгнуць капіÑванне(&C)" #, c-format msgid "" @@ -3180,7 +3166,7 @@ msgid "Show directory s&izes" msgstr "Памеры каталогаў(&I)" msgid "Command &history" -msgstr "ГіÑÑ‚Ð¾Ñ€Ñ‹Ñ Ð·Ð°Ð³Ð°Ð´Ð°Ñž(&H)" +msgstr "ГіÑÑ‚Ð¾Ñ€Ñ‹Ñ ÐºÐ°Ð¼Ð°Ð½Ð´(&H)" msgid "Viewed/edited files hi&story" msgstr "ГіÑÑ‚Ð¾Ñ€Ñ‹Ñ Ð¿Ñ€Ð°Ð³Ð»ÐµÐ´Ð¶Ð°Ð½Ñ‹Ñ… / Ñ€Ñдагаваных файлаў" @@ -3550,7 +3536,7 @@ msgid "&Menubar visible" msgstr "ÐдлюÑтроўваць меню(&M)" msgid "Command &prompt" -msgstr "Загадны радок(&P)" +msgstr "Камандны радок(&P)" msgid "&Keybar visible" msgstr "Радок клавіш(&K)" @@ -3738,16 +3724,16 @@ msgid "External panelize" msgstr "Загад на вонкавую панÑль" msgid "Other command" -msgstr "Іншы загад" +msgstr "Ð†Ð½ÑˆÐ°Ñ ÐºÐ°Ð¼Ð°Ð½Ð´Ð°" msgid "Command" -msgstr "Загад" +msgstr "Каманда" msgid "Add to external panelize" msgstr "Дадаць да загадаў" msgid "Enter command label:" -msgstr "УвÑдзіце назву загада:" +msgstr "УвÑдзіце назву каманды:" #, c-format msgid "" @@ -4181,80 +4167,44 @@ msgstr "" "Ð’Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð°Ñ Ñ„Ð°Ð¹Ð»Ð°Ð²Ð°Ñ ÑÑ–ÑÑ‚Ñма EXTFS:\n" "%s" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Увага: немагчыма адкрыць каталог «%s»\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: адлучаемÑÑ Ð°Ð´ «%s»" - -msgid "fish: Waiting for initial line..." -msgstr "fish: чакаецца пачатковы радок..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Пакуль немагчыма злучыцца Ñ– ўвеÑці пароль." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: «%s» патрабуе пароль" - -msgid "fish: Sending password..." -msgstr "fish: адпраўлÑецца пароль..." - -msgid "fish: Sending initial line..." -msgstr "fish: адпраўлÑецца пачатковы радок..." - -msgid "fish: Handshaking version..." -msgstr "fish: пацвÑрджаецца верÑÑ–Ñ..." - -msgid "fish: Getting host info..." -msgstr "fish: атрымліваюцца звеÑткі пра вузел..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: чытаецца каталог «%s»..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" +msgstr "" +"Ð’Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð°Ñ Ñ„Ð°Ð¹Ð»Ð°Ð²Ð°Ñ ÑÑ–ÑÑ‚Ñма EXTFS:\n" +"Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ¾Ð²Ð°Ñ Ð½Ð°Ð·Ð²Ð° файла" -#, c-format -msgid "%s: done." -msgstr "%s: завершана." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" +"Ð’Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð°Ñ Ñ„Ð°Ð¹Ð»Ð°Ð²Ð°Ñ ÑÑ–ÑÑ‚Ñма EXTFS:\n" +"Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ¾Ð²Ð°Ñ Ð½Ð°Ð·Ð²Ð° архіва" -#, c-format -msgid "%s: failure" -msgstr "%s: не атрымалаÑÑ" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" +"Ð’Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð°Ñ Ñ„Ð°Ð¹Ð»Ð°Ð²Ð°Ñ ÑÑ–ÑÑ‚Ñма EXTFS:\n" +"немагчыма Ñтварыць каманду" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: захаваць «%s»: адпраўлÑецца загад..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: не атрымалаÑÑ Ð¿Ñ€Ð°Ñ‡Ñ‹Ñ‚Ð°Ñ†ÑŒ лакальнае, адпраўлÑюцца нулі" - -msgid "fish: storing file" -msgstr "fish: захоўваецца файл" - -msgid "Aborting transfer..." -msgstr "Перадача ÑкаÑоўваецца..." - -msgid "Error reported after abort." -msgstr "ПаÑÐ»Ñ ÑкаÑÐ°Ð²Ð°Ð½Ð½Ñ Ð²Ñ‹Ñўлена памылка." - -msgid "Aborted transfer would be successful." -msgstr "Перадача ÑкаÑаванаÑ." +msgid "Warning: cannot open %s directory\n" +msgstr "Увага: немагчыма адкрыць каталог «%s»\n" #, c-format msgid "ftpfs: Disconnecting from %s" -msgstr "ftpfs: адлучаемÑÑ Ð°Ð´ «%s»" +msgstr "ftpfs: адлучÑнне ад «%s»" #, c-format msgid "FTP: Password required for %s" msgstr "FTP: «%s» патрабуе пароль" msgid "ftpfs: sending login name" -msgstr "ftpfs: адпраўлÑецца Ñ–Ð¼Ñ ÐºÐ°Ñ€Ñ‹Ñтальніка" +msgstr "ftpfs: адпраўка Ñ–Ð¼Ñ ÐºÐ°Ñ€Ñ‹Ñтальніка" msgid "ftpfs: sending user password" -msgstr "ftpfs: адпраўлÑецца пароль карыÑтальніка" +msgstr "ftpfs: адпраўка Ð¿Ð°Ñ€Ð¾Ð»Ñ ÐºÐ°Ñ€Ñ‹Ñтальніка" #, c-format msgid "FTP: Account required for user %s" @@ -4264,7 +4214,7 @@ msgid "Account:" msgstr "Ðкаўнт:" msgid "ftpfs: sending user account" -msgstr "ftpfs: адпраўлÑецца рахунак карыÑтальніка" +msgstr "ftpfs: адпраўка акаўнта карыÑтальніка" msgid "ftpfs: logged in" msgstr "ftpfs: увайшлі" @@ -4282,10 +4232,10 @@ msgstr "ftpfs: %s" #, c-format msgid "ftpfs: making connection to %s" -msgstr "ftpfs: злучаемÑÑ Ð· «%s»" +msgstr "ftpfs: здзÑйÑненне злучÑÐ½Ð½Ñ Ð· «%s»" msgid "ftpfs: connection interrupted by user" -msgstr "ftpfs: карыÑтальнік кінуў злучацца" +msgstr "ftpfs: злучÑнне перарванае карыÑтальнікам" #, c-format msgid "ftpfs: connection to server failed: %s" @@ -4301,11 +4251,11 @@ msgstr "ftpfs: немагчыма пераўтварць Ð°Ð´Ñ€Ð°Ñ Ñƒ імÑ: % #, c-format msgid "ftpfs: try reconnect to server, attempt %u" -msgstr "ftpfs: Ñпрабую перападключыцца да Ñервера, Ñпроба %u" +msgstr "ftpfs: Ñпрабаванне паўторнага злучÑÐ½Ð½Ñ Ð· Ñерверам, Ñпроба %u" #, c-format msgid "ftpfs: could not get socket name: %s" -msgstr "ftpfs: не магу атрымаць Ñ–Ð¼Ñ Ñокета: %s" +msgstr "ftpfs: не ўдалоÑÑ Ð°Ñ‚Ñ€Ñ‹Ð¼Ð°Ñ†ÑŒ назву Ñокета: %s" msgid "ftpfs: could not reconnect to server" msgstr "ftpfs: не ўдалоÑÑ Ð¿Ð°ÑžÑ‚Ð¾Ñ€Ð½Ð° злучыцца з Ñерверам" @@ -4315,20 +4265,20 @@ msgstr "ftpfs: Ñ…Ñ–Ð±Ð½Ð°Ñ ÑÑÐ¼â€™Ñ Ð°Ð´Ñ€Ð°Ñоў" #, c-format msgid "ftpfs: could not create socket: %s" -msgstr "ftpfs: нельга Ñтварыць Ñокет: %s" +msgstr "ftpfs: не ўдалоÑÑ Ñтварыць Ñокет: %s" msgid "ftpfs: could not setup passive mode" -msgstr "ftpfs: нельга наладзіць паÑіўны Ñ€Ñжым" +msgstr "ftpfs: не ўдалоÑÑ Ð½Ð°Ð»Ð°Ð´Ð·Ñ–Ñ†ÑŒ паÑіўны Ñ€Ñжым" msgid "ftpfs: aborting transfer." -msgstr "ftpfs: перадача ÑкаÑоўваецца." +msgstr "ftpfs: ÑкаÑаванне перадачы." #, c-format msgid "ftpfs: abort error: %s" -msgstr "ftpfs: не атрымалаÑÑ ÑкаÑаваць: %s" +msgstr "ftpfs: памылка ÑкаÑаваннÑ: %s" msgid "ftpfs: abort failed" -msgstr "ftpfs: памылка Ð¿Ð°Ð´Ñ‡Ð°Ñ ÑкаÑаваннÑ" +msgstr "ftpfs: не атрымалаÑÑ ÑкаÑаваць" msgid "ftpfs: CWD failed." msgstr "ftpfs: не атрымалаÑÑ Ð·Ð¼Ñніць бÑгучы працоўны каталог." @@ -4341,7 +4291,7 @@ msgstr "Разбіраецца ÑÑ–Ð¼Ð²Ð°Ð»Ñ–Ñ‡Ð½Ð°Ñ ÑпаÑылка..." #, c-format msgid "ftpfs: Reading FTP directory %s... %s%s" -msgstr "ftpfs: чытаецца FTP-каталог «%s»… %s%s" +msgstr "ftpfs: чытанне каталога FTP %s... %s%s" msgid "(strict rfc959)" msgstr "(абмежаванне RFC959)" @@ -4352,8 +4302,16 @@ msgstr "(Ñпачатку «chdir»)" msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: памылка; нÑма куды вÑрнуцца Ñž аварыйны Ñтан" +#, c-format +msgid "%s: failure" +msgstr "%s: не атрымалаÑÑ" + +#, c-format +msgid "%s: done." +msgstr "%s: завершана." + msgid "ftpfs: storing file" -msgstr "ftpfs: захоўваецца файл" +msgstr "ftpfs: захоўванне файла" msgid "" "~/.netrc file has incorrect mode\n" @@ -4509,6 +4467,52 @@ msgstr "sftp: чытаецца ÑÐ¿Ñ–Ñ (Ñпыніць — «Ctrl-G»)… %s" msgid "sftp: Listing done." msgstr "sftp: ÑÐ¿Ñ–Ñ Ð¿Ñ€Ð°Ñ‡Ñ‹Ñ‚Ð°Ð½Ñ‹." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "shell: адлучÑнне ад «%s»" + +msgid "shell: Waiting for initial line..." +msgstr "shell: чаканне пачатковага радка..." + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Пакуль немагчыма злучыцца Ñ– ўвеÑці пароль." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "shell: «%s» патрабуе пароль" + +msgid "shell: Sending password..." +msgstr "shell: адпраўка паролÑ..." + +msgid "shell: Sending initial line..." +msgstr "shell: адпраўка пачатковага радка..." + +msgid "shell: Getting host info..." +msgstr "shell: атрыманне звеÑтак пра вузел..." + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "shell: чытанне каталога «%s»..." + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "shell: захоўванне «%s»: адпраўка каманды..." + +msgid "shell: Local read failed, sending zeros" +msgstr "shell: не атрымалаÑÑ Ð¿Ñ€Ð°Ñ‡Ñ‹Ñ‚Ð°Ñ†ÑŒ лакальна, адпраўлÑюцца нулі" + +msgid "shell: storing file" +msgstr "shell: захоўванне файла" + +msgid "Aborting transfer..." +msgstr "Перадача ÑкаÑоўваецца..." + +msgid "Error reported after abort." +msgstr "ПаÑÐ»Ñ ÑкаÑÐ°Ð²Ð°Ð½Ð½Ñ Ð²Ñ‹Ñўлена памылка." + +msgid "Aborted transfer would be successful." +msgstr "Перадача ÑкаÑаванаÑ." + msgid "Inconsistent tar archive" msgstr "ÐеÑумÑшчальны архіў tar" @@ -4520,7 +4524,7 @@ msgid "" "Cannot open tar archive\n" "%s" msgstr "" -"Ðемагчыма адкрыць tar-архіў\n" +"Ðемагчыма адкрыць архіў tar\n" "%s" #, c-format @@ -4528,9 +4532,11 @@ msgid "" "%s\n" "doesn't look like a tar archive" msgstr "" +"%s\n" +"не падобны на архіў tar" msgid "tar: mc_lseek not stopped at a record boundary" -msgstr "" +msgstr "tar: mc_lseek не ÑпыніўÑÑ Ð½Ð° мÑжы запіÑу" msgid "undelfs: error" msgstr "undelfs: памылка" diff --git a/mcsrc/po/bg.po b/mcsrc/po/bg.po index 776aee0..7a390dd 100644 --- a/mcsrc/po/bg.po +++ b/mcsrc/po/bg.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Alexander Shopov , 2022\n" "Language-Team: Bulgarian (http://app.transifex.com/mc/mc/language/bg/)\n" @@ -739,31 +739,13 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors КЛЮЧОВÐ_ДУМÐ={ЦВЯТ},{ФОÐ},{ÐТРИБУТ}:КЛЮЧОВÐ_ДУМÐ_2=…\n" -"\n" -"Когато пропуÑнете {ЦВЯТ}, {ФОÐ} или {ÐТРИБУТ}, Ñе ползват Ñтандартните\n" -"ÑтойноÑти\n" -"\n" -"Ключови думи:\n" -" Глобални: errors, disabled, reverse, gauge, header,\n" -" input, inputmark, inputunchanged, commandlinemark,\n" -" bbarhotkey, bbarbutton, statusbar\n" -" Файлове: normal, selected, marked, markselect\n" -" Диалогови прозорци: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" -" errdhotfocus\n" -" Менюта: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" ИзÑкачащи менюта: pmenunormal, pmenusel, pmenutitle\n" -" Редактор: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive,\n" -" editframedrag\n" -" Преглед: viewnormal, viewbold, viewunderline, viewselected\n" -" Помощ: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1633,7 +1615,7 @@ msgstr "" "Удобен текÑтови редактор\n" "за Midnight Commander." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -4157,66 +4139,24 @@ msgstr "" "Виртуална ФС по EXTFS:\n" "%s" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Предупреждение: директориÑта %s не може да Ñе отвори \n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: Изключване от %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: Изчаква Ñе начален ред…" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "ЗаÑега връзки Ñ Ð¿Ð°Ñ€Ð¾Ð»Ð° не може да Ñе оÑъщеÑтвÑÑ‚." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: Ðужна е парола за %s" - -msgid "fish: Sending password..." -msgstr "fish: Изпращане на парола…" - -msgid "fish: Sending initial line..." -msgstr "fish: Изпращане на начален ред…" - -msgid "fish: Handshaking version..." -msgstr "fish: Потвърждаване на верÑиÑта…" - -msgid "fish: Getting host info..." -msgstr "fish: Получаване на данни за хоÑта…" - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: Прочитане на директориÑта %s…" +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" +msgstr "" -#, c-format -msgid "%s: done." -msgstr "%s: готово." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" -#, c-format -msgid "%s: failure" -msgstr "%s: неуÑпех" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: Ð·Ð°Ð¿Ð¸Ñ Ð½Ð° %s: изпращане на командата…" - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: ÐеуÑпешно локалнот четене, изпращат Ñе нули" - -msgid "fish: storing file" -msgstr "fish: Ð·Ð°Ð¿Ð¸Ñ Ð½Ð° файл" - -msgid "Aborting transfer..." -msgstr "ОтмÑна на пренаÑÑнето…" - -msgid "Error reported after abort." -msgstr "Грешка Ñлед отмÑната." - -msgid "Aborted transfer would be successful." -msgstr "ПреноÑÑŠÑ‚ е отменен уÑпешно." +msgid "Warning: cannot open %s directory\n" +msgstr "Предупреждение: директориÑта %s не може да Ñе отвори \n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4328,6 +4268,14 @@ msgstr "(първо cd)" msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: неуÑпех; нÑма мÑÑто за връщане" +#, c-format +msgid "%s: failure" +msgstr "%s: неуÑпех" + +#, c-format +msgid "%s: done." +msgstr "%s: готово." + msgid "ftpfs: storing file" msgstr "ftpfs: ÑъхранÑване на файл" @@ -4485,6 +4433,52 @@ msgstr "sftp: (прекъÑване Ñ Ctrl-G) Извеждане… %s" msgid "sftp: Listing done." msgstr "sftp: Извеждането приключи." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "ЗаÑега връзки Ñ Ð¿Ð°Ñ€Ð¾Ð»Ð° не може да Ñе оÑъщеÑтвÑÑ‚." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "ОтмÑна на пренаÑÑнето…" + +msgid "Error reported after abort." +msgstr "Грешка Ñлед отмÑната." + +msgid "Aborted transfer would be successful." +msgstr "ПреноÑÑŠÑ‚ е отменен уÑпешно." + msgid "Inconsistent tar archive" msgstr "Ñгрешен архив tar" diff --git a/mcsrc/po/br.po b/mcsrc/po/br.po index 77212f8..7bd8a0f 100644 --- a/mcsrc/po/br.po +++ b/mcsrc/po/br.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Irriep Nala Novram , 2017-2018\n" "Language-Team: Breton (http://app.transifex.com/mc/mc/language/br/)\n" @@ -708,7 +708,8 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1544,7 +1545,7 @@ msgid "" "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3917,65 +3918,23 @@ msgid "" "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "" - -msgid "fish: Sending password..." -msgstr "" - -msgid "fish: Sending initial line..." -msgstr "" - -msgid "fish: Handshaking version..." -msgstr "" - -msgid "fish: Getting host info..." -msgstr "" - -#, c-format -msgid "fish: Reading directory %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "%s: done." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "%s: failure" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #, c-format @@ -4088,6 +4047,14 @@ msgstr "" msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "" + +#, c-format +msgid "%s: done." +msgstr "" + msgid "ftpfs: storing file" msgstr "" @@ -4221,6 +4188,52 @@ msgstr "" msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" diff --git a/mcsrc/po/ca.po b/mcsrc/po/ca.po index bc09d58..0cf6bc7 100644 --- a/mcsrc/po/ca.po +++ b/mcsrc/po/ca.po @@ -3,7 +3,7 @@ # This file is distributed under the same license as the mc package. # # Translators: -# Antoni Bella Pérez , 2017-2023 +# Antoni Bella Pérez , 2017-2024 # Daniel , 2011 # Daniel , 2011-2012 # Daniel , 2012 @@ -16,9 +16,9 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" -"Last-Translator: Antoni Bella Pérez , 2017-2023\n" +"Last-Translator: Antoni Bella Pérez , 2017-2024\n" "Language-Team: Catalan (http://app.transifex.com/mc/mc/language/ca/)\n" "Language: ca\n" "MIME-Version: 1.0\n" @@ -750,30 +750,34 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors KEYWORD={FORE},{BACK},{ATTR}:KEYWORD2=...\n" +"--colors PARAULA_CLAU={FORE},{BACK},{ATTR}:PARAULA_CLAU_2=...\n" "\n" -"{FORE}, {BACK} i {ATTR} es poden ometre i s'usarà el valor predeterminat\n" +"{FORE}, {BACK} i {ATTR} es pot ometre i s'usarà el valor predeterminat\n" "\n" " Paraules clau:\n" -" Global: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" Visor fitxer: normal, selected, marked, markselect\n" -" Diàlegs: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" -" errdhotfocus\n" -" Menús: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" Menús emerg: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" Visor: viewnormal,viewbold, viewunderline, viewselected\n" -" Ajuda: helpnormal, helpitalic, helpbold, helplink, helpslink\n" +" Global: errors, disabled, reverse, gauge, header,\n" +" input, inputmark, inputunchanged, commandlinemark,\n" +" bbarhotkey, bbarbutton i statusbar.\n" +" Mostra els fitxers: normal, selected, marked i markselect.\n" +" Diàlegs: dnormal, dfocus, dhotnormal, dhotfocus, " +"errdhotnormal\n" +" i errdhotfocus.\n" +" Menús: menunormal, menuhot, menusel, menuhotsel i " +"menuinactive.\n" +" Menús emergents: pmenunormal, pmenusel i pmenutitle.\n" +" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" editnonprintable, editlinestate, editbg, editframe,\n" +" editframeactive i editframedrag.\n" +" Visor: viewnormal,viewbold, viewunderline i viewselected.\n" +" Ajuda: helpnormal, helpitalic, helpbold, helplink i " +"helpslink.\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1644,8 +1648,8 @@ msgstr "" "Un editor de text fàcil d'emprar\n" "escrit per al Midnight Commander." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" -msgstr "Copyright (C) 1996-2023 la «Free Software Foundation»" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" +msgstr "Copyright (C) 1996-2024 la Free Software Foundation" msgid "About" msgstr "Quant a" @@ -2184,6 +2188,9 @@ msgid "" "%s\n" "%s" msgstr "" +"No s'ha pogut canviar el directori a\n" +"%s\n" +"%s" msgid "Secure deletion" msgstr "Supressió segura" @@ -4186,67 +4193,30 @@ msgstr "" "Sistema de fitxers virtual EXTFS:\n" "%s" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Avís: no s'ha pogut obrir el directori %s\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: S'està desconnectant de %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: Està esperant a la línia inicial..." - -msgid "Sorry, we cannot do password authenticated connections for now." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -"Ho sentim, de moment no es poden fer connexions autenticades amb contrasenya." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: Contrasenya requerida per %s" - -msgid "fish: Sending password..." -msgstr "fish: S'està enviant la contrasenya..." - -msgid "fish: Sending initial line..." -msgstr "fish: S'està enviant la línia inicial..." - -msgid "fish: Handshaking version..." -msgstr "fish: S'està intercanviant la versió..." - -msgid "fish: Getting host info..." -msgstr "fish: S'està obtenint informació de l'amfitrió..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: S'està llegint el directori %s..." +"Sistema de fitxers virtual EXTFS:\n" +"nom de fitxer incorrecte" -#, c-format -msgid "%s: done." -msgstr "%s: fet." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" +"Sistema de fitxers virtual EXTFS:\n" +"nom d'arxiu incorrecte" -#, c-format -msgid "%s: failure" -msgstr "%s: fallada" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" +"Sistema de fitxers virtual EXTFS:\n" +"no s'ha pogut crear l'ordre" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: emmagatzema %s: s'està enviant l'ordre..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: Ha fallat la lectura local, s'estan enviant zeros" - -msgid "fish: storing file" -msgstr "fish: s'està emmagatzemant el fitxer" - -msgid "Aborting transfer..." -msgstr "S'està interrompent la transferència..." - -msgid "Error reported after abort." -msgstr "S'ha informat d'un error després d'interrompre." - -msgid "Aborted transfer would be successful." -msgstr "Transferència interrompuda amb èxit." +msgid "Warning: cannot open %s directory\n" +msgstr "Avís: no s'ha pogut obrir el directori %s\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4358,6 +4328,14 @@ msgstr "(primer canvia de directori)" msgid "ftpfs: failed; nowhere to fallback to" msgstr "FTPFS: ha fallat; enlloc per a retornar-hi" +#, c-format +msgid "%s: failure" +msgstr "%s: fallada" + +#, c-format +msgid "%s: done." +msgstr "%s: fet." + msgid "ftpfs: storing file" msgstr "FTPFS: s'està emmagatzemant el fitxer" @@ -4520,6 +4498,53 @@ msgstr "sftp: (Ctrl-G per a cancel·lar) s'està llistant... %s" msgid "sftp: Listing done." msgstr "sftp: el llistat s'ha completat." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "intèrpret d'ordres: S'està desconnectant de %s" + +msgid "shell: Waiting for initial line..." +msgstr "intèrpret d'ordres: S'està esperant la línia inicial..." + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" +"Ho sentim, de moment no es poden fer connexions autenticades amb contrasenya." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "intèrpret d'ordres: Es requereix una contrasenya per a %s" + +msgid "shell: Sending password..." +msgstr "intèrpret d'ordres: S'està enviant la contrasenya..." + +msgid "shell: Sending initial line..." +msgstr "intèrpret d'ordres: S'està enviant la línia inicial..." + +msgid "shell: Getting host info..." +msgstr "intèrpret d'ordres: S'està rebent informació de l'amfitrió..." + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "intèrpret d'ordres: S'està llegint el directori %s..." + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "intèrpret d'ordres: emmagatzematge %s: s'està enviant l'ordre..." + +msgid "shell: Local read failed, sending zeros" +msgstr "intèrpret d'ordres: La lectura local ha fallat, s'estan enviant zeros" + +msgid "shell: storing file" +msgstr "intèrpret d'ordres: fitxer d'emmagatzematge" + +msgid "Aborting transfer..." +msgstr "S'està interrompent la transferència..." + +msgid "Error reported after abort." +msgstr "S'ha informat d'un error després d'interrompre." + +msgid "Aborted transfer would be successful." +msgstr "Transferència interrompuda amb èxit." + msgid "Inconsistent tar archive" msgstr "L'arxiu TAR no és coherent" @@ -4539,9 +4564,11 @@ msgid "" "%s\n" "doesn't look like a tar archive" msgstr "" +"%s\n" +"no sembla un arxiu tar" msgid "tar: mc_lseek not stopped at a record boundary" -msgstr "" +msgstr "tar: «mc_lseek» no s'ha aturat en un límit de registre" msgid "undelfs: error" msgstr "undelfs: error" diff --git a/mcsrc/po/cs.po b/mcsrc/po/cs.po index 77b06fe..13f16d1 100644 --- a/mcsrc/po/cs.po +++ b/mcsrc/po/cs.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Pavel Borecki , 2017-2023\n" "Language-Team: Czech (http://app.transifex.com/mc/mc/language/cs/)\n" @@ -742,30 +742,13 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors KLICOVESLOVO={FORE},{BACK},{ATTR}:KEYWORD2=...\n" -"\n" -"{FORE}, {BACK} and {ATTR} can be omitted, and the default will be used\n" -"\n" -" KlíÄová slova:\n" -" Globální: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" Zobrazení souborů: normal, selected, marked, markselect\n" -" Dialogy: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" -" errdhotfocus\n" -" Nabídka: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" Vyskakovcí nabídka: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" ProhlížeÄ: viewnormal,viewbold, viewunderline, viewselected\n" -" NápovÄ›da: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1632,8 +1615,8 @@ msgstr "" "Uživatelsky přívÄ›tivý textový editor\n" "napsaný pro Midnight Commander." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" -msgstr "Autorská práva © 1996-2023 nadace Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" +msgstr "" msgid "About" msgstr "O programu" @@ -4185,67 +4168,24 @@ msgstr "" "Virtuální souborový systém EXTFS:\n" "%s" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Varování: složku %s se nedaří otevřít\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: Odpojování od %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: ÄŒekání na úvodní spojení…" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Je nám líto, ale prozatím nelze navazovat heslem se ověřující spojení." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: Pro %s je vyžadováno heslo" - -msgid "fish: Sending password..." -msgstr "fish: Odesílání hesla…" - -msgid "fish: Sending initial line..." -msgstr "fish: Odesílá se úvodní řádek…" - -msgid "fish: Handshaking version..." -msgstr "fish: Domlouvání verze…" - -msgid "fish: Getting host info..." -msgstr "fish: Získávání informací o hostiteli…" - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: NaÄítaní složky %s…" - -#, c-format -msgid "%s: done." -msgstr "%s: hotovo." - -#, c-format -msgid "%s: failure" -msgstr "%s: nezdar" - -#, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: ukládání %s: odesílání příkazu…" - -msgid "fish: Local read failed, sending zeros" +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -"fish: NaÄtení místního souboru se nezdaÅ™ilo, náhradnÄ› se odesílají nuly" - -msgid "fish: storing file" -msgstr "fish: ukládání souboru" -msgid "Aborting transfer..." -msgstr "PÅ™eruÅ¡ení pÅ™enosu…" +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" -msgid "Error reported after abort." -msgstr "Po pÅ™eruÅ¡ení byla oznámena chyba." +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" -msgid "Aborted transfer would be successful." -msgstr "PÅ™eruÅ¡ení pÅ™enosu probÄ›hlo v pořádku." +#, c-format +msgid "Warning: cannot open %s directory\n" +msgstr "Varování: složku %s se nedaří otevřít\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4357,6 +4297,14 @@ msgstr "(nejdříve chdir)" msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: nezdar; není jiná možnost" +#, c-format +msgid "%s: failure" +msgstr "%s: nezdar" + +#, c-format +msgid "%s: done." +msgstr "%s: hotovo." + msgid "ftpfs: storing file" msgstr "ftpfs: ukládá se soubor" @@ -4515,6 +4463,52 @@ msgstr "sftp: (pÅ™eruÅ¡ení CTRL+G) vypisování… %s" msgid "sftp: Listing done." msgstr "sftp: Vypsání dokonÄeno." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Je nám líto, ale prozatím nelze navazovat heslem se ověřující spojení." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "PÅ™eruÅ¡ení pÅ™enosu…" + +msgid "Error reported after abort." +msgstr "Po pÅ™eruÅ¡ení byla oznámena chyba." + +msgid "Aborted transfer would be successful." +msgstr "PÅ™eruÅ¡ení pÅ™enosu probÄ›hlo v pořádku." + msgid "Inconsistent tar archive" msgstr "Nekonzistentní archiv .tar" diff --git a/mcsrc/po/da.po b/mcsrc/po/da.po index 8953a7c..38db7f9 100644 --- a/mcsrc/po/da.po +++ b/mcsrc/po/da.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Morten Bo Johansen , 2018,2023\n" "Language-Team: Danish (http://app.transifex.com/mc/mc/language/da/)\n" @@ -738,30 +738,13 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors NØGLEORD={FORG},{BAGG},{ATTR}:NØGLEORD2=...\n" -"\n" -"{FORG}, {BAGG} og {ATTR} kan udelades, sÃ¥ bruges standarden\n" -"\n" -" Nøgleord:\n" -" Globale: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" Filvisning: normal, selected, marked, markselect\n" -" Dialogbokse: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" -" errdhotfocus\n" -" Menuer: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" Pop op-menuer: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" Fremviser: viewnormal,viewbold, viewunderline, viewselected\n" -" Hjælp: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1629,8 +1612,8 @@ msgstr "" "En brugervenlig teksteditor\n" "skrevet til Midnight Commander." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" -msgstr "Ophavsret (C) 1996-2023, The Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" +msgstr "" msgid "About" msgstr "Om" @@ -4168,66 +4151,24 @@ msgstr "" "Virtuelt EXTFS-filsystem:\n" "%s" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Advarsel: Kan ikke Ã¥bne mappen %s\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fisk: Afkobler fra %s" - -msgid "fish: Waiting for initial line..." -msgstr "fisk: Venter pÃ¥ begyndelseslinje..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Beklager, vi kan ikke lave adgangskodebekræftede forbindelser endnu." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fisk: Adgangskode er krævet for %s" - -msgid "fish: Sending password..." -msgstr "fisk: Sender adgangskode..." - -msgid "fish: Sending initial line..." -msgstr "fisk: Sender begyndelseslinje..." - -msgid "fish: Handshaking version..." -msgstr "fisk: HÃ¥ndrystende version..." - -msgid "fish: Getting host info..." -msgstr "fisk: Indhenter værtsinformation..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fisk: Læser mappe %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" +msgstr "" -#, c-format -msgid "%s: done." -msgstr "%s: færdig." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" -#, c-format -msgid "%s: failure" -msgstr "%s: fejl" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fisk: gem %s: sender kommando..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fisk: Lokal læsning fejlede, sender nuller" - -msgid "fish: storing file" -msgstr "fisk: gemmer fil" - -msgid "Aborting transfer..." -msgstr "Afbryder overførsel..." - -msgid "Error reported after abort." -msgstr "Fejl meldt tilbage efter afbrydelse." - -msgid "Aborted transfer would be successful." -msgstr "Afbrudt overførsel ville være lykkedes." +msgid "Warning: cannot open %s directory\n" +msgstr "Advarsel: Kan ikke Ã¥bne mappen %s\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4339,6 +4280,14 @@ msgstr "(chdir først)" msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: Fejlede; ingen steder at falde tilbage pÃ¥" +#, c-format +msgid "%s: failure" +msgstr "%s: fejl" + +#, c-format +msgid "%s: done." +msgstr "%s: færdig." + msgid "ftpfs: storing file" msgstr "ftpfs: Gemmer fil" @@ -4495,6 +4444,52 @@ msgstr "sftp: (Ctrl-G break) Liste... %s" msgid "sftp: Listing done." msgstr "sftp: Liste færdig." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Beklager, vi kan ikke lave adgangskodebekræftede forbindelser endnu." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Afbryder overførsel..." + +msgid "Error reported after abort." +msgstr "Fejl meldt tilbage efter afbrydelse." + +msgid "Aborted transfer would be successful." +msgstr "Afbrudt overførsel ville være lykkedes." + msgid "Inconsistent tar archive" msgstr "Inkonsistent tar-arkiv" diff --git a/mcsrc/po/de.po b/mcsrc/po/de.po index 79c8bbe..785da3e 100644 --- a/mcsrc/po/de.po +++ b/mcsrc/po/de.po @@ -6,7 +6,7 @@ # Atha Translate, 2016 # Benjamin M. Berwien , 2023 # cheese , 2016 -# Ettore Atalan , 2015-2023 +# Ettore Atalan , 2015-2024 # Fabian Affolter , 2012-2013 # Johannes Hellmuth , 2020 # Karsten , 2016 @@ -21,9 +21,9 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" -"Last-Translator: Benjamin M. Berwien , 2023\n" +"Last-Translator: Ettore Atalan , 2015-2024\n" "Language-Team: German (http://app.transifex.com/mc/mc/language/de/)\n" "Language: de\n" "MIME-Version: 1.0\n" @@ -547,7 +547,7 @@ msgstr "" "%s" msgid "Cannot close pipe descriptor (p == NULL)" -msgstr "Kann Pipe Deskriptor nicht schliessen (p == NULL)" +msgstr "Kann Pipe-Deskriptor nicht schließen (p == NULL)" #, c-format msgid "" @@ -754,31 +754,13 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors KEYWORD={FORE},{BACK},{ATTR}:KEYWORD2=...\n" -"\n" -"{FORE}, {BACK} und {ATTR} kann weggelassen werden und der Standardwert wird " -"verwendet\n" -"\n" -" Schlüsselwörter:\n" -" Global: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" Datei-Anzeiger: normal, selected, marked, markselect\n" -" Dialogboxen: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" -" errdhotfocus\n" -" Menü: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" Pop-up-Menü: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" Betrachter: viewnormal, viewbold, viewunderline, viewselected\n" -" Hilfe: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1231,7 +1213,7 @@ msgstr "Sortierung ausführen" msgid "Enter sort options (see sort(1) manpage) separated by whitespace:" msgstr "" -"Gib Sortierungs-Optionen ein (siehe sort(1) manpage), getrennt durch " +"Geben Sie Sortieroptionen ein (siehe sort(1) manpage), getrennt durch " "Leerzeichen:" msgid "Sort" @@ -1648,8 +1630,8 @@ msgstr "" "Ein benutzerfreundlicher Texteditor,\n" "geschrieben für Midnight Commander." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" -msgstr "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" +msgstr "Copyright (C) 1996-2024 the Free Software Foundation" msgid "About" msgstr "Ãœber" @@ -2187,6 +2169,9 @@ msgid "" "%s\n" "%s" msgstr "" +"Kann Verzeichnis nicht wechseln zu\n" +"%s\n" +"%s" msgid "Secure deletion" msgstr "Sicheres Löschen" @@ -4186,76 +4171,36 @@ msgstr "" "Virtuelles Dateisystem EXTFS:\n" "%s" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Warnung: Kann Verzeichnis \"%s\" nicht öffnen\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: Trenne von %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: Warte auf erste Zeile..." - -msgid "Sorry, we cannot do password authenticated connections for now." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -"Entschuldigung, aber wir können momentan noch keine passwortgesicherten\n" -"Verbindungen benutzen." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: Passwort benötigt für %s" - -msgid "fish: Sending password..." -msgstr "fish: Sende Passwort..." - -msgid "fish: Sending initial line..." -msgstr "fish: Sende erste Zeile..." - -msgid "fish: Handshaking version..." -msgstr "fish: Tausche Versionsnummer aus..." - -msgid "fish: Getting host info..." -msgstr "fish: Hole Hostinformation..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: Lese Verzeichnis %s..." +"Virtuelles Dateisystem EXTFS:\n" +"falscher Dateiname" -#, c-format -msgid "%s: done." -msgstr "%s: fertig." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" +"Virtuelles Dateisystem EXTFS:\n" +"falscher Archivname" -#, c-format -msgid "%s: failure" -msgstr "%s: Fehler" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: Speichere %s: Sende Befehl..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: Lokales Lesen fehlgeschlagen, sende Nullen" - -msgid "fish: storing file" -msgstr "fish: Datei speichern" - -msgid "Aborting transfer..." -msgstr "Breche Transfer ab..." - -msgid "Error reported after abort." -msgstr "Fehler nach Abbruch gemeldet." - -msgid "Aborted transfer would be successful." -msgstr "Abgebrochener Transfer wäre erfolgreich." +msgid "Warning: cannot open %s directory\n" +msgstr "Warnung: Kann Verzeichnis \"%s\" nicht öffnen\n" #, c-format msgid "ftpfs: Disconnecting from %s" -msgstr "ftpfs: Trenne von %s" +msgstr "ftpfs: Trennen der Verbindung von %s" #, c-format msgid "FTP: Password required for %s" -msgstr "FTP: Passwort benötigt für %s" +msgstr "FTP: Passwort ist erforderlich für %s" msgid "ftpfs: sending login name" msgstr "ftpfs: Sende Loginnamen" @@ -4304,7 +4249,7 @@ msgstr "Warte bis zum nächsten Versuch... %d (Strg+G zum Abbrechen)" #, c-format msgid "ftpfs: could not make address-to-name translation: %s" -msgstr "ftpfs: Adresse-zu-Name Ãœbersetzung fehlgeschlagen: %s" +msgstr "ftpfs: Adresse-zu-Name-Ãœbersetzung fehlgeschlagen: %s" #, c-format msgid "ftpfs: try reconnect to server, attempt %u" @@ -4312,7 +4257,7 @@ msgstr "ftpfs: versuche nochmals mit Server zu verbinden, Anlauf %u" #, c-format msgid "ftpfs: could not get socket name: %s" -msgstr "ftpfs: konnte Socket-Name nicht auslesen: %s" +msgstr "ftpfs: konnte Socket-Namen nicht auslesen: %s" msgid "ftpfs: could not reconnect to server" msgstr "ftpfs: Verbindung zum Server konnte nicht wiederhergestellt werden" @@ -4359,6 +4304,14 @@ msgstr "(zuerst chdir)" msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: Fehlgeschlagen; alle Stricke gerissen" +#, c-format +msgid "%s: failure" +msgstr "%s: Fehler" + +#, c-format +msgid "%s: done." +msgstr "%s: fertig." + msgid "ftpfs: storing file" msgstr "ftpfs: Datei speichern" @@ -4412,7 +4365,9 @@ msgid "sftp: %s" msgstr "sftp: %s" msgid "sftp: failed to convert remote host IP address into text form" -msgstr "sftp: Fehler beim Konvertieren der Remote Host IP-Adresse in Textform" +msgstr "" +"sftp: Konvertierung der IP-Adresse des entfernten Hosts in Textform " +"fehlgeschlagen" #, c-format msgid "sftp: making connection to %s" @@ -4426,10 +4381,10 @@ msgid "sftp: connection to server failed: %s" msgstr "sftp: Verbindung zum Server fehlgeschlagen: %s" msgid "sftp: found host key of unsupported type: RSA1" -msgstr "sftp: Host-Key gefunden, aber nicht unterstützter Typ: RSA1" +msgstr "sftp: Hostschlüssel von nicht unterstütztem Typ gefunden: RSA1" msgid "sftp: unknown host key type:" -msgstr "sftp: unbekannter Host-Key Typ:" +msgstr "sftp: unbekannter Hostschlüsseltyp:" #, c-format msgid "" @@ -4442,14 +4397,15 @@ msgstr "" "zur Liste der bekannten Hosts." msgid "sftp: cannot get the remote host key" -msgstr "sftp: bekomme keinen Remote Host-Key " +msgstr "sftp: kann den Schlüssel des entfernten Hosts nicht erhalten" msgid "sftp: unsupported key type, can't check remote host key" msgstr "" -"sftp: nicht unterstützter Key-Typ, kann Remote Host-Key nicht überprüfen" +"sftp: nicht unterstützter Schlüsseltyp, kann den Schlüssel des entfernten " +"Hosts nicht überprüfen" msgid "sftp: can't compute host key fingerprint hash" -msgstr "sftp: kann Host-Key Fingerprint-Hash nicht berechnen" +msgstr "sftp: kann den Fingerprint-Hash des Hostschlüssels nicht berechnen" #, c-format msgid "" @@ -4463,9 +4419,10 @@ msgstr "" "Die Authentizität des Hosts\n" "%s (%s)\n" "kann nicht festgestellt werden!\n" -"%s Host-Key Fingerprint-Hash ist\n" +"%s Schlüssel-Fingerprint-Hash ist\n" "SHA1:%s.\n" -"Willst Du ihn zur Known-Hosts-Liste hinzufügen und weiter verbinden?" +"Möchten Sie ihn in die Liste der bekannten Hosts aufnehmen und die " +"Verbindung fortsetzen?" #, c-format msgid "" @@ -4515,6 +4472,54 @@ msgstr "sftp: Auflisten... %s (Strg+G zum Unterbrechen)" msgid "sftp: Listing done." msgstr "sftp: Auflisten beendet." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "shell: Trennen der Verbindung von %s" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" +"Entschuldigung, aber wir können momentan noch keine passwortgesicherten\n" +"Verbindungen benutzen." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "shell: Passwort ist erforderlich für %s" + +msgid "shell: Sending password..." +msgstr "Shell: Passwort wird gesendet..." + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "Shell: Verzeichnis %s wird gelesen..." + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "shell: Datei speichern" + +msgid "Aborting transfer..." +msgstr "Breche Transfer ab..." + +msgid "Error reported after abort." +msgstr "Fehler nach Abbruch gemeldet." + +msgid "Aborted transfer would be successful." +msgstr "Abgebrochener Transfer wäre erfolgreich." + msgid "Inconsistent tar archive" msgstr "Inkonsistentes tar-Archiv" @@ -4534,9 +4539,11 @@ msgid "" "%s\n" "doesn't look like a tar archive" msgstr "" +"%s\n" +"sieht nicht wie ein tar-Archiv aus" msgid "tar: mc_lseek not stopped at a record boundary" -msgstr "" +msgstr "tar: mc_lseek hält nicht an einer Satzgrenze an" msgid "undelfs: error" msgstr "undelfs: Fehler" diff --git a/mcsrc/po/de_CH.po b/mcsrc/po/de_CH.po index 1316c27..526c0bd 100644 --- a/mcsrc/po/de_CH.po +++ b/mcsrc/po/de_CH.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2015-02-26 09:48+0000\n" "Last-Translator: Piotr DrÄ…g \n" "Language-Team: German (Switzerland) (http://www.transifex.com/projects/p/mc/" @@ -704,7 +704,8 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1540,7 +1541,7 @@ msgid "" "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3901,65 +3902,23 @@ msgid "" "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "" - -msgid "fish: Sending password..." -msgstr "" - -msgid "fish: Sending initial line..." -msgstr "" - -msgid "fish: Handshaking version..." -msgstr "" - -msgid "fish: Getting host info..." -msgstr "" - -#, c-format -msgid "fish: Reading directory %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "%s: done." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "%s: failure" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #, c-format @@ -4072,6 +4031,14 @@ msgstr "" msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "" + +#, c-format +msgid "%s: done." +msgstr "" + msgid "ftpfs: storing file" msgstr "" @@ -4205,6 +4172,52 @@ msgstr "" msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" diff --git a/mcsrc/po/el.po b/mcsrc/po/el.po index 39194d2..3016e10 100644 --- a/mcsrc/po/el.po +++ b/mcsrc/po/el.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Efstathios Iosifidis , 2015\n" "Language-Team: Greek (http://app.transifex.com/mc/mc/language/el/)\n" @@ -717,7 +717,8 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1564,7 +1565,7 @@ msgid "" "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -4006,67 +4007,24 @@ msgid "" "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "ΠÏοειδοποίηση: δεν ήταν δυνατό το άνοιγμα του καταλόγου %s\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: Γίνεται αποσÏνδεση από %s" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -"ΛυποÏμαστε, αλλά Ï€Ïος το παÏόν συνδέσεις με χÏήση ÎºÏ‰Î´Î¹ÎºÎ¿Ï Î´ÎµÎ½ υποστηÏίζονται." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: Απαιτείται κωδικός Ï€Ïόσβασης για %s" -msgid "fish: Sending password..." -msgstr "fish: Αποστολή ÎºÏ‰Î´Î¹ÎºÎ¿Ï Ï€Ïόσβασης..." - -msgid "fish: Sending initial line..." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -msgid "fish: Handshaking version..." +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" -msgid "fish: Getting host info..." -msgstr "fish: Γίνεται λήψη πληÏοφοÏιών υπολογιστή..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: Ανάγνωση φακέλου %s..." - #, c-format -msgid "%s: done." -msgstr "%s: εντάξει." - -#, c-format -msgid "%s: failure" -msgstr "%s: απέτυχε" - -#, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: αποθήκευση %s: αποστολή εντολής..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: Η τοπική ανάγνωση απέτυψε, αποστέλνονται μηδενικά" - -msgid "fish: storing file" -msgstr "fish: το αÏχείο αποθηκεÏεται" - -msgid "Aborting transfer..." -msgstr "ΑκÏÏωση μεταφοÏάς..." - -msgid "Error reported after abort." -msgstr "ΑναφέÏθηκε σφάλμα μετά την ακÏÏωση." - -msgid "Aborted transfer would be successful." -msgstr "" +msgid "Warning: cannot open %s directory\n" +msgstr "ΠÏοειδοποίηση: δεν ήταν δυνατό το άνοιγμα του καταλόγου %s\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4178,6 +4136,14 @@ msgstr "" msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "%s: απέτυχε" + +#, c-format +msgid "%s: done." +msgstr "%s: εντάξει." + msgid "ftpfs: storing file" msgstr "ftpfs: αποθήκευση αÏχείου" @@ -4315,6 +4281,53 @@ msgstr "" msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" +"ΛυποÏμαστε, αλλά Ï€Ïος το παÏόν συνδέσεις με χÏήση ÎºÏ‰Î´Î¹ÎºÎ¿Ï Î´ÎµÎ½ υποστηÏίζονται." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "ΑκÏÏωση μεταφοÏάς..." + +msgid "Error reported after abort." +msgstr "ΑναφέÏθηκε σφάλμα μετά την ακÏÏωση." + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "Χαλασμένη αÏχειοθήκη tar" diff --git a/mcsrc/po/en_GB.po b/mcsrc/po/en_GB.po index f0b42a3..774c5fd 100644 --- a/mcsrc/po/en_GB.po +++ b/mcsrc/po/en_GB.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Andi Chandler , 2016-2017,2020,2022-2023\n" "Language-Team: English (United Kingdom) (http://app.transifex.com/mc/mc/" @@ -734,30 +734,13 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors KEYWORD={FORE},{BACK},{ATTR}:KEYWORD2=...\n" -"\n" -"{FORE}, {BACK} and {ATTR} can be omitted, and the default will be used\n" -"\n" -" Keywords:\n" -" Global: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" File display: normal, selected, marked, markselect\n" -" Dialogue boxes: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" -" errdhotfocus\n" -" Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" Viewer: viewnormal,viewbold, viewunderline, viewselected\n" -" Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1342,205 +1325,205 @@ msgid "Unmar&k" msgstr "Unmar&k" msgid "Cop&y" -msgstr "" +msgstr "Cop&y" msgid "Mo&ve" -msgstr "" +msgstr "Mo&ve" msgid "&Delete" -msgstr "" +msgstr "&Delete" msgid "Co&py to clipfile" -msgstr "" +msgstr "Co&py to clipfile" msgid "&Cut to clipfile" -msgstr "" +msgstr "&Cut to clipfile" msgid "Pa&ste from clipfile" -msgstr "" +msgstr "Pa&ste from clipfile" msgid "&Beginning" -msgstr "" +msgstr "&Beginning" msgid "&End" -msgstr "" +msgstr "&End" msgid "&Search..." -msgstr "" +msgstr "&Search..." msgid "Search &again" -msgstr "" +msgstr "Search &again" msgid "&Replace..." -msgstr "" +msgstr "&Replace..." msgid "&Toggle bookmark" -msgstr "" +msgstr "&Toggle bookmark" msgid "&Next bookmark" -msgstr "" +msgstr "&Next bookmark" msgid "&Prev bookmark" -msgstr "" +msgstr "&Prev bookmark" msgid "&Flush bookmarks" -msgstr "" +msgstr "&Flush bookmarks" msgid "&Go to line..." -msgstr "" +msgstr "&Go to line..." msgid "&Toggle line state" -msgstr "" +msgstr "&Toggle line state" msgid "Go to matching &bracket" -msgstr "" +msgstr "Go to matching &bracket" msgid "Toggle s&yntax highlighting" -msgstr "" +msgstr "Toggle s&yntax highlighting" msgid "&Find declaration" -msgstr "" +msgstr "&Find declaration" msgid "Back from &declaration" -msgstr "" +msgstr "Back from &declaration" msgid "For&ward to declaration" -msgstr "" +msgstr "For&ward to declaration" msgid "Encod&ing..." -msgstr "" +msgstr "Encod&ing..." msgid "&Refresh screen" -msgstr "" +msgstr "&Refresh screen" msgid "&Start/Stop record macro" -msgstr "" +msgstr "&Start/Stop record macro" msgid "Delete macr&o..." -msgstr "" +msgstr "Delete macr&o..." msgid "Record/Repeat &actions" -msgstr "" +msgstr "Record/Repeat &actions" msgid "S&pell check" -msgstr "" +msgstr "S&pell check" msgid "C&heck word" -msgstr "" +msgstr "C&heck word" msgid "Change spelling &language..." -msgstr "" +msgstr "Change spelling &language..." msgid "&Mail..." -msgstr "" +msgstr "&Mail..." msgid "Insert &literal..." -msgstr "" +msgstr "Insert &literal..." msgid "Insert &date/time" -msgstr "" +msgstr "Insert &date/time" msgid "&Format paragraph" -msgstr "" +msgstr "&Format paragraph" msgid "&Sort..." -msgstr "" +msgstr "&Sort..." msgid "&Paste output of..." -msgstr "" +msgstr "&Paste output of..." msgid "&External formatter" -msgstr "" +msgstr "&External formatter" msgid "&Move" -msgstr "" +msgstr "&Move" msgid "&Resize" -msgstr "" +msgstr "&Resize" msgid "&Toggle fullscreen" -msgstr "" +msgstr "&Toggle fullscreen" msgid "&Next" -msgstr "" +msgstr "&Next" msgid "&Previous" -msgstr "" +msgstr "&Previous" msgid "&List..." -msgstr "" +msgstr "&List..." msgid "&General..." -msgstr "" +msgstr "&General..." msgid "Save &mode..." -msgstr "" +msgstr "Save &mode..." msgid "Learn &keys..." -msgstr "" +msgstr "Learn &keys..." msgid "Syntax &highlighting..." -msgstr "" +msgstr "Syntax &highlighting..." msgid "S&yntax file" -msgstr "" +msgstr "S&yntax file" msgid "&Menu file" -msgstr "" +msgstr "&Menu file" msgid "&Save setup" -msgstr "" +msgstr "&Save setup" msgid "&File" -msgstr "" +msgstr "&File" msgid "&Edit" -msgstr "" +msgstr "&Edit" msgid "&Search" -msgstr "" +msgstr "&Search" msgid "&Command" -msgstr "" +msgstr "&Command" msgid "For&mat" -msgstr "" +msgstr "For&mat" msgid "&Window" -msgstr "" +msgstr "&Window" msgid "&Options" -msgstr "" +msgstr "&Options" msgid "&None" -msgstr "" +msgstr "&None" msgid "&Dynamic paragraphing" -msgstr "" +msgstr "&Dynamic paragraphing" msgid "Type &writer wrap" -msgstr "" +msgstr "Type &writer wrap" msgid "Wrap mode" -msgstr "" +msgstr "Wrap mode" msgid "Tabulation" -msgstr "" +msgstr "Tabulation" msgid "&Fake half tabs" -msgstr "" +msgstr "&Fake half tabs" msgid "&Backspace through tabs" -msgstr "" +msgstr "&Backspace through tabs" msgid "Fill tabs with &spaces" -msgstr "" +msgstr "Fill tabs with &spaces" msgid "Tab spacing:" -msgstr "" +msgstr "Tab spacing:" msgid "Other options" -msgstr "" +msgstr "Other options" msgid "&Return does autoindent" msgstr "" @@ -1622,7 +1605,7 @@ msgid "" "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3983,65 +3966,23 @@ msgid "" "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "" - -msgid "fish: Sending password..." -msgstr "" - -msgid "fish: Sending initial line..." -msgstr "" - -msgid "fish: Handshaking version..." -msgstr "" - -msgid "fish: Getting host info..." -msgstr "" - -#, c-format -msgid "fish: Reading directory %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "%s: done." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "%s: failure" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #, c-format @@ -4154,6 +4095,14 @@ msgstr "" msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "" + +#, c-format +msgid "%s: done." +msgstr "" + msgid "ftpfs: storing file" msgstr "" @@ -4287,6 +4236,52 @@ msgstr "" msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" diff --git a/mcsrc/po/eo.po b/mcsrc/po/eo.po index a7a98d5..9ce1bdd 100644 --- a/mcsrc/po/eo.po +++ b/mcsrc/po/eo.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Yury V. Zaytsev , 2022\n" "Language-Team: Esperanto (http://app.transifex.com/mc/mc/language/eo/)\n" @@ -735,32 +735,13 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors Åœlosilvorto={teksto},{fono},{atributo}:Åœlosilvorto2=...\n" -"Se {teksto}, {fono} aÅ­ {atributo} estas ellasitaj, la aprioraj estas uzotaj\n" -"\n" -" Åœlosilvortoj:\n" -" Tutprograma: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarhotbutton, statusbar\n" -" Dosieradministrado: normal, selected, marked, markselect\n" -" Dialogujo: dnormal, dfocus, dhotnormal, dhotfocus, " -"errdhotnormal,\n" -" errdhotfocus\n" -" Menuoj: menunormal, menuhot, menusel, menuhotsel, " -"menuinactive\n" -" Åœprucmenuoj: pmenunormal, pmenusel, pmenutitle\n" -" Tekstoredaktilo: editnormal, editbold, editmarked, editwhitespace\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" Tekstolegilo: viewnormal, viewbold, viewunderline, viewselected\n" -" Helpilo: helpnormal, helpitalic, helpbold, helplink, " -"helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1629,8 +1610,8 @@ msgstr "" "Afabla tekstoredaktilo\n" "verkita por Midnight Commander." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" -msgstr "Kopirajto (C) 1996–2023 la Fondaĵo pri Libera Programaro" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" +msgstr "" msgid "About" msgstr "Pri" @@ -2169,6 +2150,9 @@ msgid "" "%s\n" "%s" msgstr "" +"Ne eblas ÅanÄi dosierujon al\n" +"%s\n" +"%s" msgid "Secure deletion" msgstr "Sekura forigo" @@ -4164,66 +4148,30 @@ msgstr "" "Virtuala dosiersistemo EXTFS:\n" "%s" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Averto: ne eblas malfermi dosierujon %s\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: MalkonektiÄanta de %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: Atendanta komencan linion..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "BedaÅ­rinde ni ne povas nun fari pasvortajn atestadajn konektojn." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: Pasvorto estas postulita por %s" - -msgid "fish: Sending password..." -msgstr "fish: Sendanta pasvorton..." - -msgid "fish: Sending initial line..." -msgstr "fish: Sendanta komencan linion..." - -msgid "fish: Handshaking version..." -msgstr "fish: Konsentanta eldonon..." - -msgid "fish: Getting host info..." -msgstr "fish: Akiranta gastiganto-informojn..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: Leganta dosierujon %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" +msgstr "" +"Virtuala dosiersistemo EXTFS:\n" +"malÄusta dosiernomo" -#, c-format -msgid "%s: done." -msgstr "%s: finita." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" +"Virtuala dosiersistemo EXTFS:\n" +"malÄusta arkivnomo" -#, c-format -msgid "%s: failure" -msgstr "%s: malsukceso" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" +"Virtuala dosiersistemo EXTFS:\n" +"ne eblas konstrui komandon" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: teno %s: sendanta komandon..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: Loka legado malsukcesis, sendanta nulojn" - -msgid "fish: storing file" -msgstr "fish: konservanta dosieron" - -msgid "Aborting transfer..." -msgstr "Ĉesiganta transigon..." - -msgid "Error reported after abort." -msgstr "Eraro raportita post ĉesigo." - -msgid "Aborted transfer would be successful." -msgstr "Ĉesigita transigo estus sukcesa." +msgid "Warning: cannot open %s directory\n" +msgstr "Averto: ne eblas malfermi dosierujon %s\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4335,6 +4283,14 @@ msgstr "(ÅanÄi dosierujon unue)" msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: malsukcesis; neniuj pluaj litoj" +#, c-format +msgid "%s: failure" +msgstr "%s: malsukceso" + +#, c-format +msgid "%s: done." +msgstr "%s: finita." + msgid "ftpfs: storing file" msgstr "ftpfs: konservanta dosieron" @@ -4490,6 +4446,52 @@ msgstr "sftp: (Stir-G rompi) Listo... %s" msgid "sftp: Listing done." msgstr "sftp: Listado finita." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "Åelo: MalkonektiÄanta de %s" + +msgid "shell: Waiting for initial line..." +msgstr "Åelo: Atendanta komencan linion..." + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "BedaÅ­rinde ni ne povas nun fari pasvortajn atestadajn konektojn." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "Åelo: Pasvorto estas postulita por %s" + +msgid "shell: Sending password..." +msgstr "Åelo: Sendanta pasvorton..." + +msgid "shell: Sending initial line..." +msgstr "Åelo: Sendanta komencan linion..." + +msgid "shell: Getting host info..." +msgstr "Åelo: Akiranta gastiganto-informojn..." + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "Åelo: Leganta dosierujon %s..." + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "Åelo: teno %s: sendanta komandon..." + +msgid "shell: Local read failed, sending zeros" +msgstr "Åelo: Loka legado malsukcesis, sendanta nulojn" + +msgid "shell: storing file" +msgstr "Åelo: konservanta dosieron" + +msgid "Aborting transfer..." +msgstr "Ĉesiganta transigon..." + +msgid "Error reported after abort." +msgstr "Eraro raportita post ĉesigo." + +msgid "Aborted transfer would be successful." +msgstr "Ĉesigita transigo estus sukcesa." + msgid "Inconsistent tar archive" msgstr "Malkonsekvenca tar-dosiero" @@ -4509,9 +4511,11 @@ msgid "" "%s\n" "doesn't look like a tar archive" msgstr "" +"%s\n" +"ne Åajnas esti TAR-arkivo" msgid "tar: mc_lseek not stopped at a record boundary" -msgstr "" +msgstr "tar: mc_lsek ne ĉesigita je rikorda limo" msgid "undelfs: error" msgstr "undelfs: eraro" diff --git a/mcsrc/po/es.po b/mcsrc/po/es.po index 376d899..99adba1 100644 --- a/mcsrc/po/es.po +++ b/mcsrc/po/es.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Slava Zanko , 2011\n" "Language-Team: Spanish (http://app.transifex.com/mc/mc/language/es/)\n" @@ -740,7 +740,8 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -762,8 +763,9 @@ msgstr "" " Menús: menunormal, menuhot, menusel, menuhotsel, " "menuinactive\n" " Menús emergentes: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" +" editlinestate, editbg, editframe, editframeactive,\n" " editframedrag\n" " Visor: viewnormal, viewbold, viewunderline, viewselected\n" " Ayuda: helpnormal, helpitalic, helpbold, helplink, helpslink\n" @@ -1635,8 +1637,8 @@ msgstr "" "Un editor de texto amigable\n" "para Midnight Commander." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" -msgstr "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" +msgstr "Copyright (C) 1996-2024 the Free Software Foundation" msgid "About" msgstr "Acerca de..." @@ -3178,7 +3180,7 @@ msgid "E&xternal panelize" msgstr "búsqueda e&Xterna..." msgid "Show directory s&izes" -msgstr "mostrar &Tamaños de los directorios" +msgstr "mostrar &Tamaños de directorios" msgid "Command &history" msgstr "&Historia de órdenes" @@ -3241,7 +3243,7 @@ msgstr "Paneles:" msgid "You have %zu opened screen. Quit anyway?" msgid_plural "You have %zu opened screens. Quit anyway?" msgstr[0] "Hay %zu pantalla abierta. ¿Desea realmente salir?" -msgstr[1] "Hay %zu pantallas abiertas. ¿Desea realmente salir?" +msgstr[1] "Hay %zu de pantallas abiertas. ¿Desea realmente salir?" msgstr[2] "Hay %zu pantallas abiertas. ¿Desea realmente salir?" msgid "The Midnight Commander" @@ -3343,7 +3345,7 @@ msgstr "Terminado" msgid "Finished (ignored %zu directory)" msgid_plural "Finished (ignored %zu directories)" msgstr[0] "Terminado (%zu directorio ignorado)" -msgstr[1] "Terminado (%zu directorios ignorados)" +msgstr[1] "Terminado (%zu de directorios ignorados)" msgstr[2] "Terminado (%zu directorios ignorados)" #, c-format @@ -3515,7 +3517,7 @@ msgstr "Tamaño: %s" msgid " (%lu block)" msgid_plural " (%lu blocks)" msgstr[0] " (%lu bloque)" -msgstr[1] " (%lu bloques)" +msgstr[1] " (%lu de bloques)" msgstr[2] " (%lu bloques)" #, c-format @@ -3695,7 +3697,7 @@ msgstr "" msgid "%s in %d file" msgid_plural "%s in %d files" msgstr[0] "%s en %d archivo" -msgstr[1] "%s en %d archivos" +msgstr[1] "%s en %d de archivos" msgstr[2] "%s en %d archivos" msgid "Panelize" @@ -4178,66 +4180,30 @@ msgstr "" "Sistema de archivos virtual EXTFS:\n" "%s" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Atención: imposible abrir el directorio %s\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: Desconectando de %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: Esperando línea de inicio..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Lo siento, las conexiones con contraseña aún no son posibles." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: Contraseña requerida para %s" - -msgid "fish: Sending password..." -msgstr "fish: Enviando contraseña de usuario" - -msgid "fish: Sending initial line..." -msgstr "fish: Enviando línea de inicio..." - -msgid "fish: Handshaking version..." -msgstr "fish: Negociando versión..." - -msgid "fish: Getting host info..." -msgstr "fish: Obteniendo información del servidor..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: Leyendo el directorio %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" +msgstr "" +"Sistema de archivos virtual EXTFS:\n" +"nombre de archivo incorrecto" -#, c-format -msgid "%s: done." -msgstr "%s: Hecho." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" +"Sistema de archivos virtual EXTFS:\n" +"nombre de archivador incorrecto" -#, c-format -msgid "%s: failure" -msgstr "%s: Fallo." +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" +"Sistema de archivos virtual EXTFS:\n" +"imposible construir comando" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: Guardar %s: enviando comando..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: Fallo de lectura local, enviando ceros" - -msgid "fish: storing file" -msgstr "fish: Guardando archivo" - -msgid "Aborting transfer..." -msgstr "Abortando transferencia." - -msgid "Error reported after abort." -msgstr "Error denunciado tras abortar." - -msgid "Aborted transfer would be successful." -msgstr "Abortada transferencia con éxito." +msgid "Warning: cannot open %s directory\n" +msgstr "Atención: imposible abrir el directorio %s\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4349,6 +4315,14 @@ msgstr "(chdir)" msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: Falló; no hay dónde replegarse" +#, c-format +msgid "%s: failure" +msgstr "%s: Fallo." + +#, c-format +msgid "%s: done." +msgstr "%s: Hecho." + msgid "ftpfs: storing file" msgstr "ftpfs: Guardando archivo" @@ -4503,6 +4477,52 @@ msgstr "sftp: (Ctrl-G para cancelar) Listando... %s" msgid "sftp: Listing done." msgstr "sftp: Listado completo." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "shell: Desconectando de %s" + +msgid "shell: Waiting for initial line..." +msgstr "shell: Esperando línea de inicio..." + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Lo siento, las conexiones con contraseña aún no son posibles." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "shell: Contraseña requerida para %s" + +msgid "shell: Sending password..." +msgstr "shell: Enviando contraseña de usuario" + +msgid "shell: Sending initial line..." +msgstr "shell: Enviando línea de inicio..." + +msgid "shell: Getting host info..." +msgstr "shell: Obteniendo información del servidor..." + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "shell: Leyendo el directorio %s..." + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "shell: Guardar %s: enviando comando..." + +msgid "shell: Local read failed, sending zeros" +msgstr "shell: Fallo de lectura local, enviando ceros" + +msgid "shell: storing file" +msgstr "shell: Guardando archivo" + +msgid "Aborting transfer..." +msgstr "Abortando transferencia." + +msgid "Error reported after abort." +msgstr "Error denunciado tras abortar." + +msgid "Aborted transfer would be successful." +msgstr "Abortada transferencia con éxito." + msgid "Inconsistent tar archive" msgstr "Archivo de tipo tar inconsistente" diff --git a/mcsrc/po/et.po b/mcsrc/po/et.po index 237979d..34ab061 100644 --- a/mcsrc/po/et.po +++ b/mcsrc/po/et.po @@ -4,7 +4,7 @@ # # Translators: # Ivar Smolin , 2021 -# Kristjan Räts , 2013-2016,2018-2019 +# Kristjan Räts , 2013-2016,2018-2019,2024 # Priit Jõerüüt , 2020-2021,2023 # vaba , 2020 # vaba , 2020 @@ -12,9 +12,10 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" -"Last-Translator: vaba , 2020\n" +"Last-Translator: Kristjan Räts , " +"2013-2016,2018-2019,2024\n" "Language-Team: Estonian (http://app.transifex.com/mc/mc/language/et/)\n" "Language: et\n" "MIME-Version: 1.0\n" @@ -480,12 +481,18 @@ msgid "" "\n" "Cannot configure write end of SIGWINCH pipe: %s (%d)\n" msgstr "" +"\n" +"SIGWINCH saatmispoolt ei saa\n" +"konfigureerida: %s (%d)\n" #, c-format msgid "" "\n" "Cannot configure read end of SIGWINCH pipe: %s (%d)\n" msgstr "" +"\n" +"SIGWINCH lugemispoolt ei saa\n" +"konfigureerida: %s (%d)\n" #, c-format msgid "" @@ -531,7 +538,7 @@ msgstr "" "%s" msgid "Cannot close pipe descriptor (p == NULL)" -msgstr "" +msgstr "Toru deskriptor ei saa sulgeda (p == NULL)" #, c-format msgid "" @@ -735,7 +742,8 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -758,7 +766,7 @@ msgstr "" " Toimeti: editnormal, editbold, editmarked, editwhitespace,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" -" Kuvaja: viewnormal,viewbold, viewunderline, viewselected\n" +" Kuvaja: viewnormal, viewbold, viewunderline, viewselected\n" " Abi: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes @@ -1207,7 +1215,7 @@ msgid "You must first highlight a block of text" msgstr "Esmalt vali tekstiplokk" msgid "Run sort" -msgstr "Räivita sortimine" +msgstr "Käivita sortimine" msgid "Enter sort options (see sort(1) manpage) separated by whitespace:" msgstr "" @@ -1628,8 +1636,8 @@ msgstr "" "Kasutajasõbralik tekstitoimeti, mis\n" "on loodud Midnight Commanderile." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" -msgstr "Autoriõigused (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" +msgstr "Autoriõigused (C) 1996-2024 the Free Software Foundation" msgid "About" msgstr "Programmist" @@ -2034,13 +2042,13 @@ msgstr "" "Lisainfot leiad manuaalist." msgid "&Full file list" -msgstr "&Täielik failide loend" +msgstr "&Täielik faililoend" msgid "&Brief file list:" -msgstr "&Lühike failide loend:" +msgstr "&Lühike faililoend:" msgid "&Long file list" -msgstr "&Pikk failide loend" +msgstr "&Pikk faililoend" msgid "&User defined:" msgstr "&Kasutaja määratud:" @@ -2166,6 +2174,9 @@ msgid "" "%s\n" "%s" msgstr "" +"Nurjus vahetus kataloogiks \n" +"%s \n" +"%s" msgid "Secure deletion" msgstr "Turvaline kustutamine" @@ -2186,7 +2197,7 @@ msgid "Append only" msgstr "Ainult lisa" msgid "No dump" -msgstr "" +msgstr "Tõmmis puudub" msgid "No update atime" msgstr "Jäta atime uuendamata" @@ -2213,7 +2224,7 @@ msgid "Indexed directory" msgstr "Indekseeritud kataloog" msgid "No tail merging" -msgstr "" +msgstr "Keela lõppude mestimine" msgid "Top of directory hierarchies" msgstr "Kataloogihierarhiate tipp" @@ -2222,16 +2233,16 @@ msgid "Inode uses extents" msgstr "Inode kasutab ulatusi" msgid "Huge_file" -msgstr "" +msgstr "suurfail" msgid "No COW" -msgstr "" +msgstr "COW puudub" msgid "Direct access for files" msgstr "Otsene juurdepääs failidele" msgid "Casefolded file" -msgstr "" +msgstr "Tõstutundetustatud fail" msgid "Inode has inline data" msgstr "I-kirjel on põimitud andmeid" @@ -2259,6 +2270,8 @@ msgid "" "Cannot chattr \"%s\"\n" "%s" msgstr "" +"\"%s\" attribuutide muutmine nurjus\n" +"%s" #, c-format msgid "" @@ -2431,8 +2444,8 @@ msgid "" "Both panels should be in the listing mode\n" "to use this command" msgstr "" -"Selle käsu kasutamiseks peaksid mõlemad\n" -"paneelid kuvama failide loendit" +"Selle käsu kasutamiseks peaksid\n" +"mõlemad paneelid kuvama faililoendit" #, c-format msgid "'%s' is not a symbolic link" @@ -3044,7 +3057,7 @@ msgid "Invalid source pattern '%s'" msgstr "Vigane lähtemuster \"%s\"" msgid "File listin&g" -msgstr "F&ailide loend" +msgstr "F&aililoend" msgid "&Quick view" msgstr "&Kiirvaade" @@ -3053,7 +3066,7 @@ msgid "&Info" msgstr "&Info" msgid "&Tree" -msgstr "&Puu" +msgstr "P&uu" msgid "&Listing format..." msgstr "&Loendi vormindus..." @@ -3077,7 +3090,7 @@ msgid "SFTP li&nk..." msgstr "SFTP li&nk..." msgid "Paneli&ze" -msgstr "Pa&neelile" +msgstr "&Paneelile" msgid "&Rescan" msgstr "Ko&rdusskannimine" @@ -3188,7 +3201,7 @@ msgid "&Undelete files (ext2fs only)" msgstr "F&ailide taastamine (ainult ext2fs)" msgid "&Listing format edit" -msgstr "&Loend vorminduse muutmine" +msgstr "Muuda &loendi vormindust" msgid "Edit &extension file" msgstr "Muuda &laiendite faili" @@ -3572,7 +3585,7 @@ msgid "sort|u" msgstr "sort|m" msgid "&Unsorted" -msgstr "Sorti&mata" +msgstr "S&ortimata" #. TRANSLATORS: one single character to represent 'name' sort mode #. TRANSLATORS: no need to translate 'sort', it's just a context prefix @@ -4160,66 +4173,30 @@ msgstr "" "EXTFS virtuaalne failisüsteem:\n" "%s" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Hoiatus: kataloogi %s avamine nurjus\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: katkestatakse ühendus serveriga %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: oodatakse serveri vastust..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Vabandust, parooliga autenditud ühendused ei ole hetkel võimalikud." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: Server %s küsib parooli" - -msgid "fish: Sending password..." -msgstr "fish: saadetakse parooli..." - -msgid "fish: Sending initial line..." -msgstr "fish: lähtestamine..." - -msgid "fish: Handshaking version..." -msgstr "fish: Versiooni kokku leppimine..." - -msgid "fish: Getting host info..." -msgstr "fish: Hangitakse hosti infot..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: Loetakse kataloogi %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" +msgstr "" +"EXTFS virtuaalne failisüsteem:\n" +"vale failinimi" -#, c-format -msgid "%s: done." -msgstr "%s: valmis." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" +"EXTFS virtuaalne failisüsteem:\n" +"vale arhiivinimi" -#, c-format -msgid "%s: failure" -msgstr "%s: nurjumine" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" +"EXTFS virtuaalne failisüsteem:\n" +"käsu loomine nurjus" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: salvesta %s: saadetakse käsku..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: kohalik lugemine nurjus, saadetakse nullid" - -msgid "fish: storing file" -msgstr "fish: salvestatakse fail" - -msgid "Aborting transfer..." -msgstr "Saatmine katkestatakse..." - -msgid "Error reported after abort." -msgstr "Pärast katkestamist raporteeriti viga." - -msgid "Aborted transfer would be successful." -msgstr "Katkestatud ülekanne oleks edukas." +msgid "Warning: cannot open %s directory\n" +msgstr "Hoiatus: kataloogi %s avamine nurjus\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4331,6 +4308,14 @@ msgstr "(esmalt chdir)" msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: nurjumine; täiendavaid alternatiive ei ole" +#, c-format +msgid "%s: failure" +msgstr "%s: nurjumine" + +#, c-format +msgid "%s: done." +msgstr "%s: valmis." + msgid "ftpfs: storing file" msgstr "ftpfs: salvestatakse faili" @@ -4411,7 +4396,7 @@ msgid "" msgstr "" "Püsivalt lisatud\n" "%s (%s)\n" -"teadaolevate hostide loendisse." +"tuntud hostide loendisse." msgid "sftp: cannot get the remote host key" msgstr "sftp: ei saa kaughosti võtit hankida" @@ -4431,13 +4416,12 @@ msgid "" "SHA1:%s.\n" "Do you want to add it to the list of known hosts and continue connecting?" msgstr "" -"Hosti autentsus\n" +"Hosti autentsust ei saa kindlaks teha!\n" "%s (%s)\n" -"ei saa kindlaks teha!\n" "%s võtme sõrmejälje räsi on\n" "SHA1:%s.\n" -"Kas soovite selle teadaolevate hostide loendisse lisada ja ühenduse loomist " -"jätkata?" +"Kas soovite selle lisada tuntud hostide loendisse ja jätkata ühenduse " +"loomist?" #, c-format msgid "" @@ -4450,7 +4434,7 @@ msgstr "" "%s (%s)\n" "on leitud tuntud hostide loendist, kuid\n" "VÕTMED EI SOBI KOKKU! SEE VÕIB OLLA MITM rünnak!\n" -"Kas olete kindel, et soovite selle teadaolevate hostide loendisse lisada ja " +"Kas olete kindel, et soovite selle tuntud hostide loendisse lisada ja " "ühenduse loomist jätkata?" msgid "sftp: host key verification failed" @@ -4487,6 +4471,52 @@ msgstr "sftp: (Ctrl+G katkestab) Loendamine... %s" msgid "sftp: Listing done." msgstr "sftp: Loendamine lõpetatud." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "kest: katkestatakse ühendus serveriga %s" + +msgid "shell: Waiting for initial line..." +msgstr "kest: oodatakse serveri vastust..." + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Vabandust, parooliga autenditud ühendused ei ole hetkel võimalikud." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "kest: server %s küsib parooli" + +msgid "shell: Sending password..." +msgstr "kest: parooli saatmine..." + +msgid "shell: Sending initial line..." +msgstr "kest: lähtestamine..." + +msgid "shell: Getting host info..." +msgstr "kest: hosti info hankimine..." + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "kest: loetakse kataloogi %s..." + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "kes: salvesta %s: saadetakse käsku..." + +msgid "shell: Local read failed, sending zeros" +msgstr "kest: kohalik lugemine nurjus, saadetakse nullid" + +msgid "shell: storing file" +msgstr "kest: faili salvestamine" + +msgid "Aborting transfer..." +msgstr "Saatmine katkestatakse..." + +msgid "Error reported after abort." +msgstr "Pärast katkestamist raporteeriti viga." + +msgid "Aborted transfer would be successful." +msgstr "Katkestatud ülekanne oleks edukas." + msgid "Inconsistent tar archive" msgstr "Tar arhiiv sisaldab vasturääkivusi" @@ -4506,9 +4536,11 @@ msgid "" "%s\n" "doesn't look like a tar archive" msgstr "" +"%s\n" +"ei meenuta tar arhiivi" msgid "tar: mc_lseek not stopped at a record boundary" -msgstr "" +msgstr "tar: mc_lseek ei peatunud kirje piiril" msgid "undelfs: error" msgstr "undelfs: viga" diff --git a/mcsrc/po/eu.po b/mcsrc/po/eu.po index 250addd..9a84ecf 100644 --- a/mcsrc/po/eu.po +++ b/mcsrc/po/eu.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Iñigo Salvador Azurmendi , " "2011,2015-2019\n" @@ -730,32 +730,13 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors GAKOHITZA={AURRE},{ATZE},{EZAUGR}:GAKOHITZA2=...\n" -"\n" -"{AURRE}, {ATZE} eta {EZAUGR} jarri gabe utzi daitezke, eta lehenetsitakoa " -"erabiliko da\n" -"\n" -" Gakohitzak:\n" -" Globala: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" Fitxategien bistaratzea: normal, selected, marked, markselect\n" -" Elkarrizketa laukiak: dnormal, dfocus, dhotnormal, dhotfocus, " -"errdhotnormal,\n" -" errdhotfocus\n" -" Menuak: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" Menu gainazaleratuak: pmenunormal, pmenusel, pmenutitle\n" -" Editorea: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" Erakuslea: viewnormal,viewbold, viewunderline, viewselected\n" -" Laguntza: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1622,7 +1603,7 @@ msgstr "" "Testu editore lagunkoi bat\n" "Midnight Commander-rarentzako idatzia." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -4130,67 +4111,24 @@ msgid "" "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Abisua: %s direktorioa ezin ireki\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: %s(e)tik deskonektatzen" - -msgid "fish: Waiting for initial line..." -msgstr "fish: Hasierako lerroaren zain..." - -msgid "Sorry, we cannot do password authenticated connections for now." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -"Barkatu, oraingoz ezin dugu pasahitz bidez autentikatutako konexiorik egin." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: %s(a)rentzako pasahitza behar da" - -msgid "fish: Sending password..." -msgstr "fish: Pasahitza bidaltzen..." - -msgid "fish: Sending initial line..." -msgstr "fish: Hasierako lerroa bidaltzen..." - -msgid "fish: Handshaking version..." -msgstr "fish: bertsioak egiaztatzen (Handshaking)..." - -msgid "fish: Getting host info..." -msgstr "fish: Ostalariaren info eskuratzen..." -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: %s direktorioa irakurtzen..." - -#, c-format -msgid "%s: done." -msgstr "%s: eginda." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" -#, c-format -msgid "%s: failure" -msgstr "%s: hutsegitea" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: %s biltegiratu: komandoa bidaltzen..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: Irakurtze lokalak huts egin du, zeroak bidaltzen" - -msgid "fish: storing file" -msgstr "fish: fitxategia biltegiratzen" - -msgid "Aborting transfer..." -msgstr "Transferentzia galarazten..." - -msgid "Error reported after abort." -msgstr "Akatsaren berri eman da galarazi ondoren." - -msgid "Aborted transfer would be successful." -msgstr "Galarazitako transferentzia arrakastatsua izango zen." +msgid "Warning: cannot open %s directory\n" +msgstr "Abisua: %s direktorioa ezin ireki\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4302,6 +4240,14 @@ msgstr "(aurrena chdir)" msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: huts egin du; ez dauka nora itzuli" +#, c-format +msgid "%s: failure" +msgstr "%s: hutsegitea" + +#, c-format +msgid "%s: done." +msgstr "%s: eginda." + msgid "ftpfs: storing file" msgstr "ftpfs: fitxategia biltegiratzen" @@ -4441,6 +4387,53 @@ msgstr "sftp: (Ktrl-G eteteko) Zerrendatzen... %s" msgid "sftp: Listing done." msgstr "sftp: Zerrenda osatuta." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" +"Barkatu, oraingoz ezin dugu pasahitz bidez autentikatutako konexiorik egin." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Transferentzia galarazten..." + +msgid "Error reported after abort." +msgstr "Akatsaren berri eman da galarazi ondoren." + +msgid "Aborted transfer would be successful." +msgstr "Galarazitako transferentzia arrakastatsua izango zen." + msgid "Inconsistent tar archive" msgstr "tar artxibo inkoherentea" diff --git a/mcsrc/po/fa.po b/mcsrc/po/fa.po index 4c6c259..092f31c 100644 --- a/mcsrc/po/fa.po +++ b/mcsrc/po/fa.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Arya Hadi , 2017\n" "Language-Team: Persian (http://app.transifex.com/mc/mc/language/fa/)\n" @@ -708,7 +708,8 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1544,7 +1545,7 @@ msgid "" "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3905,66 +3906,24 @@ msgid "" "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "اخطار: پوشه‌ی %s را نمی‌توان باز کرد\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "" - -msgid "fish: Sending password..." -msgstr "" - -msgid "fish: Sending initial line..." -msgstr "" - -msgid "fish: Handshaking version..." -msgstr "" - -msgid "fish: Getting host info..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "fish: Reading directory %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "%s: done." -msgstr "%s: انجام شد." - -#, c-format -msgid "%s: failure" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." -msgstr "" +msgid "Warning: cannot open %s directory\n" +msgstr "اخطار: پوشه‌ی %s را نمی‌توان باز کرد\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4076,6 +4035,14 @@ msgstr "" msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "" + +#, c-format +msgid "%s: done." +msgstr "%s: انجام شد." + msgid "ftpfs: storing file" msgstr "" @@ -4209,6 +4176,52 @@ msgstr "" msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" diff --git a/mcsrc/po/fi.po b/mcsrc/po/fi.po index 4fdbaa2..7d9563f 100644 --- a/mcsrc/po/fi.po +++ b/mcsrc/po/fi.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Kimmo Kujansuu , 2021\n" "Language-Team: Finnish (http://app.transifex.com/mc/mc/language/fi/)\n" @@ -737,7 +737,8 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1594,7 +1595,7 @@ msgstr "" "Midnight Commanderille kirjoitettu\n" "käyttäjäystävällinen tekstieditori." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -4007,67 +4008,24 @@ msgid "" "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Varoitus: Kansion %s avaaminen ei onnistu\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: Katkaistaan yhteys kohteesta %s" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -"Sori, mutta emme voi tehdä salasanan authenkaatiota yhteyksille juuri nyt." -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: Salasana pakollinen kohteelle %s" - -msgid "fish: Sending password..." -msgstr "fish: Lähetetään salasana..." - -msgid "fish: Sending initial line..." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -msgid "fish: Handshaking version..." +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" -msgid "fish: Getting host info..." -msgstr "fish: Haetaan palveluntarjoajan tietoja..." - #, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: Luetaan kansiota %s..." - -#, c-format -msgid "%s: done." -msgstr "%s: valmis." - -#, c-format -msgid "%s: failure" -msgstr "%s: nyt tuli jokin moka" - -#, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: Säilytä %s: lähettämällä komento ..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: Paikallisen tiedoston luku epäonnistui, lähetetään nollia" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "Keskeytetään transferrointi..." - -msgid "Error reported after abort." -msgstr "Virhe raportoitu keskeyttämisen jälkeen." - -msgid "Aborted transfer would be successful." -msgstr "Keskeytetty siirto olisi onnistunut." +msgid "Warning: cannot open %s directory\n" +msgstr "Varoitus: Kansion %s avaaminen ei onnistu\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4179,6 +4137,14 @@ msgstr "" msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "%s: nyt tuli jokin moka" + +#, c-format +msgid "%s: done." +msgstr "%s: valmis." + msgid "ftpfs: storing file" msgstr "" @@ -4316,6 +4282,53 @@ msgstr "" msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" +"Sori, mutta emme voi tehdä salasanan authenkaatiota yhteyksille juuri nyt." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Keskeytetään transferrointi..." + +msgid "Error reported after abort." +msgstr "Virhe raportoitu keskeyttämisen jälkeen." + +msgid "Aborted transfer would be successful." +msgstr "Keskeytetty siirto olisi onnistunut." + msgid "Inconsistent tar archive" msgstr "" diff --git a/mcsrc/po/fr.po b/mcsrc/po/fr.po index 6e976b2..6e94fbf 100644 --- a/mcsrc/po/fr.po +++ b/mcsrc/po/fr.po @@ -12,15 +12,15 @@ # Slava Zanko , 2011 # 4a14a73d523224463300dea5e0502458_3dab472, 2012 # Towinet, 2017 -# Wallon Wallon, 2022-2023 +# Wallon Wallon, 2022-2024 # Yury V. Zaytsev , 2016 msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" -"Last-Translator: Wallon Wallon, 2022-2023\n" +"Last-Translator: Wallon Wallon, 2022-2024\n" "Language-Team: French (http://app.transifex.com/mc/mc/language/fr/)\n" "Language: fr\n" "MIME-Version: 1.0\n" @@ -751,29 +751,33 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" "--colors KEYWORD={FORE},{BACK},{ATTR}:KEYWORD2=...\n" -"{FORE}, {BACK} et {ATTR} peuvent être omis, et la valeur par défaut sera " -"utilisée\n" -"Mot clés :\n" -"Global : errors, disabled, reverse, gauge, header\n" -"input, inputmark, inputunchanged, commandlinemark\n" -"bbarhotkey, bbarbutton, statusbar\n" -"Affichage fichier: normal, selected, marked, markselect\n" -"Boîtes de dialogue : dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" -"errdhotfocus\n" -"Menus : menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -"Menus popup : pmenunormal, pmenusel, pmenutitle\n" -"Éditeur : editnormal, editbold, editmarked, editwhitespace,\n" -"editlinestate, editbg, editframe, editframeactive\n" -"editframedrag\n" -"Visionneuse : viewnormal,viewbold, viewunderline, viewselected\n" -"Aide : helpnormal, helpitalic, helpbold, helplink, helpslink\n" +"\n" +"{FORE}, {BACK} et {ATTR} peuvent être omis. La valeur par défaut sera " +"utilisée.\n" +"\n" +" Mots-clés:\n" +" Global: errors, disabled, reverse, gauge, header\n" +" input, inputmark, inputunchanged, commandlinemark\n" +" bbarhotkey, bbarbutton, statusbar\n" +" File display: normal, selected, marked, markselect\n" +" Dialog boxes: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" +" errdhotfocus\n" +" Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" +" Popup menus: pmenunormal, pmenusel, pmenutitle\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" +" editlinestate, editbg, editframe, editframeactive\n" +" editframedrag\n" +" Viewer: viewnormal,viewbold, viewunderline, viewselected\n" +" Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1641,8 +1645,8 @@ msgstr "" "Un éditeur de text facile d’utilisation.\n" "écrit pour Midnight Commander." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" -msgstr "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" +msgstr "Copyright (C) 1996-2024 the Free Software Foundation" msgid "About" msgstr "À propos" @@ -4189,68 +4193,30 @@ msgstr "" "Système de fichiers virtuel EXTFS :\n" "%s" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Avertissement : impossible d’ouvrir le répertoire %s\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish : Déconnexion de %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish : attente de la première ligne..." - -msgid "Sorry, we cannot do password authenticated connections for now." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -"Désolé, nous ne pouvons pas faire de connexion authentifiée par mot de passe " -"pour l’instant." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish : mot de passe requis pour %s" - -msgid "fish: Sending password..." -msgstr "fish : envoi du mot de passe..." - -msgid "fish: Sending initial line..." -msgstr "fish : envoi de la ligne initiale..." +"Système de fichier virtuel EXTFS :\n" +"nom de fichier erroné" -msgid "fish: Handshaking version..." -msgstr "fish : vérification des numéros de version..." - -msgid "fish: Getting host info..." -msgstr "fish : récupère les informations de l’hôte..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish : lecture du répertoire %s..." - -#, c-format -msgid "%s: done." -msgstr "%s : fait." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" +"Système de fichier virtuel EXTFS :\n" +"mauvais nom d’archive" -#, c-format -msgid "%s: failure" -msgstr "%s : échec" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" +"Système de fichier virtuel EXTFS :\n" +"impossible de construire la commande" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish : sauve %s : envoi de la commande..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish : échec de lecture locale, envoie de zéros" - -msgid "fish: storing file" -msgstr "fish: enregistrement du fichier" - -msgid "Aborting transfer..." -msgstr "Abandon du transfert..." - -msgid "Error reported after abort." -msgstr "Erreur rapportée après l’abandon." - -msgid "Aborted transfer would be successful." -msgstr "Le transfert abandonné devrait avoir réussi." +msgid "Warning: cannot open %s directory\n" +msgstr "Avertissement : impossible d’ouvrir le répertoire %s\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4362,6 +4328,14 @@ msgstr "(chdir d’abord)" msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs : échec ; nulle part où retomber" +#, c-format +msgid "%s: failure" +msgstr "%s : échec" + +#, c-format +msgid "%s: done." +msgstr "%s : fait." + msgid "ftpfs: storing file" msgstr "ftpfs : enregistrement du fichier" @@ -4525,6 +4499,54 @@ msgstr "sftp : (Ctrl-G break) Listing... %s" msgid "sftp: Listing done." msgstr "sftp : listing effectué." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "shell : Déconnexion de %s" + +msgid "shell: Waiting for initial line..." +msgstr "shell : En attente de la ligne initiale..." + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" +"Désolé, nous ne pouvons pas faire de connexion authentifiée par mot de passe " +"pour l’instant." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "shell : Le mot de passe est nécessaire pour %s" + +msgid "shell: Sending password..." +msgstr "shell : Envoi du mot de passe..." + +msgid "shell: Sending initial line..." +msgstr "shell : Envoi de la ligne initiale..." + +msgid "shell: Getting host info..." +msgstr "shell : Obtention d’informations sur l’hôte..." + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "shell : Lecture du répertoire %s..." + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "shell : stocker %s : envoi de la commande..." + +msgid "shell: Local read failed, sending zeros" +msgstr "shell : Échec de la lecture locale, envoi de zéros" + +msgid "shell: storing file" +msgstr "shell : stockage du fichier" + +msgid "Aborting transfer..." +msgstr "Abandon du transfert..." + +msgid "Error reported after abort." +msgstr "Erreur rapportée après l’abandon." + +msgid "Aborted transfer would be successful." +msgstr "Le transfert abandonné devrait avoir réussi." + msgid "Inconsistent tar archive" msgstr "Archive tar incohérente" diff --git a/mcsrc/po/fr_CA.po b/mcsrc/po/fr_CA.po index 9a9900f..09a6fa2 100644 --- a/mcsrc/po/fr_CA.po +++ b/mcsrc/po/fr_CA.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2015-02-26 09:48+0000\n" "Last-Translator: Piotr DrÄ…g \n" "Language-Team: French (Canada) (http://www.transifex.com/projects/p/mc/" @@ -704,7 +704,8 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1540,7 +1541,7 @@ msgid "" "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3901,65 +3902,23 @@ msgid "" "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "" - -msgid "fish: Sending password..." -msgstr "" - -msgid "fish: Sending initial line..." -msgstr "" - -msgid "fish: Handshaking version..." -msgstr "" - -msgid "fish: Getting host info..." -msgstr "" - -#, c-format -msgid "fish: Reading directory %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "%s: done." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "%s: failure" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #, c-format @@ -4072,6 +4031,14 @@ msgstr "" msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "" + +#, c-format +msgid "%s: done." +msgstr "" + msgid "ftpfs: storing file" msgstr "" @@ -4205,6 +4172,52 @@ msgstr "" msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" diff --git a/mcsrc/po/ga.po b/mcsrc/po/ga.po index 8ec6f3a..892a60e 100644 --- a/mcsrc/po/ga.po +++ b/mcsrc/po/ga.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Irish (http://app.transifex.com/mc/mc/language/ga/)\n" @@ -704,7 +704,8 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1540,7 +1541,7 @@ msgid "" "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3913,65 +3914,23 @@ msgid "" "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "" - -msgid "fish: Sending password..." -msgstr "" - -msgid "fish: Sending initial line..." -msgstr "" - -msgid "fish: Handshaking version..." -msgstr "" - -msgid "fish: Getting host info..." -msgstr "" - -#, c-format -msgid "fish: Reading directory %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "%s: done." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "%s: failure" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #, c-format @@ -4084,6 +4043,14 @@ msgstr "" msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "" + +#, c-format +msgid "%s: done." +msgstr "" + msgid "ftpfs: storing file" msgstr "" @@ -4217,6 +4184,52 @@ msgstr "" msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" diff --git a/mcsrc/po/gl.po b/mcsrc/po/gl.po index 3c218fd..2f284b5 100644 --- a/mcsrc/po/gl.po +++ b/mcsrc/po/gl.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Miguel Anxo Bouzada , " "2012,2014-2015,2019\n" @@ -737,34 +737,13 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors CONTEXTO={FRENTE},{FONDO},{ATRIBUTOS}:CONTEXTO2=...\n" -"\n" -"{FRENTE}, {FONDO} e {ATRIBUTOS}poden omitirse, empregarase o valor " -"predeterminado\n" -"\n" -" Contextos:\n" -" Globais: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" Visor de ficheiros: normal, selected, marked, markselect\n" -" Diálogos: dnormal, dfocus, dhotnormal, dhotfocus, " -"errdhotnormal,\n" -" errdhotfocus\n" -" Menús: menunormal, menuhot, menusel, menuhotsel, " -"menuinactive\n" -" Menús emerxentes: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" Visor: viewnormal,viewbold, viewunderline, viewselected\n" -" Axuda: helpnormal, helpitalic, helpbold, helplink, " -"helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1631,7 +1610,7 @@ msgstr "" "Un editor de texto de uso amigábel\n" "escrito para o Midnight Commander." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -4136,66 +4115,24 @@ msgid "" "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Aviso: non é posíbel abrir o directorio %s\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: desconectando de %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: esperando liña de inicio..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Síntoo, as conexións con contrasinal aínda non son posíbeis." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: precisase contrasinal para %s" - -msgid "fish: Sending password..." -msgstr "fish: enviando contrasinal de usuario..." - -msgid "fish: Sending initial line..." -msgstr "fish: enviando liña de inicio..." - -msgid "fish: Handshaking version..." -msgstr "fish: negociando versión..." - -msgid "fish: Getting host info..." -msgstr "fish: obtendo información do servidor..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: lendo o directorio %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" +msgstr "" -#, c-format -msgid "%s: done." -msgstr "%s: feito." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" -#, c-format -msgid "%s: failure" -msgstr "%s: fallo" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: gardar %s: enviando orde..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: fallo local de lectura, enviando ceros" - -msgid "fish: storing file" -msgstr "fish: gardando ficheiro" - -msgid "Aborting transfer..." -msgstr "Interrompendo transferencia..." - -msgid "Error reported after abort." -msgstr "Informouse dun erro despois de interromper." - -msgid "Aborted transfer would be successful." -msgstr "Transferencia interrompida satisfactoriamente." +msgid "Warning: cannot open %s directory\n" +msgstr "Aviso: non é posíbel abrir o directorio %s\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4307,6 +4244,14 @@ msgstr "(primeiro chdir)" msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: produciuse un fallo; non hai onde repregarse" +#, c-format +msgid "%s: failure" +msgstr "%s: fallo" + +#, c-format +msgid "%s: done." +msgstr "%s: feito." + msgid "ftpfs: storing file" msgstr "ftpfs: gardando ficheiro" @@ -4446,6 +4391,52 @@ msgstr "sftp: (Ctrl-G interrompe) Listado... %s" msgid "sftp: Listing done." msgstr "sftp: Feito o listado." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Síntoo, as conexións con contrasinal aínda non son posíbeis." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Interrompendo transferencia..." + +msgid "Error reported after abort." +msgstr "Informouse dun erro despois de interromper." + +msgid "Aborted transfer would be successful." +msgstr "Transferencia interrompida satisfactoriamente." + msgid "Inconsistent tar archive" msgstr "Arquivo de tipo tar inconsistente" diff --git a/mcsrc/po/he.po b/mcsrc/po/he.po index 74103f7..fedd809 100644 --- a/mcsrc/po/he.po +++ b/mcsrc/po/he.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Hebrew (http://app.transifex.com/mc/mc/language/he/)\n" @@ -704,7 +704,8 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1540,7 +1541,7 @@ msgid "" "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3909,65 +3910,23 @@ msgid "" "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "" - -msgid "fish: Sending password..." -msgstr "" - -msgid "fish: Sending initial line..." -msgstr "" - -msgid "fish: Handshaking version..." -msgstr "" - -msgid "fish: Getting host info..." -msgstr "" - -#, c-format -msgid "fish: Reading directory %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "%s: done." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "%s: failure" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #, c-format @@ -4080,6 +4039,14 @@ msgstr "" msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "" + +#, c-format +msgid "%s: done." +msgstr "" + msgid "ftpfs: storing file" msgstr "" @@ -4213,6 +4180,52 @@ msgstr "" msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" diff --git a/mcsrc/po/hr.po b/mcsrc/po/hr.po index 8a8ab09..eab1328 100644 --- a/mcsrc/po/hr.po +++ b/mcsrc/po/hr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Croatian (http://app.transifex.com/mc/mc/language/hr/)\n" @@ -704,7 +704,8 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1540,7 +1541,7 @@ msgid "" "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3905,65 +3906,23 @@ msgid "" "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "" - -msgid "fish: Sending password..." -msgstr "" - -msgid "fish: Sending initial line..." -msgstr "" - -msgid "fish: Handshaking version..." -msgstr "" - -msgid "fish: Getting host info..." -msgstr "" - -#, c-format -msgid "fish: Reading directory %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "%s: done." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "%s: failure" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #, c-format @@ -4076,6 +4035,14 @@ msgstr "" msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "" + +#, c-format +msgid "%s: done." +msgstr "" + msgid "ftpfs: storing file" msgstr "" @@ -4209,6 +4176,52 @@ msgstr "" msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" diff --git a/mcsrc/po/hu.po b/mcsrc/po/hu.po index b32bdcc..fc05c95 100644 --- a/mcsrc/po/hu.po +++ b/mcsrc/po/hu.po @@ -3,7 +3,7 @@ # This file is distributed under the same license as the mc package. # # Translators: -# András TÅ‘rös , 2020 +# 6bdcf737f9bcb6037ecba892a70fb951_e9eeb40 , 2020 # Mátyás Demeter , 2014 # RezsÅ‘ Páder , 2012-2017,2019 # Slava Zanko , 2011 @@ -12,9 +12,10 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" -"Last-Translator: András TÅ‘rös , 2020\n" +"Last-Translator: 6bdcf737f9bcb6037ecba892a70fb951_e9eeb40 " +", 2020\n" "Language-Team: Hungarian (http://app.transifex.com/mc/mc/language/hu/)\n" "Language: hu\n" "MIME-Version: 1.0\n" @@ -722,30 +723,13 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors KEYWORD={FORE},{BACK},{ATTR}:KEYWORD2=...\n" -"\n" -"{FORE}, {BACK} és {ATTR} elhagyható, akkor az alapértelmezett lesz " -"használva\n" -" Keywords:\n" -" Ãltalános: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" Fájl megjelenítés: normal, selected, marked, markselect\n" -" Dialógus dobozok: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" -" errdhotfocus\n" -" Menük: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" Popup menük: pmenunormal, pmenusel, pmenutitle\n" -" SzerkesztÅ‘: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" MegjelenítÅ‘: viewnormal,viewbold, viewunderline, viewselected\n" -" Súgó: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1612,7 +1596,7 @@ msgstr "" "Felhasználóbarát szövegszerkesztÅ‘\n" "a Midnight Commander-hez készítve" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -4112,66 +4096,24 @@ msgid "" "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Figyelem: A(z) %s könyvtár nem megnyitható\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "Fish: lekapcsolódás a kiszolgálóról: %s" - -msgid "fish: Waiting for initial line..." -msgstr "Fish: várakozás kezdÅ‘sorra..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Jelszavas azonosítás egyelÅ‘re nem lehetséges." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "Fish: Jelszó kell %s azonosításához" - -msgid "fish: Sending password..." -msgstr "Fish: jelszó küldése..." - -msgid "fish: Sending initial line..." -msgstr "Fish: kezdÅ‘sor küldése..." - -msgid "fish: Handshaking version..." -msgstr "Fish: verzióegyeztetés..." - -msgid "fish: Getting host info..." -msgstr "Fish: Gép info lekérdezés..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "Fish: könyvtár olvasása: %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" +msgstr "" -#, c-format -msgid "%s: done." -msgstr "%s: kész" +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" -#, c-format -msgid "%s: failure" -msgstr "%s: hiba" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "Fish: \"%s\" tárolása: parancs küldése..." - -msgid "fish: Local read failed, sending zeros" -msgstr "Fish: nem sikerült a helyi olvasás; nullák küldése..." - -msgid "fish: storing file" -msgstr "fish: fájl tárolása" - -msgid "Aborting transfer..." -msgstr "Ãtvitel megszakítása..." - -msgid "Error reported after abort." -msgstr "Megszakítás után hibajelzés érkezett." - -msgid "Aborted transfer would be successful." -msgstr "Ãtvitel megszakítva; hibajelzés nem érkezett." +msgid "Warning: cannot open %s directory\n" +msgstr "Figyelem: A(z) %s könyvtár nem megnyitható\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4283,6 +4225,14 @@ msgstr "(elÅ‘ször könyvtárváltás végzendÅ‘)" msgid "ftpfs: failed; nowhere to fallback to" msgstr "Ftpfs: hiba; minden lehetÅ‘ség kimerítve" +#, c-format +msgid "%s: failure" +msgstr "%s: hiba" + +#, c-format +msgid "%s: done." +msgstr "%s: kész" + msgid "ftpfs: storing file" msgstr "ftpfs: fájl tárolása" @@ -4422,6 +4372,52 @@ msgstr "sftp: %s listázása... (megszakítás: Ctrl-G)" msgid "sftp: Listing done." msgstr "sftp: A listázás kész." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Jelszavas azonosítás egyelÅ‘re nem lehetséges." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Ãtvitel megszakítása..." + +msgid "Error reported after abort." +msgstr "Megszakítás után hibajelzés érkezett." + +msgid "Aborted transfer would be successful." +msgstr "Ãtvitel megszakítva; hibajelzés nem érkezett." + msgid "Inconsistent tar archive" msgstr "Inkonzisztens tar-archívum." diff --git a/mcsrc/po/ia.po b/mcsrc/po/ia.po index e32d70b..806e426 100644 --- a/mcsrc/po/ia.po +++ b/mcsrc/po/ia.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Martijn Dekker , 2012,2017\n" "Language-Team: Interlingua (http://app.transifex.com/mc/mc/language/ia/)\n" @@ -715,7 +715,8 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1560,7 +1561,7 @@ msgid "" "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3933,68 +3934,24 @@ msgid "" "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Attention: impossibile aperir directorio %s\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: Disconnecte de %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: Attende le linea initial..." - -msgid "Sorry, we cannot do password authenticated connections for now." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -"Pro le momento il es impossibile establir connexiones authenticate con " -"contrasigno." -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: Un contrasigno es necessari pro %s" - -msgid "fish: Sending password..." -msgstr "fish: Invia contrasigno..." - -msgid "fish: Sending initial line..." -msgstr "fish: Invia linea initial..." - -msgid "fish: Handshaking version..." -msgstr "fish: Negotia version..." - -msgid "fish: Getting host info..." -msgstr "fish: Obtene info sur host..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: Lege directorio %s..." - -#, c-format -msgid "%s: done." -msgstr "%s: finite." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" -#, c-format -msgid "%s: failure" -msgstr "%s: fallimento" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: immagazina %s: invia commando..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: Lectura local fallite, invia zeros" - -msgid "fish: storing file" -msgstr "fish: immagazina file" - -msgid "Aborting transfer..." -msgstr "Aborta transferentia..." - -msgid "Error reported after abort." -msgstr "Error reportate post abortamento." - -msgid "Aborted transfer would be successful." -msgstr "Le transferentia abortate haberea succedite." +msgid "Warning: cannot open %s directory\n" +msgstr "Attention: impossibile aperir directorio %s\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4106,6 +4063,14 @@ msgstr "(chdir primo)" msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: fallite; nulle parte a que revenir" +#, c-format +msgid "%s: failure" +msgstr "%s: fallimento" + +#, c-format +msgid "%s: done." +msgstr "%s: finite." + msgid "ftpfs: storing file" msgstr "ftpfs: immagazina file" @@ -4245,6 +4210,54 @@ msgstr "" msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" +"Pro le momento il es impossibile establir connexiones authenticate con " +"contrasigno." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Aborta transferentia..." + +msgid "Error reported after abort." +msgstr "Error reportate post abortamento." + +msgid "Aborted transfer would be successful." +msgstr "Le transferentia abortate haberea succedite." + msgid "Inconsistent tar archive" msgstr "Archivo tar inconsistente" diff --git a/mcsrc/po/id.po b/mcsrc/po/id.po index 12f2cdd..0e9a14e 100644 --- a/mcsrc/po/id.po +++ b/mcsrc/po/id.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Ferriandy Chianiago , 2015\n" "Language-Team: Indonesian (http://app.transifex.com/mc/mc/language/id/)\n" @@ -723,7 +723,8 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1577,7 +1578,7 @@ msgid "" "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3938,65 +3939,23 @@ msgid "" "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "" - -msgid "fish: Sending password..." -msgstr "" - -msgid "fish: Sending initial line..." -msgstr "" - -msgid "fish: Handshaking version..." -msgstr "" - -msgid "fish: Getting host info..." -msgstr "" - -#, c-format -msgid "fish: Reading directory %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "%s: done." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "%s: failure" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #, c-format @@ -4109,6 +4068,14 @@ msgstr "" msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "" + +#, c-format +msgid "%s: done." +msgstr "" + msgid "ftpfs: storing file" msgstr "" @@ -4242,6 +4209,52 @@ msgstr "" msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" diff --git a/mcsrc/po/ie.po b/mcsrc/po/ie.po index 8bc2c61..471851e 100644 --- a/mcsrc/po/ie.po +++ b/mcsrc/po/ie.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Interlingue (http://app.transifex.com/mc/mc/language/ie/)\n" @@ -703,7 +703,8 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1539,7 +1540,7 @@ msgid "" "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3906,65 +3907,23 @@ msgid "" "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: Un contrasigne es besonat por %s" - -msgid "fish: Sending password..." -msgstr "" - -msgid "fish: Sending initial line..." -msgstr "" - -msgid "fish: Handshaking version..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -msgid "fish: Getting host info..." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "fish: Reading directory %s..." +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "%s: done." -msgstr "%s: finit." - -#, c-format -msgid "%s: failure" -msgstr "%s: ne successat" - -#, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #, c-format @@ -4077,6 +4036,14 @@ msgstr "" msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "%s: ne successat" + +#, c-format +msgid "%s: done." +msgstr "%s: finit." + msgid "ftpfs: storing file" msgstr "" @@ -4210,6 +4177,52 @@ msgstr "" msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" diff --git a/mcsrc/po/it.po b/mcsrc/po/it.po index 85da5e3..b7a88c1 100644 --- a/mcsrc/po/it.po +++ b/mcsrc/po/it.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Marco Ciampa , 2023\n" "Language-Team: Italian (http://app.transifex.com/mc/mc/language/it/)\n" @@ -741,31 +741,13 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors PAROLACHIAVE={PRIMOP},{SFONDO},{ATTR}:PAROLACHIAVE2=...\n" -"\n" -"{PRIMOP}, {SFONDO} e {ATTR} si possono omettere, in tal caso mc usa\n" -"valore il predefinito\n" -"\n" -" Parole chiave:\n" -" Globali: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" Fines. file: normal, selected, marked, markselect\n" -" Fin. dialog.: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" -" errdhotfocus\n" -" Menu: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" Menu scomp.: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" Visualiz.: viewnormal, viewbold, viewunderline, viewselected\n" -" Aiuto: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1632,8 +1614,8 @@ msgstr "" "Un semplice editor di testi\n" "scritto per il Midnight Commander." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" -msgstr "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" +msgstr "" msgid "About" msgstr "Informazioni" @@ -4159,66 +4141,24 @@ msgstr "" "File system virtuale EXTFS:\n" "%s" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Attenzione: impossibile aprire la directory %s\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: disconnessione da %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: attesa riga iniziale..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Spiacente, non posso fare connessioni autenticate per adesso." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: password richiesta per %s" - -msgid "fish: Sending password..." -msgstr "fish: spedizione password..." - -msgid "fish: Sending initial line..." -msgstr "fish: spedizione riga iniziale..." - -msgid "fish: Handshaking version..." -msgstr "fish: versione handshaking..." - -msgid "fish: Getting host info..." -msgstr "fish: ricezione info host..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: lettura directory FTP %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" +msgstr "" -#, c-format -msgid "%s: done." -msgstr "%s: fatto." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" -#, c-format -msgid "%s: failure" -msgstr "%s: errore" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: memorizza %s: spedizione comando..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: lettura locale fallita, spedizione zeri" - -msgid "fish: storing file" -msgstr "fish: memorizzazione file" - -msgid "Aborting transfer..." -msgstr "Interruzione trasferimento..." - -msgid "Error reported after abort." -msgstr "Errori dopo l'interruzione." - -msgid "Aborted transfer would be successful." -msgstr "L'interruzione trasferimento sarebbe riuscita." +msgid "Warning: cannot open %s directory\n" +msgstr "Attenzione: impossibile aprire la directory %s\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4330,6 +4270,14 @@ msgstr "(antepone chdir)" msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: fallito; non so dove rileggere" +#, c-format +msgid "%s: failure" +msgstr "%s: errore" + +#, c-format +msgid "%s: done." +msgstr "%s: fatto." + msgid "ftpfs: storing file" msgstr "ftpfs: memorizzazione file" @@ -4485,6 +4433,52 @@ msgstr "sftp: (Ctrl-G break) listato... %s" msgid "sftp: Listing done." msgstr "sftp: listato eseguito." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Spiacente, non posso fare connessioni autenticate per adesso." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Interruzione trasferimento..." + +msgid "Error reported after abort." +msgstr "Errori dopo l'interruzione." + +msgid "Aborted transfer would be successful." +msgstr "L'interruzione trasferimento sarebbe riuscita." + msgid "Inconsistent tar archive" msgstr "Archivio tar inconsistente" diff --git a/mcsrc/po/ja.po b/mcsrc/po/ja.po index 8225de5..60f58e5 100644 --- a/mcsrc/po/ja.po +++ b/mcsrc/po/ja.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Takuro Onoue , 2021\n" "Language-Team: Japanese (http://app.transifex.com/mc/mc/language/ja/)\n" @@ -718,7 +718,8 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1554,7 +1555,7 @@ msgid "" "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3942,66 +3943,24 @@ msgid "" "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "警告: ディレクトリ %s を閲覧ã§ãã¾ã›ã‚“\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: %s ã‹ã‚‰åˆ‡æ–­ã—ã¦ã„ã¾ã™" - -msgid "fish: Waiting for initial line..." -msgstr "fish: 最åˆã®è¡Œã‚’å¾…ã£ã¦ã„ã¾ã™..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "ã™ã„ã¾ã›ã‚“ãŒï¼Œä»Šã®ã¨ã“ã‚パスワードを証明ã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã›ã‚“" - -#, c-format -msgid "fish: Password is required for %s" +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -msgid "fish: Sending password..." -msgstr "fish: パスワードé€ä¿¡ä¸­..." - -msgid "fish: Sending initial line..." -msgstr "fish: 最åˆã®è¡Œã‚’é€ä¿¡..." - -msgid "fish: Handshaking version..." -msgstr "fish: ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®ãƒãƒ³ãƒ‰ã‚·ã‚§ã‚¤ã‚¯..." - -msgid "fish: Getting host info..." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: ディレクトリ%sを読ã¿è¾¼ã¿ä¸­... " - -#, c-format -msgid "%s: done." -msgstr "%s: 完了" - -#, c-format -msgid "%s: failure" -msgstr "%s: 失敗" - -#, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: store %s: コマンドをé€ä¿¡ä¸­..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: 局部読ã¿è¾¼ã¿ã«å¤±æ•—ã—ã¾ã—ãŸã€‚zeroã‚’é€ä¿¡ã—ã¾ã™" - -msgid "fish: storing file" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" -msgid "Aborting transfer..." -msgstr "転é€ã‚’中断ã—ã¾ã™..." - -msgid "Error reported after abort." -msgstr "中断後ã«ã‚¨ãƒ©ãƒ¼ãŒå ±å‘Šã•ã‚Œã¾ã—ãŸ" - -msgid "Aborted transfer would be successful." -msgstr "転é€ä¸­æ–­ã«æˆåŠŸã—ã¾ã—ãŸ" +#, c-format +msgid "Warning: cannot open %s directory\n" +msgstr "警告: ディレクトリ %s を閲覧ã§ãã¾ã›ã‚“\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4113,6 +4072,14 @@ msgstr "(åˆã‚ã« chdir)" msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: 失敗ã—ã¾ã—ãŸã€‚フォールãƒãƒƒã‚¯ã§ãã¾ã›ã‚“" +#, c-format +msgid "%s: failure" +msgstr "%s: 失敗" + +#, c-format +msgid "%s: done." +msgstr "%s: 完了" + msgid "ftpfs: storing file" msgstr "" @@ -4250,6 +4217,52 @@ msgstr "" msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "ã™ã„ã¾ã›ã‚“ãŒï¼Œä»Šã®ã¨ã“ã‚パスワードを証明ã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã›ã‚“" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "転é€ã‚’中断ã—ã¾ã™..." + +msgid "Error reported after abort." +msgstr "中断後ã«ã‚¨ãƒ©ãƒ¼ãŒå ±å‘Šã•ã‚Œã¾ã—ãŸ" + +msgid "Aborted transfer would be successful." +msgstr "転é€ä¸­æ–­ã«æˆåŠŸã—ã¾ã—ãŸ" + msgid "Inconsistent tar archive" msgstr "tar アーカイブã«ä¸æ•´åˆ" diff --git a/mcsrc/po/ka.po b/mcsrc/po/ka.po index 5ccbf6c..1ddf0d9 100644 --- a/mcsrc/po/ka.po +++ b/mcsrc/po/ka.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Temuri Doghonadze , 2022\n" "Language-Team: Georgian (http://app.transifex.com/mc/mc/language/ka/)\n" @@ -711,31 +711,13 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors KEYWORD={FORE},{BACK},{ATTR}:KEYWORD2=...\n" -"\n" -"{FORE}, {BACK} დრ{ATTR} შეგიძლიáƒáƒ— გáƒáƒ›áƒáƒ¢áƒáƒ•áƒáƒ—.გáƒáƒ›áƒáƒ§áƒ”ნებული იქნებრ" -"ნáƒáƒ’ულისხმები მნიშვნელáƒáƒ‘ები\n" -"\n" -" სáƒáƒ™áƒ•áƒáƒœáƒ«áƒ სიტყვები:\n" -" გლáƒáƒ‘áƒáƒšáƒ£áƒ áƒ˜: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" ფáƒáƒ˜áƒšáƒ˜áƒ¡ ჩვენებáƒ: normal, selected, marked, markselect\n" -" ფáƒáƒœáƒ¯áƒ áƒ”ბი: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" -" errdhotfocus\n" -" მენიუები: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" მხტუნáƒáƒ áƒ მენიუები: pmenunormal, pmenusel, pmenutitle\n" -" რედáƒáƒ¥áƒ¢áƒáƒ áƒ˜: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" მნáƒáƒ®áƒ•áƒ”ლი: viewnormal,viewbold, viewunderline, viewselected\n" -" დáƒáƒ®áƒ›áƒáƒ áƒ”ბáƒ: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1566,7 +1548,7 @@ msgid "" "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3936,65 +3918,23 @@ msgid "" "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -msgid "fish: Sending password..." -msgstr "fish: პáƒáƒ áƒáƒšáƒ˜áƒ¡ გáƒáƒ’ზáƒáƒ•áƒœáƒ..." - -msgid "fish: Sending initial line..." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -msgid "fish: Handshaking version..." +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" -msgid "fish: Getting host info..." -msgstr "fish: ჰáƒáƒ¡áƒ¢áƒ˜áƒ¡ ინფáƒáƒ áƒ›áƒáƒªáƒ˜áƒ˜áƒ¡ მიღებáƒ..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: იკითხებრ%s სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ე..." - -#, c-format -msgid "%s: done." -msgstr "%s: დáƒáƒ¡áƒ áƒ£áƒšáƒ”ბულიáƒ." - -#, c-format -msgid "%s: failure" -msgstr "%s: შეცდáƒáƒ›áƒ" - #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: სáƒáƒªáƒáƒ•áƒ˜ %s: ბრძáƒáƒœáƒ”ბის გáƒáƒ’ზáƒáƒ•áƒœáƒ..." - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "fish: ფáƒáƒ˜áƒšáƒ˜áƒ¡ ჩáƒáƒ¬áƒ”რáƒ" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #, c-format @@ -4107,6 +4047,14 @@ msgstr "(ჯერ chdir)" msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "%s: შეცდáƒáƒ›áƒ" + +#, c-format +msgid "%s: done." +msgstr "%s: დáƒáƒ¡áƒ áƒ£áƒšáƒ”ბულიáƒ." + msgid "ftpfs: storing file" msgstr "ftpfs: ფáƒáƒ˜áƒšáƒ˜áƒ¡ შენáƒáƒ®áƒ•áƒ" @@ -4240,6 +4188,52 @@ msgstr "" msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" diff --git a/mcsrc/po/kk.po b/mcsrc/po/kk.po index 1717785..136bcc9 100644 --- a/mcsrc/po/kk.po +++ b/mcsrc/po/kk.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Aidos Kakimzhanov , 2016\n" "Language-Team: Kazakh (http://app.transifex.com/mc/mc/language/kk/)\n" @@ -704,7 +704,8 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1540,7 +1541,7 @@ msgid "" "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3901,65 +3902,23 @@ msgid "" "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "" - -msgid "fish: Sending password..." -msgstr "" - -msgid "fish: Sending initial line..." -msgstr "" - -msgid "fish: Handshaking version..." -msgstr "" - -msgid "fish: Getting host info..." -msgstr "" - -#, c-format -msgid "fish: Reading directory %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "%s: done." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "%s: failure" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #, c-format @@ -4072,6 +4031,14 @@ msgstr "" msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "" + +#, c-format +msgid "%s: done." +msgstr "" + msgid "ftpfs: storing file" msgstr "" @@ -4205,6 +4172,52 @@ msgstr "" msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" diff --git a/mcsrc/po/ko.po b/mcsrc/po/ko.po index cf54000..ec93602 100644 --- a/mcsrc/po/ko.po +++ b/mcsrc/po/ko.po @@ -8,15 +8,16 @@ # JinYeong Bak , 2016 # Junghee Lee , 2022-2023 # Junghee Lee , 2022 -# Junghee Lee , 2019-2021 +# Junghee Lee , 2019-2021,2023 +# Seong-ho Cho , 2023 # Slava Zanko , 2011 msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" -"Last-Translator: Junghee Lee , 2022-2023\n" +"Last-Translator: Seong-ho Cho , 2023\n" "Language-Team: Korean (http://app.transifex.com/mc/mc/language/ko/)\n" "Language: ko\n" "MIME-Version: 1.0\n" @@ -26,14 +27,14 @@ msgstr "" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" msgid "Warning: cannot load codepages list" -msgstr "경고: 코드 페ì´ì§€ 목ë¡ì„ 불러올 수 없습니다" +msgstr "경고: 코드 페ì´ì§€ 목ë¡ì„ 불러올 수 ì—†ìŒ" msgid "7-bit ASCII" -msgstr "7-bit ASCII" +msgstr "7비트 아스키" #, c-format msgid "Cannot translate from %s to %s" -msgstr "%sì—ì„œ %së¡œ 변환할 수 없습니다" +msgstr "%sì—ì„œ %së¡œ 변환할 수 ì—†ìŒ" msgid "Event system already initialized" msgstr "ì´ë²¤íŠ¸ ì‹œìŠ¤í…œì´ ì´ë¯¸ 초기화ë˜ì—ˆìŠµë‹ˆë‹¤" @@ -76,7 +77,7 @@ msgstr "잠금 무시(&I)" #, c-format msgid "Cannot create %s directory" -msgstr "%s ë””ë ‰í„°ë¦¬ì„ ë§Œë“¤ 수 없습니다" +msgstr "%s 디렉터리를 만들 수 ì—†ìŒ" msgid "FATAL: not a directory:" msgstr "치명ì ì¸ 오류: 디렉터리가 아님:" @@ -97,11 +98,11 @@ msgid "" "Hex pattern error at position %d:\n" "%s." msgstr "" -"%d ì—ì„œ 16진수 형ì‹ì˜ 오류 발견ë¨:\n" +"%dì—ì„œ 16진수 형ì‹ì˜ 오류 발견:\n" "%s." msgid "Search string not found" -msgstr "검색 문ìžì—´ì„ ì°¾ì„ ìˆ˜ 없습니다" +msgstr "검색 문ìžì—´ì„ ì°¾ì„ ìˆ˜ ì—†ìŒ" msgid "Not implemented yet" msgstr "ì•„ì§ êµ¬í˜„ë˜ì§€ ì•ŠìŒ" @@ -134,15 +135,15 @@ msgid "" "Default skin has been loaded" msgstr "" "'%s' ìŠ¤í‚¨ì„ ë¶ˆëŸ¬ì˜¬ 수 없습니다.\n" -"기본 ìŠ¤í‚¨ì´ ë¶ˆëŸ¬ì˜¤ê¸° ë˜ì—ˆìŠµë‹ˆë‹¤" +"기본 ìŠ¤í‚¨ì„ ë¶ˆëŸ¬ì™”ìŠµë‹ˆë‹¤" #, c-format msgid "" "Unable to parse '%s' skin.\n" "Default skin has been loaded" msgstr "" -"'%s' ìŠ¤í‚¨ì„ êµ¬ë¬¸ 분ì„í•  수 없습니다.\n" -"기본 ìŠ¤í‚¨ì´ ë¶ˆëŸ¬ì˜¤ê¸° ë˜ì—ˆìŠµë‹ˆë‹¤" +"'%s' ìŠ¤í‚¨ì„ ë¶„ì„í•  수 없습니다.\n" +"기본 ìŠ¤í‚¨ì„ ë¶ˆëŸ¬ì™”ìŠµë‹ˆë‹¤" #, c-format msgid "" @@ -150,9 +151,9 @@ msgid "" "%s\n" "Default skin has been loaded" msgstr "" -"트루컬러를 지ì›í•˜ëŠ” '%s' ìŠ¤í‚¨ì„ ì‚¬ìš©í•  수 없습니다:\n" +"트루컬러를 지ì›í•˜ëŠ” '%s' ìŠ¤í‚¨ì„ ì‚¬ìš©í•  수 ì—†ìŒ:\n" "%s\n" -"기본 ìŠ¤í‚¨ì´ ë¶ˆëŸ¬ì˜¤ê¸° ë˜ì—ˆìŠµë‹ˆë‹¤" +"기본 ìŠ¤í‚¨ì„ ë¶ˆëŸ¬ì™”ìŠµë‹ˆë‹¤" #, c-format msgid "" @@ -162,10 +163,10 @@ msgid "" msgstr "" "256ìƒ‰ì´ ì•„ë‹Œ 터미ë„ì—ì„œ 256ìƒ‰ì„ ì§€ì›í•˜ëŠ”\n" "'%s' ìŠ¤í‚¨ì„ ì‚¬ìš©í•  수 없습니다.\n" -"기본 ìŠ¤í‚¨ì´ ë¶ˆëŸ¬ì˜¤ê¸° ë˜ì—ˆìŠµë‹ˆë‹¤" +"기본 ìŠ¤í‚¨ì„ ë¶ˆëŸ¬ì™”ìŠµë‹ˆë‹¤" msgid "True color not supported with ncurses." -msgstr "트루 컬러는 ncursesì—ì„œ ì§€ì› ë˜ì§€ 않습니다." +msgstr "트루 컬러는 ncursesì—ì„œ 지ì›í•˜ì§€ 않습니다." msgid "Your terminal doesn't even seem to support 256 colors." msgstr "터미ë„ì´ 256색ìƒì„ 지ì›í•˜ì§€ 않는 것 같습니다." @@ -180,64 +181,64 @@ msgid "Escape" msgstr "Esc" msgid "Function key 1" -msgstr "기능 키 1" +msgstr "F1" msgid "Function key 2" -msgstr "기능 키 2" +msgstr "F2" msgid "Function key 3" -msgstr "기능 키 3" +msgstr "F3" msgid "Function key 4" -msgstr "기능 키 4" +msgstr "F4" msgid "Function key 5" -msgstr "기능 키 5" +msgstr "F5" msgid "Function key 6" -msgstr "기능 키 6" +msgstr "F6" msgid "Function key 7" -msgstr "기능 키 7" +msgstr "F7" msgid "Function key 8" -msgstr "기능 키 8" +msgstr "F8" msgid "Function key 9" -msgstr "기능 키 9" +msgstr "F9" msgid "Function key 10" -msgstr "기능 키 10" +msgstr "F10" msgid "Function key 11" -msgstr "기능 키 11" +msgstr "F11" msgid "Function key 12" -msgstr "기능 키 12" +msgstr "F12" msgid "Function key 13" -msgstr "기능 키 13" +msgstr "F13" msgid "Function key 14" -msgstr "기능 키 14" +msgstr "F14" msgid "Function key 15" -msgstr "기능 키 15" +msgstr "F15" msgid "Function key 16" -msgstr "기능 키 16" +msgstr "F16" msgid "Function key 17" -msgstr "기능 키 17" +msgstr "F17" msgid "Function key 18" -msgstr "기능 키 18" +msgstr "F18" msgid "Function key 19" -msgstr "기능 키 19" +msgstr "F19" msgid "Function key 20" -msgstr "기능 키 20" +msgstr "F20" msgid "Completion/M-tab" msgstr "완성/M-tab" @@ -246,7 +247,7 @@ msgid "BackTab/S-tab" msgstr "뒤로 탭/S-tab" msgid "Backspace" -msgstr "백스페ì´ìŠ¤" +msgstr "Backspace" msgid "Up arrow" msgstr "위쪽 방향키" @@ -261,22 +262,22 @@ msgid "Right arrow" msgstr "오른쪽 방향키" msgid "Insert" -msgstr "삽입 키" +msgstr "Insert" msgid "Delete" -msgstr "ì‚­ì œ 키" +msgstr "Delete" msgid "Home" -msgstr "홈 키" +msgstr "Home" msgid "End key" -msgstr "End 키" +msgstr "End" msgid "Page Up" -msgstr "페ì´ì§€ 위로 키" +msgstr "Page Up" msgid "Page Down" -msgstr "페ì´ì§€ 아래로 키" +msgstr "Page Down" msgid "/ on keypad" msgstr "키패드 /" @@ -324,16 +325,16 @@ msgid "Enter on keypad" msgstr "키패드 Enter" msgid "Function key 21" -msgstr "기능 키 21" +msgstr "F21" msgid "Function key 22" -msgstr "기능 키 22" +msgstr "F22" msgid "Function key 23" -msgstr "기능 키 23" +msgstr "F23" msgid "Function key 24" -msgstr "기능 키 24" +msgstr "F24" msgid "A1 key" msgstr "A1 키" @@ -432,10 +433,10 @@ msgid "Enter" msgstr "↵" msgid "Tab key" -msgstr "탭 키" +msgstr "Tab" msgid "Space key" -msgstr "스페ì´ìŠ¤í‚¤" +msgstr "Space" msgid "Slash key" msgstr "/" @@ -463,7 +464,7 @@ msgid "The TERM environment variable is unset!\n" msgstr "TERM 환경변수가 설정ë˜ì–´ìžˆì§€ 않습니다!\n" msgid "Cannot check SIGWINCH pipe" -msgstr "SIGWINCH 파ì´í”„를 확ì¸í•  수 없습니다" +msgstr "SIGWINCH 파ì´í”„를 확ì¸í•  수 ì—†ìŒ" #, c-format msgid "" @@ -471,7 +472,7 @@ msgid "" "Cannot create pipe for SIGWINCH: %s (%d)\n" msgstr "" "\n" -"SIGWINCHìš© 파ì´í”„를 작성할 수 없습니다: %s (%d)\n" +"SIGWINCHìš© 파ì´í”„를 작성할 수 ì—†ìŒ: %s (%d)\n" #, c-format msgid "" @@ -479,7 +480,7 @@ msgid "" "Cannot configure write end of SIGWINCH pipe: %s (%d)\n" msgstr "" "\n" -"SIGWINCH 파ì´í”„ì˜ ì“°ê¸° ëì„ êµ¬ì„±í•  수 없습니다: %s (%d)\n" +"SIGWINCH 파ì´í”„ì˜ ì“°ê¸° ëì„ êµ¬ì„±í•  수 ì—†ìŒ: %s (%d)\n" #, c-format msgid "" @@ -487,7 +488,7 @@ msgid "" "Cannot configure read end of SIGWINCH pipe: %s (%d)\n" msgstr "" "\n" -"SIGWINCH 파ì´í”„ì˜ ì½ê¸° ëì„ êµ¬ì„±í•  수 없습니다: %s (%d)\n" +"SIGWINCH 파ì´í”„ì˜ ì½ê¸° ëì„ êµ¬ì„±í•  수 ì—†ìŒ: %s (%d)\n" #, c-format msgid "" @@ -498,42 +499,42 @@ msgstr "" "TERM 환경변수를 확ì¸í•´ 보세요.\n" msgid "B" -msgstr "ë°”ì´íŠ¸" +msgstr "B" msgid "kB" -msgstr "킬로바ì´íŠ¸" +msgstr "kB" msgid "KiB" -msgstr "키비바ì´íŠ¸" +msgstr "KiB" msgid "MB" -msgstr "메가바ì´íŠ¸" +msgstr "MB" msgid "MiB" -msgstr "메비바ì´íŠ¸" +msgstr "MiB" msgid "GB" -msgstr "기가바ì´íŠ¸" +msgstr "GB" msgid "GiB" -msgstr "기비바ì´íŠ¸" +msgstr "GiB" msgid "Cannot create pipe descriptor" -msgstr "파ì´í”„ 설명ë„구를 작성할 수 없습니다" +msgstr "파ì´í”„ 디스í¬ë¦½í„°ë¥¼ ìƒì„±í•  수 ì—†ìŒ" msgid "Cannot create pipe streams" -msgstr "파ì´í”„ ë°ì´í„° ìŠ¤íŠ¸ë¦¼ì„ ìƒì„±í•  수 없습니다" +msgstr "파ì´í”„ ë°ì´í„° ìŠ¤íŠ¸ë¦¼ì„ ìƒì„±í•  수 ì—†ìŒ" #, c-format msgid "" "Unexpected error in select() reading data from a child process:\n" "%s" msgstr "" -"Select()ì—ì„œ 하위 í”„ë¡œì„¸ìŠ¤ì˜ ë°ì´í„°ë¥¼ ì½ëŠ” ë„중 예ìƒì¹˜ 못한 오류 ë°œìƒ:\n" +"select()ì—ì„œ 하위 í”„ë¡œì„¸ìŠ¤ì˜ ë°ì´í„°ë¥¼ ì½ëŠ” 중 예ìƒì¹˜ 못한 오류 ë°œìƒ:\n" "%s" msgid "Cannot close pipe descriptor (p == NULL)" -msgstr "파ì´í”„ 설명ìžë¥¼ ë‹«ì„ ìˆ˜ 없습니다(p == NULL)" +msgstr "파ì´í”„ 디스í¬ë¦½í„°ë¥¼ ë‹«ì„ ìˆ˜ ì—†ìŒ (p == NULL)" #, c-format msgid "" @@ -574,11 +575,11 @@ msgstr "%s 디렉터리가 사용ìžì˜ 소유가 아님\n" #, c-format msgid "Cannot set correct permissions for directory %s\n" -msgstr "%s ë””ë ‰í„°ë¦¬ì— ëŒ€í•œ 올바른 사용 ê¶Œí•œì„ ì„¤ì •í•  수 없습니다\n" +msgstr "%s ë””ë ‰í„°ë¦¬ì— ëŒ€í•œ 올바른 사용 ê¶Œí•œì„ ì„¤ì •í•  수 ì—†ìŒ\n" #, c-format msgid "Cannot create temporary directory %s: %s\n" -msgstr "%s ìž„ì‹œ 디렉터리를 ìƒì„±í•  수 없습니다: %s\n" +msgstr "%s ìž„ì‹œ 디렉터리를 ìƒì„±í•  수 ì—†ìŒ: %s\n" #, c-format msgid "Temporary files will be created in %s\n" @@ -592,7 +593,7 @@ msgid "Press any key to continue..." msgstr "계ì†í•˜ë ¤ë©´ 아무 키나 누르십시오..." msgid "Cannot parse:" -msgstr "구문 분ì„í•  수 없습니다:" +msgstr "분ì„í•  수 ì—†ìŒ:" msgid "More parsing errors will be ignored." msgstr "ë” ë§Žì€ êµ¬ë¬¸ ë¶„ì„ ì˜¤ë¥˜ê°€ 무시ë©ë‹ˆë‹¤." @@ -601,26 +602,26 @@ msgid "Internal error:" msgstr "내부 오류:" msgid "Password:" -msgstr "비밀번호:" +msgstr "암호:" msgid "Screens" msgstr "화면" msgid "History" -msgstr "히스토리" +msgstr "기ë¡" #. TRANSLATORS: no need to translate 'DialogTitle', it's just a context prefix msgid "DialogTitle|History cleanup" -msgstr "히스토리 정리" +msgstr "ê¸°ë¡ ì •ë¦¬" msgid "Do you want clean this history?" -msgstr "ì´ ížˆìŠ¤í† ë¦¬ë¥¼ 지우시겠습니까?" +msgstr "ì´ ê¸°ë¡ì„ 지우시겠습니까?" msgid "&Yes" msgstr "예(&Y)" msgid "&No" -msgstr "아니오(&N)" +msgstr "아니요(&N)" msgid "&OK" msgstr "확ì¸(&O)" @@ -648,13 +649,13 @@ msgid "Print data directory" msgstr "ë°ì´í„° 디렉터리 ì¸ì‡„" msgid "Print extended info about used data directories" -msgstr "ì‚¬ìš©ëœ ë°ì´í„° ë””ë ‰í„°ë¦¬ì— ëŒ€í•œ 확장 ì •ë³´ ì¸ì‡„" +msgstr "사용 ë°ì´í„° ë””ë ‰í„°ë¦¬ì˜ í™•ìž¥ ì •ë³´ 출력" msgid "Print configure options" -msgstr "설정 옵션 ì¸ì‡„" +msgstr "설정 옵션 출력" msgid "Print last working directory to specified file" -msgstr "마지막 ìž‘ì—… 디렉터리를 ì§€ì •ëœ íŒŒì¼ë¡œ ì¸ì‡„" +msgstr "마지막 ìž‘ì—… 디렉터리를 ì§€ì •ëœ íŒŒì¼ë¡œ 출력" msgid "" msgstr "" @@ -708,7 +709,7 @@ msgid "Don't load definitions of key bindings from file, use defaults" msgstr "파ì¼ì—ì„œ 키 ë°”ì¸ë”© ì •ì˜ ë¶ˆëŸ¬ì˜¤ê¸° 안함, 기본값 사용" msgid "Requests to run in black and white" -msgstr "í‘백모드로 실행 요청" +msgstr "í‘ë°± 모드로 실행 요청" msgid "Request to run in color mode" msgstr "컬러 모드로 실행 요청" @@ -737,30 +738,13 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors KEYWORD={FORE},{BACK},{ATTR}:KEYWORD2=...\n" -"\n" -"{FORE}, {BACK} ë° {ATTR}ì„(를) ìƒëžµí•  수 있으며 ê¸°ë³¸ê°’ì´ ì‚¬ìš©ë¨\n" -"\n" -"키워드:\n" -" ì „ì—­: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" íŒŒì¼ í‘œì‹œ: normal, selected, marked, markselect\n" -" 대화 ìƒìž: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" -" errdhotfocus\n" -" 메뉴: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" íŒì—… 메뉴: pmenunormal, pmenusel, pmenutitle\n" -" 편집기: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" ë·°ì–´: viewnormal,viewbold, viewunderline, viewselected\n" -" ë„움ë§: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -815,19 +799,19 @@ msgid "GNU Midnight Commander %s\n" msgstr "GNU 미드나잇 ì»¤ë§¨ë” %s\n" msgid "Main options" -msgstr "기본 옵션" +msgstr "주요 옵션" msgid "Terminal options" msgstr "í„°ë¯¸ë„ ì˜µì…˜" msgid "Arguments parse error!" -msgstr "ì¸ìˆ˜ 구문 ë¶„ì„ ì˜¤ë¥˜!" +msgstr "ì¸ìˆ˜ ë¶„ì„ ì˜¤ë¥˜!" msgid "No arguments given to the viewer." -msgstr "ë·°ì–´ì— ì§€ì •ëœ ì¸ìˆ˜ê°€ 없습니다." +msgstr "ë·°ì–´ì— ì§€ì •í•œ ì¸ìžê°€ 없습니다." msgid "Two files are required to invoke the diffviewer." -msgstr "Diffviewer를 호출하려면 ë‘ ê°œì˜ íŒŒì¼ì´ 필요합니다." +msgstr "diffviewer를 호출하려면 íŒŒì¼ ë‘ ê°œê°€ 필요합니다." msgid "Background protocol error" msgstr "백그ë¼ìš´ë“œ 프로토콜 오류" @@ -839,10 +823,10 @@ msgid "Background process error" msgstr "백그ë¼ìš´ë“œ 프로세스 오류" msgid "Unknown error in child" -msgstr "하위ì—ì„œ ì•Œ 수 없는 오류 ë°œìƒ" +msgstr "하위 프로세스ì—ì„œ ì•Œ 수 없는 오류 ë°œìƒ" msgid "Child died unexpectedly" -msgstr "하위가 예기치 않게 죽ìŒ" +msgstr "하위 프로세스가 예기치 않게 죽ìŒ" msgid "" "Background process sent us a request for more arguments\n" @@ -881,7 +865,7 @@ msgid "" "%s" msgstr "" "%s\n" -"ìž„ì‹œ Diff 파ì¼ì„ ìƒì„±í•  수 없습니다" +"ìž„ì‹œ Diff 파ì¼ì„ ìƒì„±í•  수 ì—†ìŒ" #, c-format msgid "" @@ -891,7 +875,7 @@ msgid "" msgstr "" "%s%s\n" "%s\n" -" 백업 파ì¼ì„ ìƒì„±í•  수 없습니다" +" 백업 파ì¼ì„ ìƒì„±í•  수 ì—†ìŒ" #, c-format msgid "" @@ -899,7 +883,7 @@ msgid "" "%s" msgstr "" "%s\n" -"ìž„ì‹œ 병합 파ì¼ì„ ìƒì„±í•  수 없습니다" +"ìž„ì‹œ 병합 파ì¼ì„ ìƒì„±í•  수 ì—†ìŒ" msgid "&Fastest (Assume large files)" msgstr "가장 빠름 (대용량 íŒŒì¼ ì¶”ì •)(&F)" @@ -971,14 +955,14 @@ msgid "Quit" msgstr "종료" msgid "File(s) was modified. Save with exit?" -msgstr "íŒŒì¼ ìˆ˜ì •ë¨. 종료로 저장하시겠습니까?" +msgstr "파ì¼ì„ 수정했습니다. 저장 후 나가시겠습니까?" msgid "" "Midnight Commander is being shut down.\n" "Save modified file(s)?" msgstr "" -"미드나잇 커맨ë”ê°€ 종료ë©ë‹ˆë‹¤.\n" -"ìˆ˜ì •ëœ íŒŒì¼ì„ 저장하시겠습니까?" +"미드나잇 커맨ë”를 ë냅니다.\n" +"수정한 파ì¼ì„ 저장하시겠습니까?" msgid "Diff:" msgstr "비êµ:" @@ -1010,7 +994,7 @@ msgstr "불러오는 중..." #, c-format msgid "Cannot open %s for reading" -msgstr "%sì„(를) ì—´ 수 없습니다" +msgstr "%sì„(를) ì—´ 수 ì—†ìŒ" msgid "Load file" msgstr "íŒŒì¼ ë¶ˆëŸ¬ì˜¤ê¸°" @@ -1021,7 +1005,7 @@ msgstr "%sì„(를) ì½ëŠ” 중 오류 ë°œìƒ" #, c-format msgid "Cannot get size/permissions for %s" -msgstr "%sì— ëŒ€í•œ í¬ê¸°/사용 ê¶Œí•œì„ ê°€ì ¸ì˜¬ 수 없습니다" +msgstr "%sì— ëŒ€í•œ í¬ê¸°/사용 ê¶Œí•œì„ ê°€ì ¸ì˜¬ 수 ì—†ìŒ" #, c-format msgid "\"%s\" is not a regular file" @@ -1044,7 +1028,7 @@ msgstr "파ì´í”„ì—ì„œ ì½ëŠ” 중 오류 ë°œìƒ: %s" #, c-format msgid "Cannot open pipe for reading: %s" -msgstr "ì½ì„ 파ì´í”„를 ì—´ 수 없습니다: %s" +msgstr "ì½ì„ 파ì´í”„를 ì—´ 수 ì—†ìŒ: %s" msgid "File has hard-links. Detach before saving?" msgstr "파ì¼ì— 하드-ë§í¬ê°€ 있습니다. 저장하기 ì „ì— ë¶„ë¦¬ 하시겠습니까?" @@ -1058,11 +1042,11 @@ msgstr "파ì´í”„ì— ì“°ëŠ” 중 오류 ë°œìƒ: %s" #, c-format msgid "Cannot open pipe for writing: %s" -msgstr "쓰기 위해 파ì´í”„를 ì—´ 수 없습니다: %s" +msgstr "쓰기 위해 파ì´í”„를 ì—´ 수 ì—†ìŒ: %s" #, c-format msgid "Cannot open file for writing: %s" -msgstr "쓰기 위해 파ì¼ì„ ì—´ 수 없습니다: %s" +msgstr "쓰기 위해 파ì¼ì„ ì—´ 수 ì—†ìŒ: %s" msgid "The file you are saving does not end with a newline." msgstr "ì €ìž¥ì¤‘ì¸ íŒŒì¼ì€ 개행 문ìžë¡œ ë나지 ì•ŠìŒ." @@ -1110,7 +1094,7 @@ msgid "Save as" msgstr "다른 ì´ë¦„으로 저장" msgid "Cannot save: destination is not a regular file" -msgstr "저장할 수 없습니다: 대ìƒì´ ì¼ë°˜ 파ì¼ì´ 아님" +msgstr "저장할 수 ì—†ìŒ: 대ìƒì´ ì¼ë°˜ 파ì¼ì´ 아님" msgid "A file already exists with this name" msgstr "ì´ ì´ë¦„ì˜ íŒŒì¼ì´ ì´ë¯¸ 있ìŒ" @@ -1119,7 +1103,7 @@ msgid "&Overwrite" msgstr "ë®ì–´ì“°ê¸°(&O)" msgid "Cannot save file" -msgstr "파ì¼ì„ 저장할 수 없습니다" +msgstr "파ì¼ì„ 저장할 수 ì—†ìŒ" #, c-format msgid "Confirm save file: \"%s\"" @@ -1156,7 +1140,7 @@ msgid "&Local" msgstr "로컬(&L)" msgid "[NoName]" -msgstr "[ì´ë¦„ 없습니다]" +msgstr "[ì´ë¦„ ì—†ìŒ]" #, c-format msgid "" @@ -1184,7 +1168,7 @@ msgid "Copy to clipboard" msgstr "í´ë¦½ë³´ë“œë¡œ 복사하기" msgid "Unable to save to file" -msgstr "파ì¼ì— 저장할 수 없습니다" +msgstr "파ì¼ì— 저장할 수 ì—†ìŒ" msgid "Cut to clipboard" msgstr "í´ë¦½ë³´ë“œë¡œ 잘ë¼ë‚´ê¸°" @@ -1199,7 +1183,7 @@ msgid "Insert file" msgstr "íŒŒì¼ ì‚½ìž…" msgid "Cannot insert file" -msgstr "파ì¼ì„ 삽입할 수 없습니다" +msgstr "파ì¼ì„ 삽입할 수 ì—†ìŒ" msgid "Sort block" msgstr "ë¸”ë¡ ì •ë ¬" @@ -1217,7 +1201,7 @@ msgid "Sort" msgstr "ì •ë ¬" msgid "Cannot execute sort command" -msgstr "ì •ë ¬ ëª…ë ¹ì„ ì‹¤í–‰í•  수 없습니다" +msgstr "ì •ë ¬ ëª…ë ¹ì„ ì‹¤í–‰í•  수 ì—†ìŒ" #, c-format msgid "Sort returned non-zero: %s" @@ -1233,7 +1217,7 @@ msgid "External command" msgstr "확장 명령어" msgid "Cannot execute command" -msgstr "ëª…ë ¹ì„ ì‹¤í–‰í•  수 없습니다" +msgstr "ëª…ë ¹ì„ ì‹¤í–‰í•  수 ì—†ìŒ" msgid "mail -s -c " msgstr "mail -s -c " @@ -1251,7 +1235,7 @@ msgid "Mail" msgstr "ë©”ì¼" msgid "Insert literal" -msgstr "í…스트 삽입" +msgstr "ë¬¸ìž ì‚½ìž…" msgid "Press any key:" msgstr "아무 키나 누르기:" @@ -1270,7 +1254,7 @@ msgid "Collect completions" msgstr "완성 ì •ë³´ 수집" msgid "NoName" -msgstr "ì´ë¦„없습니다" +msgstr "ì´ë¦„ì—†ìŒ" msgid "Save macro" msgstr "매í¬ë¡œ 저장" @@ -1438,7 +1422,7 @@ msgid "&Mail..." msgstr "ë©”ì¼(&M)..." msgid "Insert &literal..." -msgstr "í…스트 삽입(&L)..." +msgstr "ë¬¸ìž ì‚½ìž…(&L)..." msgid "Insert &date/time" msgstr "날짜/시간 삽입(&D)" @@ -1516,7 +1500,7 @@ msgid "&Options" msgstr "옵션(&O)" msgid "&None" -msgstr "없습니다(&N)" +msgstr "ì—†ìŒ(&N)" msgid "&Dynamic paragraphing" msgstr "ë™ì  분할(&D)" @@ -1627,8 +1611,8 @@ msgstr "" "ì‚¬ìš©ìž ì¹œí™”ì ì¸ í…스트 편집기\n" "미드나잇 커맨ë”를 위해 작성ë¨." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" -msgstr "Copyright (C) 1996-2023 ìžìœ  소프트웨어 재단" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" +msgstr "" msgid "About" msgstr "소개" @@ -1764,7 +1748,7 @@ msgid "" "Cannot open file %s\n" "%s" msgstr "" -"%s 파ì¼ì„ ì—´ 수 없습니다\n" +"%s 파ì¼ì„ ì—´ 수 ì—†ìŒ\n" "%s" #, c-format @@ -1783,7 +1767,7 @@ msgstr "" #, c-format msgid "Cannot fetch a local copy of %s" -msgstr "%sì˜ ë¡œì»¬ ë³µì‚¬ë³¸ì„ ê°€ì ¸ì˜¬ 수 없습니다" +msgstr "%sì˜ ë¡œì»¬ ë³µì‚¬ë³¸ì„ ê°€ì ¸ì˜¬ 수 ì—†ìŒ" msgid "The shell is already running a command" msgstr "ì…¸ì´ ì´ë¯¸ ëª…ë ¹ì„ ì‹¤í–‰í•˜ê³  있ìŒ" @@ -1831,7 +1815,7 @@ msgid "" "Cannot chmod \"%s\"\n" "%s" msgstr "" -"\"%s\"ì„(를) chmodí•  수 없습니다\n" +"\"%s\"ì„(를) chmodí•  수 ì—†ìŒ\n" "%s" msgid "&Ignore" @@ -1848,7 +1832,7 @@ msgid "" "Cannot chown \"%s\"\n" "%s" msgstr "" -"\"%s\"ì„(를) ì„ íƒí•  수 없습니다\n" +"\"%s\"ì„(를) ì„ íƒí•  수 ì—†ìŒ\n" "%s" msgid "< Default >" @@ -2104,10 +2088,10 @@ msgid "Display bits" msgstr "ë””ìŠ¤í”Œë ˆì´ ë¹„íŠ¸" msgid "Input / display codepage:" -msgstr "코드 페ì´ì§€ ìž…ë ¥/표시:" +msgstr "ìž…ë ¥ / ë””ìŠ¤í”Œë ˆì´ ì½”ë“œíŽ˜ì´ì§€:" msgid "Directory tree" -msgstr "디렉터리 트리구조" +msgstr "디렉터리 트리" msgid "Timeout for freeing VFSs (sec):" msgstr "VFS를 해제하기 위한 타임아웃(ì´ˆ):" @@ -2134,10 +2118,10 @@ msgid "Virtual File System Setting" msgstr "ê°€ìƒ íŒŒì¼ ì‹œìŠ¤í…œ 설정" msgid "cd" -msgstr "디렉터리 변경" +msgstr "cd" msgid "Quick cd" -msgstr "빠른 디렉터리 변경" +msgstr "빠른 cd" msgid "Existing filename (filename symlink will point to):" msgstr "ëŒ€ìƒ íŒŒì¼ ì´ë¦„ (심볼릭ë§í¬ 파ì¼ì´ 가리킬 파ì¼):" @@ -2166,18 +2150,21 @@ msgid "" "%s\n" "%s" msgstr "" +"디렉터리를 다ìŒìœ¼ë¡œ 변경할 수 ì—†ìŒ\n" +"%s\n" +"%s" msgid "Secure deletion" -msgstr "안전한 ì‚­ì œ" +msgstr "보안 ì‚­ì œ" msgid "Undelete" msgstr "삭제취소" msgid "Synchronous updates" -msgstr "ë™ê¸° ì—…ë°ì´íŠ¸" +msgstr "실시간 ì—…ë°ì´íŠ¸" msgid "Synchronous directory updates" -msgstr "ë™ê¸° 디렉터리 ì—…ë°ì´íŠ¸" +msgstr "실시간 디렉터리 ì—…ë°ì´íŠ¸" msgid "Immutable" msgstr "불변" @@ -2186,10 +2173,10 @@ msgid "Append only" msgstr "첨부 만" msgid "No dump" -msgstr "ë¤í”„ 없습니다" +msgstr "ë¤í”„ ì—†ìŒ" msgid "No update atime" -msgstr "í•œ ë²ˆì— ì—…ë°ì´íŠ¸ 없습니다" +msgstr "atime ì—…ë°ì´íŠ¸ 안함" msgid "Compress" msgstr "압축" @@ -2213,7 +2200,7 @@ msgid "Indexed directory" msgstr "색ì¸ëœ 디렉터리" msgid "No tail merging" -msgstr "꼬리 병합 없습니다" +msgstr "꼬리 병합 ì—†ìŒ" msgid "Top of directory hierarchies" msgstr "최ìƒìœ„ 디렉터리 계층" @@ -2225,7 +2212,7 @@ msgid "Huge_file" msgstr "대용량_파ì¼" msgid "No COW" -msgstr "COW 없습니다" +msgstr "COW ì—†ìŒ" msgid "Direct access for files" msgstr "파ì¼ì— 대한 ì§ì ‘ 액세스" @@ -2259,7 +2246,7 @@ msgid "" "Cannot chattr \"%s\"\n" "%s" msgstr "" -"\"%s\" ì†ì„± ë³€ê²½ì„ í•  수 없습니다\n" +"\"%s\" ì†ì„± ë³€ê²½ì„ í•  수 ì—†ìŒ\n" "%s" #, c-format @@ -2267,7 +2254,7 @@ msgid "" "Cannot get flags of \"%s\"\n" "%s" msgstr "" -"\"%s\" 플래그를 가져올 수 없습니다\n" +"\"%s\" 플래그를 가져올 수 ì—†ìŒ\n" "%s" msgid "set &user ID on execution" @@ -2449,7 +2436,7 @@ msgstr "심볼릭ë§í¬ 편집" #, c-format msgid "edit symlink, unable to remove %s: %s" -msgstr "심볼릭ë§í¬ 편집, %sì„(를) 제거할 수 없습니다: %s" +msgstr "심볼릭ë§í¬ 편집, %sì„(를) 제거할 수 ì—†ìŒ: %s" #, c-format msgid "edit symlink: %s" @@ -2486,10 +2473,10 @@ msgstr "%sì— ì €ìž¥ëœ ì„¤ì •" #, c-format msgid "Unable to save setup to %s" -msgstr "%sì— ì„¤ì •ì„ ì €ìž¥í•  수 없습니다" +msgstr "%sì— ì„¤ì •ì„ ì €ìž¥í•  수 ì—†ìŒ" msgid "Cannot execute commands on non-local filesystems" -msgstr "ë¡œì»¬ì´ ì•„ë‹Œ íŒŒì¼ ì‹œìŠ¤í…œì—ì„œ ëª…ë ¹ì„ ì‹¤í–‰í•  수 없습니다" +msgstr "ë¡œì»¬ì´ ì•„ë‹Œ íŒŒì¼ ì‹œìŠ¤í…œì—ì„œ ëª…ë ¹ì„ ì‹¤í–‰í•  수 ì—†ìŒ" msgid "Parameter" msgstr "매개변수" @@ -2499,7 +2486,7 @@ msgid "" "Cannot create temporary command file\n" "%s" msgstr "" -"ìž„ì‹œ 명령 파ì¼ì„ ìƒì„±í•  수 없습니다\n" +"ìž„ì‹œ 명령 파ì¼ì„ ìƒì„±í•  수 ì—†ìŒ\n" "%s" msgid "Pipe failed" @@ -2590,7 +2577,7 @@ msgid "" "Cannot stat hardlink source file \"%s\"\n" "%s" msgstr "" -"\"%s\" 하드ë§í¬ 소스 파ì¼ì„ 통계할 수 없습니다\n" +"\"%s\" 하드ë§í¬ 소스 파ì¼ì„ 통계할 수 ì—†ìŒ\n" "%s" #, c-format @@ -2598,19 +2585,19 @@ msgid "" "Cannot create target hardlink \"%s\"\n" "%s" msgstr "" -"\"%s\" ëŒ€ìƒ í•˜ë“œë§í¬ë¥¼ 만들 수 없습니다\n" +"\"%s\" ëŒ€ìƒ í•˜ë“œë§í¬ë¥¼ 만들 수 ì—†ìŒ\n" "%s" #, c-format msgid "Cannot create target hardlink \"%s\"" -msgstr "\"%s\" ëŒ€ìƒ í•˜ë“œë§í¬ë¥¼ 만들 수 없습니다" +msgstr "\"%s\" ëŒ€ìƒ í•˜ë“œë§í¬ë¥¼ 만들 수 ì—†ìŒ" #, c-format msgid "" "Cannot read source link \"%s\"\n" "%s" msgstr "" -"\"%s\" 소스 ë§í¬ë¥¼ ì½ì„ 수 없습니다\n" +"\"%s\" 소스 ë§í¬ë¥¼ ì½ì„ 수 ì—†ìŒ\n" "%s" msgid "" @@ -2618,7 +2605,7 @@ msgid "" "\n" "Option Stable Symlinks will be disabled" msgstr "" -"ë¡œì»¬ì´ ì•„ë‹Œ íŒŒì¼ ì‹œìŠ¤í…œ ê°„ì— ì•ˆì •ì ì¸ 심볼릭ë§í¬ë¥¼ 만들 수 없습니다:\n" +"ë¡œì»¬ì´ ì•„ë‹Œ íŒŒì¼ ì‹œìŠ¤í…œ ê°„ì— ì•ˆì •ì ì¸ 심볼릭ë§í¬ë¥¼ 만들 수 ì—†ìŒ:\n" "\n" "옵션 안정 심볼릭ë§í¬ê°€ 비활성화 ë©ë‹ˆë‹¤" @@ -2627,7 +2614,7 @@ msgid "" "Cannot create target symlink \"%s\"\n" "%s" msgstr "" -"\"%s\" ëŒ€ìƒ ì‹¬ë³¼ë¦­ë§í¬ë¥¼ 만들 수 없습니다\n" +"\"%s\" ëŒ€ìƒ ì‹¬ë³¼ë¦­ë§í¬ë¥¼ 만들 수 ì—†ìŒ\n" "%s" #, c-format @@ -2676,14 +2663,14 @@ msgstr "" "다시 삭제하시겠습니까?" msgid "Non&e" -msgstr "없습니다(&E)" +msgstr "ì—†ìŒ(&E)" #, c-format msgid "" "Cannot remove file \"%s\"\n" "%s" msgstr "" -"%s 파ì¼ì„ 제거할 수 없습니다\n" +"%s 파ì¼ì„ 제거할 수 ì—†ìŒ\n" "%s" #, c-format @@ -2691,19 +2678,19 @@ msgid "" "Cannot stat file \"%s\"\n" "%s" msgstr "" -"%s 파ì¼ì„ statí•  수 없습니다\n" +"%s 파ì¼ì„ statí•  수 ì—†ìŒ\n" "%s" #, c-format msgid "Cannot overwrite directory \"%s\"" -msgstr "%s 디렉터리를 ë®ì–´ì“¸ 수 없습니다" +msgstr "%s 디렉터리를 ë®ì–´ì“¸ 수 ì—†ìŒ" #, c-format msgid "" "Cannot move file \"%s\" to \"%s\"\n" "%s" msgstr "" -"%s 파ì¼ì„ \"%s\"ë¡œ ì´ë™í•  수 없습니다\n" +"%s 파ì¼ì„ \"%s\"ë¡œ ì´ë™í•  수 ì—†ìŒ\n" "\n" "%s" @@ -2712,7 +2699,7 @@ msgid "" "Cannot remove directory \"%s\"\n" "%s" msgstr "" -"%s 디렉터리를 제거할 수 없습니다\n" +"%s 디렉터리를 제거할 수 ì—†ìŒ\n" "%s" #, c-format @@ -2720,7 +2707,7 @@ msgid "" "Cannot overwrite directory \"%s\"\n" "%s" msgstr "" -"%s 디렉터리를 ë®ì–´ì“¸ 수 없습니다\n" +"%s 디렉터리를 ë®ì–´ì“¸ 수 ì—†ìŒ\n" "%s" #, c-format @@ -2728,7 +2715,7 @@ msgid "" "Cannot overwrite file \"%s\"\n" "%s" msgstr "" -"%s 파ì¼ì„ ë®ì–´ì“¸ 수 없습니다\n" +"%s 파ì¼ì„ ë®ì–´ì“¸ 수 ì—†ìŒ\n" "%s" #, c-format @@ -2736,7 +2723,7 @@ msgid "" "Cannot move directory \"%s\" to \"%s\"\n" "%s" msgstr "" -"\"%s\" 디렉터리를 \"%s\"ë¡œ ì´ë™í•  수 없습니다\n" +"\"%s\" 디렉터리를 \"%s\"ë¡œ ì´ë™í•  수 ì—†ìŒ\n" "%s" msgid "Cannot operate on \"..\"!" @@ -2747,7 +2734,7 @@ msgid "" "Cannot stat source file \"%s\"\n" "%s" msgstr "" -"\"%s\" ì›ë³¸ 파ì¼ì„ 통계할 수 없습니다\n" +"\"%s\" ì›ë³¸ 파ì¼ì„ 통계할 수 ì—†ìŒ\n" "%s" #, c-format @@ -2755,7 +2742,7 @@ msgid "" "Cannot create special file \"%s\"\n" "%s" msgstr "" -"\"%s\" 특수 파ì¼ì„ 만들 수 없습니다\n" +"\"%s\" 특수 파ì¼ì„ 만들 수 ì—†ìŒ\n" "%s" #, c-format @@ -2763,7 +2750,7 @@ msgid "" "Cannot chown target file \"%s\"\n" "%s" msgstr "" -"\"%s\" ëŒ€ìƒ íŒŒì¼ì„ chown í•  수 없습니다\n" +"\"%s\" ëŒ€ìƒ íŒŒì¼ì„ chown í•  수 ì—†ìŒ\n" "%s" #, c-format @@ -2771,7 +2758,7 @@ msgid "" "Cannot chmod target file \"%s\"\n" "%s" msgstr "" -"\"%s\" ëŒ€ìƒ íŒŒì¼ì„ chmodí•  수 없습니다\n" +"\"%s\" ëŒ€ìƒ íŒŒì¼ì„ chmodí•  수 ì—†ìŒ\n" "%s" #, c-format @@ -2779,7 +2766,7 @@ msgid "" "Cannot open source file \"%s\"\n" "%s" msgstr "" -"\"%s\" ì›ë³¸ 파ì¼ì„ ì—´ 수 없습니다\n" +"\"%s\" ì›ë³¸ 파ì¼ì„ ì—´ 수 ì—†ìŒ\n" "%s" msgid "Reget failed, about to overwrite file" @@ -2790,7 +2777,7 @@ msgid "" "Cannot fstat source file \"%s\"\n" "%s" msgstr "" -"\"%s\" 소스 파ì¼ì„ fstatí•  수 없습니다\n" +"\"%s\" 소스 파ì¼ì„ fstatí•  수 ì—†ìŒ\n" "%s" #, c-format @@ -2798,7 +2785,7 @@ msgid "" "Cannot create target file \"%s\"\n" "%s" msgstr "" -"\"%s\" ëŒ€ìƒ íŒŒì¼ì„ ìƒì„±í•  수 없습니다\n" +"\"%s\" ëŒ€ìƒ íŒŒì¼ì„ ìƒì„±í•  수 ì—†ìŒ\n" "%s" #, c-format @@ -2806,7 +2793,7 @@ msgid "" "Cannot fstat target file \"%s\"\n" "%s" msgstr "" -"\"%s\" ëŒ€ìƒ íŒŒì¼ì„ fstatí•  수 없습니다\n" +"\"%s\" ëŒ€ìƒ íŒŒì¼ì„ fstatí•  수 ì—†ìŒ\n" "%s" #, c-format @@ -2814,7 +2801,7 @@ msgid "" "Cannot preallocate space for target file \"%s\"\n" "%s" msgstr "" -"\"%s\" ëŒ€ìƒ íŒŒì¼ì— 대한 ê³µê°„ì„ ì‚¬ì „ 할당할 수 없습니다\n" +"\"%s\" ëŒ€ìƒ íŒŒì¼ì— 대한 ê³µê°„ì„ ì‚¬ì „ 할당할 수 ì—†ìŒ\n" "%s" #, c-format @@ -2822,7 +2809,7 @@ msgid "" "Cannot read source file \"%s\"\n" "%s" msgstr "" -"\"%s\" 소스 파ì¼ë¥¼ ì½ì„ 수 없습니다\n" +"\"%s\" 소스 파ì¼ë¥¼ ì½ì„ 수 ì—†ìŒ\n" "%s" #, c-format @@ -2830,7 +2817,7 @@ msgid "" "Cannot write target file \"%s\"\n" "%s" msgstr "" -"\"%s\" ëŒ€ìƒ íŒŒì¼ì„ 쓸 수 없습니다\n" +"\"%s\" ëŒ€ìƒ íŒŒì¼ì„ 쓸 수 ì—†ìŒ\n" "%s" msgid "(stalled)" @@ -2850,7 +2837,7 @@ msgid "" "Cannot close source file \"%s\"\n" "%s" msgstr "" -"\"%s\" ì›ë³¸ 파ì¼ì„ ë‹«ì„ ìˆ˜ 없습니다\n" +"\"%s\" ì›ë³¸ 파ì¼ì„ ë‹«ì„ ìˆ˜ ì—†ìŒ\n" "%s" #, c-format @@ -2858,7 +2845,7 @@ msgid "" "Cannot close target file \"%s\"\n" "%s" msgstr "" -"\"%s\" ëŒ€ìƒ íŒŒì¼ì„ ë‹«ì„ ìˆ˜ 없습니다\n" +"\"%s\" ëŒ€ìƒ íŒŒì¼ì„ ë‹«ì„ ìˆ˜ ì—†ìŒ\n" "%s" #, c-format @@ -2866,7 +2853,7 @@ msgid "" "Cannot stat source directory \"%s\"\n" "%s" msgstr "" -"\"%s\" 소스 디렉터리를 statí•  수 없습니다\n" +"\"%s\" 소스 디렉터리를 statí•  수 ì—†ìŒ\n" "%s" #, c-format @@ -2882,7 +2869,7 @@ msgid "" "Cannot copy cyclic symbolic link\n" "\"%s\"" msgstr "" -"순환 심볼릭 ë§í¬ë¥¼ 복사할 수 없습니다\n" +"순환 심볼릭 ë§í¬ë¥¼ 복사할 수 ì—†ìŒ\n" "\"%s\"" #, c-format @@ -2898,7 +2885,7 @@ msgid "" "Cannot create target directory \"%s\"\n" "%s" msgstr "" -"\"%s\" ëŒ€ìƒ ë””ë ‰í„°ë¦¬ë¥¼ ìƒì„±í•  수 없습니다\n" +"\"%s\" ëŒ€ìƒ ë””ë ‰í„°ë¦¬ë¥¼ ìƒì„±í•  수 ì—†ìŒ\n" "%s" #, c-format @@ -2906,7 +2893,7 @@ msgid "" "Cannot chown target directory \"%s\"\n" "%s" msgstr "" -"\"%s\" ëŒ€ìƒ ë””ë ‰í„°ë¦¬ë¥¼ ì„ íƒí•  수 없습니다\n" +"\"%s\" ëŒ€ìƒ ë””ë ‰í„°ë¦¬ë¥¼ ì„ íƒí•  수 ì—†ìŒ\n" "%s" #, c-format @@ -2914,7 +2901,7 @@ msgid "Directories: %zu, total size: %s" msgstr "디렉터리: %zu, ì „ì²´ í¬ê¸°: %s" msgid "Sorry, I could not put the job in background" -msgstr "죄송합니다, 백그ë¼ìš´ë“œì—ì„œ ìž‘ì—…ì„ ë„£ì„ ìˆ˜ 없습니다" +msgstr "죄송합니다, 백그ë¼ìš´ë“œì—ì„œ ìž‘ì—…ì„ ë„£ì„ ìˆ˜ ì—†ìŒ" msgid "S&uspend" msgstr "ì¼ì‹œ 중단(&U)" @@ -3096,7 +3083,7 @@ msgid "&Copy" msgstr "복사(&C)" msgid "C&hmod" -msgstr "파ì¼/디렉터리 권한 변경(&H)" +msgstr "í¼ë¯¸ì…˜(chmod)(&H)" msgid "&Link" msgstr "ë§í¬(&L)" @@ -3126,7 +3113,7 @@ msgid "&Mkdir" msgstr "&디렉ìƒì„±" msgid "&Quick cd" -msgstr "빠른 디렉터리 변경(&Q)" +msgstr "빠른cd(&Q)" msgid "Select &group" msgstr "그룹 ì„ íƒ(&G)" @@ -3144,7 +3131,7 @@ msgid "&User menu" msgstr "ì‚¬ìš©ìž ë©”ë‰´(&U)" msgid "&Directory tree" -msgstr "디렉터리 트리구조(&D)" +msgstr "디렉터리 트리(&D)" msgid "&Find file" msgstr "íŒŒì¼ ì°¾ê¸°(&F)" @@ -3216,7 +3203,7 @@ msgid "&Appearance..." msgstr "외형(&A)..." msgid "&Display bits..." -msgstr "비트 표시(&D)..." +msgstr "ë””ìŠ¤í”Œë ˆì´ ë¹„íŠ¸(&D)..." msgid "&Virtual FS..." msgstr "ê°€ìƒ íŒŒì¼ì‹œìŠ¤í…œ(&V)..." @@ -3260,7 +3247,7 @@ msgid "ButtonBar|Mkdir" msgstr "디렉ìƒì„±" msgid "&Chdir" -msgstr "디렉터리 ì´ë™(&C)" +msgstr "Chdir(&C)" msgid "&Again" msgstr "다시(&A)" @@ -3427,7 +3414,7 @@ msgid "" "MC was unable to write %s file,\n" "your old hotlist entries were not deleted" msgstr "" -"MCê°€ %s 파ì¼ì„ 쓸 수 없습니다,\n" +"MCê°€ %s 파ì¼ì„ 쓸 수 ì—†ìŒ,\n" "ì´ì „ ë‹¨ì¶•ëª©ë¡ í•­ëª©ì´ ì‚­ì œë˜ì§€ ì•ŠìŒ" #, c-format @@ -3446,13 +3433,13 @@ msgid "File: %s" msgstr "파ì¼: %s" msgid "No node information" -msgstr "노드 ì •ë³´ 없습니다" +msgstr "노드 ì •ë³´ ì—†ìŒ" msgid "Free nodes:" msgstr "사용 가능한 노드:" msgid "No space information" -msgstr "공간 ì •ë³´ 없습니다" +msgstr "공간 ì •ë³´ ì—†ìŒ" #, c-format msgid "Free space: %s / %s (%d%%)" @@ -3512,7 +3499,7 @@ msgid "Attributes: %s" msgstr "ì†ì„±: %s" msgid "Attributes: unavailable" -msgstr "ì†ì„±: 사용할 수 없습니다" +msgstr "ì†ì„±: 사용할 수 ì—†ìŒ" #, c-format msgid "Mode: %s (%04o)" @@ -3661,13 +3648,13 @@ msgid "[dev]" msgstr "[dev]" msgid "UP--DIR" -msgstr "ìƒìœ„ 디렉터리" +msgstr "ìƒìœ„--DIR" msgid "SYMLINK" msgstr "심볼릭ë§í¬" msgid "SUB-DIR" -msgstr "하위 디렉터리" +msgstr "하위--DIR" msgid "" msgstr "" @@ -3681,7 +3668,7 @@ msgid "Panelize" msgstr "íŒ¨ë„ í¬ê¸°ì¡°ì •" msgid "Unknown tag on display format:" -msgstr "표시 형ì‹ì˜ ì•Œ 수 없는 태그:" +msgstr "ë””ìŠ¤í”Œë ˆì´ í˜•ì‹ì˜ ì•Œ 수 없는 태그:" msgid "&Files only" msgstr "파ì¼ë§Œ(&F)" @@ -3702,7 +3689,7 @@ msgid "Do you really want to execute?" msgstr "ì •ë§ë¡œ 실행하시겠습니까?" msgid "Cannot read directory contents" -msgstr "디렉터리 ë‚´ìš©ì„ ì½ì„ 수 없습니다" +msgstr "디렉터리 ë‚´ìš©ì„ ì½ì„ 수 ì—†ìŒ" msgid "User supplied format looks invalid, reverting to default." msgstr "사용ìžê°€ 제공한 형ì‹ì´ 잘못ë˜ì–´ 기본값으로 ë˜ëŒë¦½ë‹ˆë‹¤." @@ -3740,11 +3727,11 @@ msgid "" "%s" msgstr "" "확장 패ë„í¬ê¸°:\n" -"하위 í”„ë¡œì„¸ìŠ¤ì˜ stdoutì—ì„œ ​​ë°ì´í„°ë¥¼ ì½ì„ 수 없습니다:\n" +"하위 í”„ë¡œì„¸ìŠ¤ì˜ stdoutì—ì„œ ​​ë°ì´í„°ë¥¼ ì½ì„ 수 ì—†ìŒ:\n" "%s" msgid "Cannot run external panelize in a non-local directory" -msgstr "ë¡œì»¬ì´ ì•„ë‹Œ 디렉터리ì—ì„œ 확장 패ë„í¬ê¸°ë¥¼ 실행할 수 없습니다" +msgstr "ë¡œì»¬ì´ ì•„ë‹Œ 디렉터리ì—ì„œ 확장 패ë„í¬ê¸°ë¥¼ 실행할 수 ì—†ìŒ" msgid "Modified git files" msgstr "ìˆ˜ì •ëœ git 파ì¼" @@ -3763,7 +3750,7 @@ msgid "" "Cannot open the %s file for writing:\n" "%s\n" msgstr "" -"쓰기 위한 íŒŒì¼ %sì„(를) ì—´ 수 없습니다:\n" +"쓰기 위한 íŒŒì¼ %sì„(를) ì—´ 수 ì—†ìŒ:\n" "%s\n" #, c-format @@ -3779,7 +3766,7 @@ msgid "" "Cannot stat the destination\n" "%s" msgstr "" -"ëŒ€ìƒ ì •ë³´ë¥¼ ë³¼ 수 없습니다\n" +"ëŒ€ìƒ ì •ë³´ë¥¼ ë³¼ 수 ì—†ìŒ\n" "%s" #, c-format @@ -3806,7 +3793,7 @@ msgid "" "Cannot write to the %s file:\n" "%s\n" msgstr "" -"%s 파ì¼ì— 쓸 수 없습니다:\n" +"%s 파ì¼ì— 쓸 수 ì—†ìŒ:\n" "%s\n" msgid "Help file format error\n" @@ -3817,7 +3804,7 @@ msgstr "내부 버그: ë§í¬ ì˜ì—­ì´ 양방향으로 시작ë¨" #, c-format msgid "Cannot find node %s in help file" -msgstr "ë„ì›€ë§ íŒŒì¼ì—ì„œ %s 노드를 ì°¾ì„ ìˆ˜ 없습니다" +msgstr "ë„ì›€ë§ íŒŒì¼ì—ì„œ %s 노드를 ì°¾ì„ ìˆ˜ ì—†ìŒ" msgid "Help" msgstr "ë„움ë§" @@ -3855,7 +3842,7 @@ msgstr "" "마찬가지로 기다리십시오." msgid "Cannot accept this key" -msgstr "ì´ í‚¤ë¥¼ 수ë½í•  수 없습니다" +msgstr "ì´ í‚¤ë¥¼ 수ë½í•  수 ì—†ìŒ" #, c-format msgid "You have entered \"%s\"" @@ -3918,7 +3905,7 @@ msgid "" "%s\n" msgstr "" "\n" -"닫기 ì‹œ 실패함:\n" +"닫는 ë™ì•ˆ 실패:\n" "%s\n" msgid "Choose codepage" @@ -3938,12 +3925,12 @@ msgid "" "Cannot save file %s:\n" "%s" msgstr "" -"파ì¼ì„ 저장할 수 없습니다%s:\n" +"파ì¼ì„ 저장할 수 ì—†ìŒ%s:\n" "%s" #, c-format msgid "Cannot open named pipe %s\n" -msgstr "ëª…ëª…ëœ %s 파ì´í”„를 ì—´ 수 없습니다\n" +msgstr "ëª…ëª…ëœ %s 파ì´í”„를 ì—´ 수 ì—†ìŒ\n" msgid "The shell is still active. Quit anyway?" msgstr "ì…¸ì´ ì•„ì§ í™œì„± ìƒíƒœìž…니다. ê·¸ëž˜ë„ ë낼까요?" @@ -4018,7 +4005,7 @@ msgid "Data types:" msgstr "ë°ì´í„° 유형:" msgid "Home directory:" -msgstr "홈 디렉터리 :" +msgstr "홈 디렉터리:" msgid "Profile root directory:" msgstr "프로필 루트 디렉터리:" @@ -4075,15 +4062,15 @@ msgstr "íŒŒì¼ í™•ìž¥ìž íŒŒì¼ì˜ í˜•ì‹ ì˜¤ë¥˜" #, c-format msgid "The %%var macro has no default" -msgstr "%%var 매í¬ë¡œì— ê¸°ë³¸ê°’ì´ ì—†ìŠµë‹ˆë‹¤" +msgstr "%%var 매í¬ë¡œì— ê¸°ë³¸ê°’ì´ ì—†ìŒ" #, c-format msgid "The %%var macro has no variable" -msgstr "%%var 매í¬ë¡œì— 변수가 없습니다" +msgstr "%%var 매í¬ë¡œì— 변수가 ì—†ìŒ" #, c-format msgid "No suitable entries found in %s" -msgstr "%sì—ì„œ 해당 í•­ëª©ì„ ì°¾ì„ ìˆ˜ 없습니다" +msgstr "%sì—ì„œ 해당 í•­ëª©ì„ ì°¾ì„ ìˆ˜ ì—†ìŒ" msgid "User menu" msgstr "ì‚¬ìš©ìž ë©”ë‰´" @@ -4134,7 +4121,7 @@ msgid "" "%s" msgstr "" "%s\n" -"파ì¼ì˜ 예기치 ì•Šì€ ë" +"예기치 ì•Šì€ íŒŒì¼ì˜ ë" msgid "Inconsistent archive" msgstr "ì¼ê´€ì„± 없는 압축파ì¼" @@ -4145,7 +4132,7 @@ msgid "" "%s:\n" "%s" msgstr "" -"%s 압축파ì¼ì„ ì—´ 수 없습니다\n" +"%s 압축파ì¼ì„ ì—´ 수 ì—†ìŒ\n" "%s:\n" "%s" @@ -4157,66 +4144,30 @@ msgstr "" "EXTFS ê°€ìƒ íŒŒì¼ ì‹œìŠ¤í…œ:\n" "%s" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "경고: %s 디렉터리를 ì—´ 수 없습니다\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish : %sì—ì„œ ì—°ê²° í•´ì œ 중" - -msgid "fish: Waiting for initial line..." -msgstr "fish: 초기화 ë¼ì¸ì„ 기다리는 중..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "죄송합니다. ì§€ê¸ˆì€ ë¹„ë°€ë²ˆí˜¸ ì¸ì¦ ì—°ê²°ì„ ì‚¬ìš©í•  수 없습니다." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: %sì— ëŒ€í•œ 비밀번호가 필요함" - -msgid "fish: Sending password..." -msgstr "fish: 비밀번호 보내기..." - -msgid "fish: Sending initial line..." -msgstr "fish: 초기화 ë¼ì¸ 보내기..." - -msgid "fish: Handshaking version..." -msgstr "fish: 핸드셰ì´í‚¹ 버전..." - -msgid "fish: Getting host info..." -msgstr "fish: 호스트 ì •ë³´ 가져오는 중..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: %s 디렉터리 ì½ëŠ” 중..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" +msgstr "" +"EXTFS ê°€ìƒ íŒŒì¼ì‹œìŠ¤í…œ:\n" +"íŒŒì¼ ì´ë¦„ì´ ì˜¬ë°”ë¥´ì§€ 않습니다" -#, c-format -msgid "%s: done." -msgstr "%s: 완료." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" +"EXTFS ê°€ìƒ íŒŒì¼ì‹œìŠ¤í…œ:\n" +"압축 íŒŒì¼ ì´ë¦„ì´ ì˜¬ë°”ë¥´ì§€ 않습니다" -#, c-format -msgid "%s: failure" -msgstr "%s: 실패" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" +"EXTFS ê°€ìƒ íŒŒì¼ì‹œìŠ¤í…œ:\n" +"ëª…ë ¹ì„ êµ¬ì„±í•  수 없습니다" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: %s 저장: 명령 보내기..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: 로컬 ì½ê¸° 실패, 0 보내기" - -msgid "fish: storing file" -msgstr "fish: íŒŒì¼ ì €ìž¥ì¤‘" - -msgid "Aborting transfer..." -msgstr "ì „ì†¡ì„ ì¤‘ë‹¨í•˜ëŠ” 중..." - -msgid "Error reported after abort." -msgstr "중단 후 오류가 ë³´ê³ ë¨" - -msgid "Aborted transfer would be successful." -msgstr "ì¤‘ë‹¨ëœ ì „ì†¡ì´ ì„±ê³µì ìœ¼ë¡œ 완료ë˜ì—ˆì„ 수 있ìŒ." +msgid "Warning: cannot open %s directory\n" +msgstr "경고: %s 디렉터리를 ì—´ 수 ì—†ìŒ\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4269,11 +4220,11 @@ msgstr "ftpfs: 서버 ì—°ê²° 실패: %s" #, c-format msgid "Waiting to retry... %d (Control-G to cancel)" -msgstr "ìž¬ì‹œë„ ëŒ€ê¸° 중... %d(Control-Gê°€ 취소ë¨)" +msgstr "ìž¬ì‹œë„ ëŒ€ê¸° 중... %d(취소하려면 Control-G)" #, c-format msgid "ftpfs: could not make address-to-name translation: %s" -msgstr "ftpfs: 주소를 ì´ë¦„으로 변환할 수 없습니다: %s" +msgstr "ftpfs: 주소를 ì´ë¦„으로 변환할 수 ì—†ìŒ: %s" #, c-format msgid "ftpfs: try reconnect to server, attempt %u" @@ -4281,20 +4232,20 @@ msgstr "ftpfs: ì„œë²„ì— ë‹¤ì‹œ ì—°ê²° ì‹œë„, %u ì‹œë„" #, c-format msgid "ftpfs: could not get socket name: %s" -msgstr "ftpfs: 소켓 ì´ë¦„ì„ ê°€ì ¸ì˜¬ 수 없습니다: %s" +msgstr "ftpfs: 소켓 ì´ë¦„ì„ ê°€ì ¸ì˜¬ 수 ì—†ìŒ: %s" msgid "ftpfs: could not reconnect to server" -msgstr "ftpfs: ì„œë²„ì— ë‹¤ì‹œ ì—°ê²°í•  수 없습니다" +msgstr "ftpfs: ì„œë²„ì— ë‹¤ì‹œ ì—°ê²°í•  수 ì—†ìŒ" msgid "ftpfs: invalid address family" -msgstr "ftpfs: ìž˜ëª»ëœ ì£¼ì†Œ 패밀리" +msgstr "ftpfs: ìž˜ëª»ëœ ì£¼ì†Œ 계열" #, c-format msgid "ftpfs: could not create socket: %s" -msgstr "ftpfs: ì†Œì¼“ì„ ë§Œë“¤ 수 없습니다: %s" +msgstr "ftpfs: ì†Œì¼“ì„ ë§Œë“¤ 수 ì—†ìŒ: %s" msgid "ftpfs: could not setup passive mode" -msgstr "ftpfs: 패시브 모드를 설정할 수 없습니다" +msgstr "ftpfs: 패시브 모드를 설정할 수 ì—†ìŒ" msgid "ftpfs: aborting transfer." msgstr "ftpfs: 전송 중단." @@ -4310,10 +4261,10 @@ msgid "ftpfs: CWD failed." msgstr "ftpfs: CWD 실패." msgid "ftpfs: couldn't resolve symlink" -msgstr "ftpfs: 심볼릭ë§í¬ë¥¼ 확ì¸í•  수 없습니다" +msgstr "ftpfs: 심볼릭 ë§í¬ë¥¼ 확ì¸í•  수 ì—†ìŒ" msgid "Resolving symlink..." -msgstr "심볼릭ë§í¬ í•´ê²° 중..." +msgstr "심볼릭 ë§í¬ í•´ê²° 중..." #, c-format msgid "ftpfs: Reading FTP directory %s... %s%s" @@ -4323,10 +4274,18 @@ msgid "(strict rfc959)" msgstr "(엄격하게 rfc959를 따름)" msgid "(chdir first)" -msgstr "(먼저 디렉터리 변경)" +msgstr "(chdir 먼저)" msgid "ftpfs: failed; nowhere to fallback to" -msgstr "ftpfs: 실패함, ì–´ë””ì—ì„œë„ fallbackí•  수 없습니다" +msgstr "ftpfs: 실패함, ì–´ë””ì—ì„œë„ fallbackí•  수 ì—†ìŒ" + +#, c-format +msgid "%s: failure" +msgstr "%s: 실패" + +#, c-format +msgid "%s: done." +msgstr "%s: 완료." msgid "ftpfs: storing file" msgstr "ftpfs: íŒŒì¼ ì €ìž¥ì¤‘" @@ -4348,7 +4307,7 @@ msgstr "" #, c-format msgid "%s: Warning: file %s not found\n" -msgstr "%s: 경고: %s 파ì¼ì„ ì°¾ì„ ìˆ˜ 없습니다\n" +msgstr "%s: 경고: %s 파ì¼ì„ ì°¾ì„ ìˆ˜ ì—†ìŒ\n" #, c-format msgid "" @@ -4388,7 +4347,7 @@ msgid "sftp: making connection to %s" msgstr "sftp: %sì— ì—°ê²°" msgid "sftp: connection interrupted by user" -msgstr "sftp: 사용ìžì— ì˜í•´ ì—°ê²°ì´ ì¤‘ë‹¨ë¨" +msgstr "sftp: 사용ìžê°€ ì—°ê²°ì„ ì¤‘ë‹¨í•¨" #, c-format msgid "sftp: connection to server failed: %s" @@ -4398,7 +4357,7 @@ msgid "sftp: found host key of unsupported type: RSA1" msgstr "sftp: 지ì›ë˜ì§€ 않는 ìœ í˜•ì˜ í˜¸ìŠ¤íŠ¸ 키를 찾았습니다: RSA1" msgid "sftp: unknown host key type:" -msgstr "sftp: 호스트 키 ìœ í˜•ì„ ì•Œ 수 없습니다:" +msgstr "sftp: 호스트 키 ìœ í˜•ì„ ì•Œ 수 ì—†ìŒ:" #, c-format msgid "" @@ -4411,13 +4370,13 @@ msgstr "" "ì˜êµ¬ì ìœ¼ë¡œ 추가ë˜ì—ˆìŠµë‹ˆë‹¤." msgid "sftp: cannot get the remote host key" -msgstr "sftp: ì›ê²© 호스트 키를 가져올 수 없습니다" +msgstr "sftp: ì›ê²© 호스트 키를 가져올 수 ì—†ìŒ" msgid "sftp: unsupported key type, can't check remote host key" -msgstr "sftp: 지ì›ë˜ì§€ 않는 키 유형, ì›ê²© 호스트 키를 확ì¸í•  수 없습니다" +msgstr "sftp: 지ì›ë˜ì§€ 않는 키 유형, ì›ê²© 호스트 키를 확ì¸í•  수 ì—†ìŒ" msgid "sftp: can't compute host key fingerprint hash" -msgstr "sftp: 호스트 키 지문 해시를 계산할 수 없습니다" +msgstr "sftp: 호스트 키 지문 해시를 계산할 수 ì—†ìŒ" #, c-format msgid "" @@ -4468,7 +4427,7 @@ msgid "sftp: failure establishing SSH session" msgstr "sftp: SSH ì„¸ì…˜ì„ ì„¤ì •í•˜ì§€ 못했습니다" msgid "sftp: No file handler data present for reading file" -msgstr "sftp: 파ì¼ì„ ì½ê¸° 위한 íŒŒì¼ ì²˜ë¦¬ê¸° ë°ì´í„°ê°€ 없습니다" +msgstr "sftp: 파ì¼ì„ ì½ê¸° 위한 íŒŒì¼ ì²˜ë¦¬ê¸° ë°ì´í„°ê°€ ì—†ìŒ" #, c-format msgid "sftp: socket error: %s" @@ -4481,8 +4440,54 @@ msgstr "sftp: (Ctrl-G break) 목ë¡... %s" msgid "sftp: Listing done." msgstr "sftp: ëª©ë¡ ìž‘ì„± 완료." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "ì…¸: %s ì—°ê²° ëŠëŠ” 중" + +msgid "shell: Waiting for initial line..." +msgstr "ì…¸: 초기 í–‰ 기다리는 중..." + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "죄송합니다. ì§€ê¸ˆì€ ë¹„ë°€ë²ˆí˜¸ ì¸ì¦ ì—°ê²°ì„ ì‚¬ìš©í•  수 없습니다." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "ì…¸: %s 암호가 필요합니다" + +msgid "shell: Sending password..." +msgstr "ì…¸: 암호 보내는 중..." + +msgid "shell: Sending initial line..." +msgstr "ì…¸: 초기 í–‰ 보내는 중..." + +msgid "shell: Getting host info..." +msgstr "ì…¸: 호스트 ì •ë³´ 가져오는 중..." + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "ì…¸: %s 디렉터리 ì½ëŠ” 중..." + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "ì…¸: %s 저장: 명령 보내는 중..." + +msgid "shell: Local read failed, sending zeros" +msgstr "ì…¸: 로컬 ì½ê¸°ë¥¼ 실패했습니다. 0ê°’ 보내는 중" + +msgid "shell: storing file" +msgstr "ì…¸: íŒŒì¼ ì €ìž¥ 중" + +msgid "Aborting transfer..." +msgstr "ì „ì†¡ì„ ì¤‘ë‹¨í•˜ëŠ” 중..." + +msgid "Error reported after abort." +msgstr "중단 후 오류가 ë³´ê³ ë¨" + +msgid "Aborted transfer would be successful." +msgstr "ì¤‘ë‹¨ëœ ì „ì†¡ì´ ì„±ê³µì ìœ¼ë¡œ 완료ë˜ì—ˆì„ 수 있ìŒ." + msgid "Inconsistent tar archive" -msgstr "ìž˜ëª»ëœ tar 압축파ì¼" +msgstr "ìž˜ëª»ëœ tar 압축 파ì¼" msgid "Unexpected EOF on archive file" msgstr "압축 파ì¼ì— 예기치 ì•Šì€ EOFê°€ 있ìŒ" @@ -4492,7 +4497,7 @@ msgid "" "Cannot open tar archive\n" "%s" msgstr "" -"tar 압축파ì¼ì„ ì—´ 수 없습니다\n" +"tar 압축 파ì¼ì„ ì—´ 수 ì—†ìŒ\n" "%s" #, c-format @@ -4500,9 +4505,11 @@ msgid "" "%s\n" "doesn't look like a tar archive" msgstr "" +"%s\n" +"tar 압축 파ì¼ì²˜ëŸ¼ ë³´ì´ì§€ 않습니다" msgid "tar: mc_lseek not stopped at a record boundary" -msgstr "" +msgstr "tar: mc_lseekê°€ 레코드 경계ì—ì„œ 멈추지 않았습니다" msgid "undelfs: error" msgstr "unelfs: 오류" @@ -4530,7 +4537,7 @@ msgid "while calling ext2_block_iterate %d" msgstr "ext2_block_iterate %dì„(를) 호출하는 중" msgid "no more memory while reallocating array" -msgstr "ë°°ì—´ì„ ìž¬í• ë‹¹í•˜ëŠ” ë™ì•ˆ 메모리가 ë” ì´ìƒ 없습니다" +msgstr "ë°°ì—´ì„ ìž¬í• ë‹¹í•˜ëŠ” ë™ì•ˆ 메모리가 ë” ì´ìƒ ì—†ìŒ" #, c-format msgid "while doing inode scan %d" @@ -4538,7 +4545,7 @@ msgstr "inode 스캔 %d를 수행하는 ë™ì•ˆ" #, c-format msgid "Cannot open file %s" -msgstr "%s 파ì¼ì„ ì—´ 수 없습니다" +msgstr "%s 파ì¼ì„ ì—´ 수 ì—†ìŒ" msgid "undelfs: reading inode bitmap..." msgstr "unelfs: inode 비트맵 ì½ëŠ” 중..." @@ -4548,7 +4555,7 @@ msgid "" "Cannot load inode bitmap from:\n" "%s" msgstr "" -"ë‹¤ìŒ ìœ„ì¹˜ì—ì„œ inode ë¹„íŠ¸ë§µì„ ë¡œë“œí•  수 없습니다:\n" +"ë‹¤ìŒ ìœ„ì¹˜ì—ì„œ inode ë¹„íŠ¸ë§µì„ ë¡œë“œí•  수 ì—†ìŒ:\n" "%s" msgid "undelfs: reading block bitmap..." @@ -4559,7 +4566,7 @@ msgid "" "Cannot load block bitmap from:\n" "%s" msgstr "" -"ë¸”ë¡ ë¹„íŠ¸ë§µì„ ë¡œë“œí•  수 없습니다:\n" +"ë¸”ë¡ ë¹„íŠ¸ë§µì„ ë¡œë“œí•  수 ì—†ìŒ:\n" "%s" msgid "vfs_info is not fs!" @@ -4573,7 +4580,7 @@ msgstr "블ë¡ì„ 반복하는 ë™ì•ˆ" #, c-format msgid "Cannot open file \"%s\"" -msgstr "%s 파ì¼ì„ ì—´ 수 없습니다" +msgstr "\"%s\" 파ì¼ì„ ì—´ 수 ì—†ìŒ" msgid "Ext2lib error" msgstr "Ext2lib 오류" @@ -4582,7 +4589,7 @@ msgid "Invalid value" msgstr "ìž˜ëª»ëœ ê°’" msgid "File was modified. Save with exit?" -msgstr "파ì¼ì´ 수정ë˜ì—ˆìŠµë‹ˆë‹¤. 종료와 함께 저장하시겠습니까?" +msgstr "파ì¼ì´ 수정ë˜ì—ˆìŠµë‹ˆë‹¤. 저장 후 나가시겠습니까?" msgid "&Cancel quit" msgstr "ë내기 취소(&C)" @@ -4595,13 +4602,13 @@ msgstr "" "ìˆ˜ì •ëœ íŒŒì¼ì„ 저장하시겠습니까?" msgid "&Line number" -msgstr "줄 번호(&L)" +msgstr "í–‰ 번호(&L)" msgid "Pe&rcents" msgstr "í¼ì„¼íŠ¸(&R)" msgid "&Decimal offset" -msgstr "10 진수 오프셋(&D)" +msgstr "10진수 오프셋(&D)" msgid "He&xadecimal offset" msgstr "16진수 오프셋(&X)" @@ -4610,7 +4617,7 @@ msgid "Goto" msgstr "건너뛰기" msgid "ButtonBar|Ascii" -msgstr "Ascii" +msgstr "아스키" msgid "ButtonBar|HxSrch" msgstr "16비트 검색" @@ -4622,16 +4629,16 @@ msgid "ButtonBar|Wrap" msgstr "줄바꿈" msgid "ButtonBar|Hex" -msgstr " 16비트" +msgstr "16비트" msgid "ButtonBar|Goto" -msgstr " Goto" +msgstr "건너뛰기" msgid "ButtonBar|Raw" -msgstr " ì›ë³¸ 형ì‹" +msgstr "ì›ë³¸ 형ì‹" msgid "ButtonBar|Parse" -msgstr " 구문 분ì„" +msgstr "분ì„" msgid "ButtonBar|Unform" msgstr " 형ì‹í™”ë˜ì§€ ì•ŠìŒ" @@ -4644,7 +4651,7 @@ msgid "" "Failed to read data from child stdout:\n" "%s" msgstr "" -"하위 í”„ë¡œì„¸ìŠ¤ì˜ stdoutì—ì„œ ​​ë°ì´í„°ë¥¼ ì½ì„ 수 없습니다:\n" +"하위 í”„ë¡œì„¸ìŠ¤ì˜ stdoutì—ì„œ ​​ë°ì´í„°ë¥¼ ì½ì„ 수 ì—†ìŒ:\n" "%s" #, c-format @@ -4662,7 +4669,7 @@ msgid "" "Cannot save file:\n" "%s" msgstr "" -"파ì¼ì„ 저장할 수 없습니다:\n" +"파ì¼ì„ 저장할 수 ì—†ìŒ:\n" "%s" msgid "View: " @@ -4673,18 +4680,18 @@ msgid "" "Cannot open \"%s\"\n" "%s" msgstr "" -"%sì„(를) ì—´ 수 없습니다\n" +"\"%s\"ì„(를) ì—´ 수 ì—†ìŒ\n" "%s" msgid "Cannot view: not a regular file" -msgstr "ë³¼ 수 없습니다: ì¼ë°˜ 파ì¼ì´ 아님" +msgstr "ë³¼ 수 ì—†ìŒ: ì¼ë°˜ 파ì¼ì´ 아님" #, c-format msgid "" "Cannot open \"%s\" in parse mode\n" "%s" msgstr "" -"%sì„(를) 구문 모드ì—ì„œ ì—´ 수 없습니다\n" +"\"%s\"ì„(를) ë¶„ì„ ëª¨ë“œì—ì„œ ì—´ 수 ì—†ìŒ\n" "%s" msgid "Search done" @@ -4694,4 +4701,4 @@ msgid "Continue from beginning?" msgstr "처ìŒë¶€í„° 계ì†í•˜ì‹œê² ìŠµë‹ˆê¹Œ?" msgid "Cannot fetch a local copy of /ftp://some.host/editme.txt" -msgstr "/ftp://some.host/editme.txtì˜ ë¡œì»¬ ë³µì‚¬ë³¸ì„ ê°€ì ¸ì˜¬ 수 없습니다" +msgstr "/ftp://some.host/editme.txtì˜ ë¡œì»¬ ë³µì‚¬ë³¸ì„ ê°€ì ¸ì˜¬ 수 ì—†ìŒ" diff --git a/mcsrc/po/kw.po b/mcsrc/po/kw.po index 25ca5b0..1aedd17 100644 --- a/mcsrc/po/kw.po +++ b/mcsrc/po/kw.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Cornish (http://app.transifex.com/mc/mc/language/kw/)\n" @@ -709,7 +709,8 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1545,7 +1546,7 @@ msgid "" "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3922,65 +3923,23 @@ msgid "" "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "" - -msgid "fish: Sending password..." -msgstr "" - -msgid "fish: Sending initial line..." -msgstr "" - -msgid "fish: Handshaking version..." -msgstr "" - -msgid "fish: Getting host info..." -msgstr "" - -#, c-format -msgid "fish: Reading directory %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "%s: done." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "%s: failure" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #, c-format @@ -4093,6 +4052,14 @@ msgstr "" msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "" + +#, c-format +msgid "%s: done." +msgstr "" + msgid "ftpfs: storing file" msgstr "" @@ -4226,6 +4193,52 @@ msgstr "" msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" diff --git a/mcsrc/po/lt.po b/mcsrc/po/lt.po index c9ea554..f8f0087 100644 --- a/mcsrc/po/lt.po +++ b/mcsrc/po/lt.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Mantas KriauÄiÅ«nas Baltix , 2020\n" "Language-Team: Lithuanian (http://app.transifex.com/mc/mc/language/lt/)\n" @@ -734,7 +734,8 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1589,7 +1590,7 @@ msgstr "" "Lengvas vartoti teksto redaktorius\n" "sukurtas Midnight Commander aplinkai." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -4030,66 +4031,24 @@ msgid "" "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Ä®spÄ—jimas: nepavyko pereiti į aplankÄ… %s\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: atsijungiama nuo %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: laukiama pradinÄ—s eilutÄ—s..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Å iuo metu slaptažodžių apsaugotų prisijungimų atlikti negalima." - -#, c-format -msgid "fish: Password is required for %s" +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -msgid "fish: Sending password..." -msgstr "fish: siunÄiamas slaptažodis..." - -msgid "fish: Sending initial line..." -msgstr "fish: siunÄiama pradinÄ— linija..." - -msgid "fish: Handshaking version..." -msgstr "fish: derinamos versijos..." - -msgid "fish: Getting host info..." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: atveriamas aplankas %s..." - -#, c-format -msgid "%s: done." -msgstr "%s: atlikta." - -#, c-format -msgid "%s: failure" -msgstr "%s: nepavyko" - -#, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: „%s“ siuntimas: siunÄiamas slaptažodis..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: vietinis skaitymas nepavyko, siunÄiami nuliai" - -msgid "fish: storing file" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" -msgid "Aborting transfer..." -msgstr "Nutraukiamas siuntimas..." - -msgid "Error reported after abort." -msgstr "Po nutraukties praneÅ¡ta klaida." - -msgid "Aborted transfer would be successful." -msgstr "Nutrauktas siuntimas bÅ«tų sÄ—kmingas." +#, c-format +msgid "Warning: cannot open %s directory\n" +msgstr "Ä®spÄ—jimas: nepavyko pereiti į aplankÄ… %s\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4201,6 +4160,14 @@ msgstr "(keiÄiamas katalogas)" msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: nepavyko; nÄ—ra kur grįžti" +#, c-format +msgid "%s: failure" +msgstr "%s: nepavyko" + +#, c-format +msgid "%s: done." +msgstr "%s: atlikta." + msgid "ftpfs: storing file" msgstr "" @@ -4338,6 +4305,52 @@ msgstr "" msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Å iuo metu slaptažodžių apsaugotų prisijungimų atlikti negalima." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Nutraukiamas siuntimas..." + +msgid "Error reported after abort." +msgstr "Po nutraukties praneÅ¡ta klaida." + +msgid "Aborted transfer would be successful." +msgstr "Nutrauktas siuntimas bÅ«tų sÄ—kmingas." + msgid "Inconsistent tar archive" msgstr "Nevientisas tar archyvas" diff --git a/mcsrc/po/lv.po b/mcsrc/po/lv.po index c60682f..0eeaace 100644 --- a/mcsrc/po/lv.po +++ b/mcsrc/po/lv.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Slava Zanko , 2011\n" "Language-Team: Latvian (http://app.transifex.com/mc/mc/language/lv/)\n" @@ -707,7 +707,8 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1543,7 +1544,7 @@ msgid "" "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3940,68 +3941,25 @@ msgid "" "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: Atvienojamies no %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: GaidÄm sÄkotnÄ“jo lÄ«niju..." - -msgid "Sorry, we cannot do password authenticated connections for now." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -"Piedodiet, mÄ“s patreiz nevaram veikt ar paroli autorizÄ“tus savienojumus." -#, c-format -msgid "fish: Password is required for %s" +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -msgid "fish: Sending password..." -msgstr "fish: SÅ«tam paroli..." - -msgid "fish: Sending initial line..." -msgstr "fish: SÅ«tam sÄkotnÄ“jo lÄ«niju..." - -msgid "fish: Handshaking version..." -msgstr "fish: RokspieÅ¡anas versija..." - -msgid "fish: Getting host info..." +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: LasÄm direktoriju %s..." - -#, c-format -msgid "%s: done." -msgstr "%s: izdarÄ«ts." - -#, c-format -msgid "%s: failure" -msgstr "%s: neveiksme" - -#, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: glabÄjam %s: sutÄm komandu..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: LokÄlÄ lasÄ«Å¡ana kļūdaina, sÅ«tam nulles" - -msgid "fish: storing file" +msgid "Warning: cannot open %s directory\n" msgstr "" -msgid "Aborting transfer..." -msgstr "PÄtraucam pÄrraidÄ«Å¡anu..." - -msgid "Error reported after abort." -msgstr "Kļūda paziņota pÄ“c pÄtraukÅ¡anas." - -msgid "Aborted transfer would be successful." -msgstr "PÄtraukÄ pÄrraidÄ«Å¡ana varÄ“tu bÅ«t veiksmÄ«ga" - #, c-format msgid "ftpfs: Disconnecting from %s" msgstr "ftpfs: AtvienoÅ¡anÄs no %s" @@ -4112,6 +4070,14 @@ msgstr "(chdir vispirms)" msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: neizdevÄs; nav kur atkrist" +#, c-format +msgid "%s: failure" +msgstr "%s: neveiksme" + +#, c-format +msgid "%s: done." +msgstr "%s: izdarÄ«ts." + msgid "ftpfs: storing file" msgstr "" @@ -4249,6 +4215,53 @@ msgstr "" msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" +"Piedodiet, mÄ“s patreiz nevaram veikt ar paroli autorizÄ“tus savienojumus." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "PÄtraucam pÄrraidÄ«Å¡anu..." + +msgid "Error reported after abort." +msgstr "Kļūda paziņota pÄ“c pÄtraukÅ¡anas." + +msgid "Aborted transfer would be successful." +msgstr "PÄtraukÄ pÄrraidÄ«Å¡ana varÄ“tu bÅ«t veiksmÄ«ga" + msgid "Inconsistent tar archive" msgstr "NeatbilstÄ«gs tar arhÄ«vs" diff --git a/mcsrc/po/mc.pot b/mcsrc/po/mc.pot index bd3a99c..d0f68b4 100644 --- a/mcsrc/po/mc.pot +++ b/mcsrc/po/mc.pot @@ -5,9 +5,9 @@ # msgid "" msgstr "" -"Project-Id-Version: mc 4.8.30-pre1-7-g7f7ae6e04\n" +"Project-Id-Version: mc 4.8.30-111-gb03981f1f\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 20:47+0200\n" +"POT-Creation-Date: 2024-01-14 17:58+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,15 +17,15 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: lib/charsets.c:219 +#: lib/charsets.c:220 msgid "Warning: cannot load codepages list" msgstr "" -#: lib/charsets.c:222 src/filemanager/boxes.c:387 +#: lib/charsets.c:223 src/filemanager/boxes.c:387 msgid "7-bit ASCII" msgstr "" -#: lib/charsets.c:317 lib/charsets.c:328 +#: lib/charsets.c:318 lib/charsets.c:329 #, c-format msgid "Cannot translate from %s to %s" msgstr "" @@ -123,11 +123,11 @@ msgstr "" msgid "Invalid token number %d" msgstr "" -#: lib/search/regex.c:340 lib/search/regex.c:839 src/filemanager/ext.c:758 +#: lib/search/regex.c:340 lib/search/regex.c:838 src/filemanager/ext.c:775 msgid "Regular expression error" msgstr "" -#: lib/search/search.c:55 src/diffviewer/ydiff.c:2423 +#: lib/search/search.c:55 src/diffviewer/ydiff.c:2347 tmp/ydiff.c:2404 msgid "No&rmal" msgstr "" @@ -143,21 +143,21 @@ msgstr "" msgid "Wil&dcard search" msgstr "" -#: lib/skin/common.c:133 +#: lib/skin/common.c:134 #, c-format msgid "" "Unable to load '%s' skin.\n" "Default skin has been loaded" msgstr "" -#: lib/skin/common.c:143 +#: lib/skin/common.c:144 #, c-format msgid "" "Unable to parse '%s' skin.\n" "Default skin has been loaded" msgstr "" -#: lib/skin/common.c:155 +#: lib/skin/common.c:156 #, c-format msgid "" "Unable to use '%s' skin with true colors support:\n" @@ -165,7 +165,7 @@ msgid "" "Default skin has been loaded" msgstr "" -#: lib/skin/common.c:167 +#: lib/skin/common.c:168 #, c-format msgid "" "Unable to use '%s' skin with 256 colors support\n" @@ -602,31 +602,31 @@ msgid "" "Check the TERM environment variable.\n" msgstr "" -#: lib/util.c:351 +#: lib/util.c:355 msgid "B" msgstr "" -#: lib/util.c:356 +#: lib/util.c:360 msgid "kB" msgstr "" -#: lib/util.c:356 +#: lib/util.c:360 msgid "KiB" msgstr "" -#: lib/util.c:361 +#: lib/util.c:365 msgid "MB" msgstr "" -#: lib/util.c:361 +#: lib/util.c:365 msgid "MiB" msgstr "" -#: lib/util.c:366 +#: lib/util.c:370 msgid "GB" msgstr "" -#: lib/util.c:366 +#: lib/util.c:370 msgid "GiB" msgstr "" @@ -750,44 +750,44 @@ msgstr "" msgid "Do you want clean this history?" msgstr "" -#: lib/widget/listbox.c:325 src/diffviewer/ydiff.c:3090 src/editor/edit.c:369 -#: src/editor/editcmd.c:180 src/editor/editcmd.c:203 src/editor/editcmd.c:1522 -#: src/editor/editcmd.c:1528 src/filemanager/cmd.c:145 +#: lib/widget/listbox.c:325 src/diffviewer/ydiff.c:3021 src/editor/edit.c:375 +#: src/editor/editcmd.c:180 src/editor/editcmd.c:203 src/editor/editcmd.c:1473 +#: src/editor/editcmd.c:1479 src/filemanager/cmd.c:145 #: src/filemanager/file.c:1014 src/filemanager/file.c:2022 #: src/filemanager/filegui.c:482 src/filemanager/filemanager.c:1056 #: src/filemanager/filemanager.c:1064 src/filemanager/hotlist.c:1164 #: src/filemanager/hotlist.c:1181 src/filemanager/panel.c:2961 #: src/filemanager/tree.c:826 src/subshell/common.c:1653 -#: src/vfs/sftpfs/connection.c:521 src/vfs/sftpfs/connection.c:533 -#: src/viewer/actions_cmd.c:644 src/viewer/actions_cmd.c:650 -#: src/viewer/search.c:452 +#: src/vfs/sftpfs/connection.c:562 src/vfs/sftpfs/connection.c:574 +#: src/viewer/actions_cmd.c:634 src/viewer/actions_cmd.c:640 +#: src/viewer/search.c:452 tmp/ydiff.c:3069 msgid "&Yes" msgstr "" -#: lib/widget/listbox.c:325 src/diffviewer/ydiff.c:3090 src/editor/edit.c:369 -#: src/editor/editcmd.c:180 src/editor/editcmd.c:1522 src/editor/editcmd.c:1528 +#: lib/widget/listbox.c:325 src/diffviewer/ydiff.c:3021 src/editor/edit.c:375 +#: src/editor/editcmd.c:180 src/editor/editcmd.c:1473 src/editor/editcmd.c:1479 #: src/filemanager/cmd.c:145 src/filemanager/file.c:1014 #: src/filemanager/file.c:2022 src/filemanager/filegui.c:484 #: src/filemanager/filemanager.c:1056 src/filemanager/filemanager.c:1064 #: src/filemanager/hotlist.c:1164 src/filemanager/hotlist.c:1181 #: src/filemanager/panel.c:2961 src/filemanager/tree.c:826 -#: src/subshell/common.c:1653 src/vfs/sftpfs/connection.c:521 -#: src/vfs/sftpfs/connection.c:533 src/viewer/actions_cmd.c:644 -#: src/viewer/actions_cmd.c:650 src/viewer/search.c:453 +#: src/subshell/common.c:1653 src/vfs/sftpfs/connection.c:562 +#: src/vfs/sftpfs/connection.c:574 src/viewer/actions_cmd.c:634 +#: src/viewer/actions_cmd.c:640 src/viewer/search.c:453 tmp/ydiff.c:3069 msgid "&No" msgstr "" #: lib/widget/quick.h:213 src/editor/editsearch.c:105 -#: src/editor/editsearch.c:1021 src/editor/editwidget.c:157 +#: src/editor/editsearch.c:1018 src/editor/editwidget.c:157 #: src/filemanager/boxes.c:1292 src/filemanager/filegui.c:1386 #: src/filemanager/find.c:605 src/filemanager/layout.c:511 src/main.c:414 msgid "&OK" msgstr "" #: lib/widget/quick.h:214 src/editor/editcmd.c:180 src/editor/editcmd.c:203 -#: src/editor/editcmd.c:375 src/editor/editcmd.c:519 src/editor/editcmd.c:939 -#: src/editor/editcmd.c:1016 src/editor/editcmd.c:1522 -#: src/editor/editcmd.c:2018 src/editor/editcmd.c:2047 +#: src/editor/editcmd.c:375 src/editor/editcmd.c:517 src/editor/editcmd.c:953 +#: src/editor/editcmd.c:1030 src/editor/editcmd.c:1473 +#: src/editor/editcmd.c:1969 src/editor/editcmd.c:1998 #: src/editor/editsearch.c:107 src/editor/editsearch.c:252 #: src/editor/etags.c:375 src/editor/spell.c:750 src/filemanager/achown.c:89 #: src/filemanager/achown.c:863 src/filemanager/achown.c:900 @@ -806,10 +806,10 @@ msgstr "" msgid "Background process:" msgstr "" -#: lib/widget/wtools.c:295 lib/widget/wtools.c:424 src/editor/edit.c:209 -#: src/editor/edit.c:230 src/editor/edit.c:381 src/editor/edit.c:1989 -#: src/editor/edit.c:1999 src/editor/editcmd.c:265 src/editor/editcmd.c:275 -#: src/editor/editcmd.c:318 src/editor/editcmd.c:1626 src/editor/spell.c:325 +#: lib/widget/wtools.c:295 lib/widget/wtools.c:424 src/editor/edit.c:210 +#: src/editor/edit.c:231 src/editor/edit.c:387 src/editor/edit.c:2022 +#: src/editor/edit.c:2032 src/editor/editcmd.c:265 src/editor/editcmd.c:275 +#: src/editor/editcmd.c:318 src/editor/editcmd.c:1577 src/editor/spell.c:325 #: src/editor/spell.c:545 src/editor/spell.c:553 #: tests/src/execute__common.c:150 #: tests/src/execute__execute_with_vfs_arg.c:152 @@ -823,7 +823,7 @@ msgstr "" #: lib/widget/wtools.c:704 src/filemanager/file.c:893 #: src/filemanager/file.c:967 src/filemanager/file.c:969 -#: src/filemanager/file.c:1015 src/filemanager/file.c:3174 +#: src/filemanager/file.c:1015 src/filemanager/file.c:3179 #: src/filemanager/filegui.c:257 src/filemanager/filegui.c:506 msgid "&Abort" msgstr "" @@ -952,7 +952,8 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1052,7 +1053,7 @@ msgid "" "than we can handle." msgstr "" -#: src/diffviewer/internal.h:15 src/diffviewer/search.c:235 +#: src/diffviewer/internal.h:15 src/diffviewer/search.c:236 #: src/editor/edit-impl.h:76 src/editor/edit-impl.h:77 src/viewer/search.c:484 #: src/viewer/search.c:486 msgid "&Dismiss" @@ -1063,52 +1064,52 @@ msgstr "" msgid "Enter search string:" msgstr "" -#: src/diffviewer/search.c:94 src/editor/editsearch.c:96 +#: src/diffviewer/search.c:95 src/editor/editsearch.c:96 #: src/editor/editsearch.c:179 src/filemanager/boxes.c:687 #: src/filemanager/boxes.c:894 src/filemanager/find.c:591 #: src/viewer/dialogs.c:89 msgid "Cas&e sensitive" msgstr "" -#: src/diffviewer/search.c:95 src/editor/editsearch.c:97 +#: src/diffviewer/search.c:96 src/editor/editsearch.c:97 #: src/editor/editsearch.c:180 src/viewer/dialogs.c:90 msgid "&Backwards" msgstr "" -#: src/diffviewer/search.c:96 src/editor/editsearch.c:99 +#: src/diffviewer/search.c:97 src/editor/editsearch.c:99 #: src/editor/editsearch.c:182 src/filemanager/find.c:602 #: src/viewer/dialogs.c:91 msgid "&Whole words" msgstr "" -#: src/diffviewer/search.c:98 src/editor/editsearch.c:101 +#: src/diffviewer/search.c:99 src/editor/editsearch.c:101 #: src/editor/editsearch.c:184 src/filemanager/find.c:589 #: src/viewer/dialogs.c:93 msgid "&All charsets" msgstr "" -#: src/diffviewer/search.c:109 src/diffviewer/search.c:235 -#: src/diffviewer/search.c:248 src/diffviewer/search.c:281 +#: src/diffviewer/search.c:110 src/diffviewer/search.c:236 +#: src/diffviewer/search.c:249 src/diffviewer/search.c:282 #: src/editor/editsearch.c:115 src/editor/editsearch.c:600 #: src/editor/editsearch.c:626 src/editor/editsearch.c:655 -#: src/editor/editsearch.c:905 src/editor/editsearch.c:916 +#: src/editor/editsearch.c:902 src/editor/editsearch.c:913 #: src/viewer/dialogs.c:104 src/viewer/search.c:404 src/viewer/search.c:464 #: src/viewer/search.c:484 src/viewer/search.c:486 msgid "Search" msgstr "" -#: src/diffviewer/search.c:248 src/diffviewer/search.c:281 +#: src/diffviewer/search.c:249 src/diffviewer/search.c:282 msgid "Search is disabled" msgstr "" -#: src/diffviewer/ydiff.c:181 +#: src/diffviewer/ydiff.c:185 tmp/ydiff.c:168 #, c-format msgid "" "Cannot create temporary diff file\n" "%s" msgstr "" -#: src/diffviewer/ydiff.c:2213 +#: src/diffviewer/ydiff.c:2143 tmp/ydiff.c:2200 #, c-format msgid "" "Cannot create backup file\n" @@ -1116,205 +1117,208 @@ msgid "" "%s" msgstr "" -#: src/diffviewer/ydiff.c:2222 +#: src/diffviewer/ydiff.c:2152 tmp/ydiff.c:2209 #, c-format msgid "" "Cannot create temporary merge file\n" "%s" msgstr "" -#: src/diffviewer/ydiff.c:2424 +#: src/diffviewer/ydiff.c:2348 tmp/ydiff.c:2405 msgid "&Fastest (Assume large files)" msgstr "" -#: src/diffviewer/ydiff.c:2425 +#: src/diffviewer/ydiff.c:2349 tmp/ydiff.c:2406 msgid "&Minimal (Find a smaller set of change)" msgstr "" -#: src/diffviewer/ydiff.c:2430 +#: src/diffviewer/ydiff.c:2354 tmp/ydiff.c:2411 msgid "Diff algorithm" msgstr "" -#: src/diffviewer/ydiff.c:2433 +#: src/diffviewer/ydiff.c:2357 tmp/ydiff.c:2414 msgid "Diff extra options" msgstr "" -#: src/diffviewer/ydiff.c:2434 +#: src/diffviewer/ydiff.c:2358 tmp/ydiff.c:2415 msgid "&Ignore case" msgstr "" -#: src/diffviewer/ydiff.c:2435 +#: src/diffviewer/ydiff.c:2359 tmp/ydiff.c:2416 msgid "Ignore tab &expansion" msgstr "" -#: src/diffviewer/ydiff.c:2436 +#: src/diffviewer/ydiff.c:2360 tmp/ydiff.c:2417 msgid "Ignore &space change" msgstr "" -#: src/diffviewer/ydiff.c:2437 +#: src/diffviewer/ydiff.c:2361 tmp/ydiff.c:2418 msgid "Ignore all &whitespace" msgstr "" -#: src/diffviewer/ydiff.c:2438 +#: src/diffviewer/ydiff.c:2362 tmp/ydiff.c:2419 msgid "Strip &trailing carriage return" msgstr "" -#: src/diffviewer/ydiff.c:2449 +#: src/diffviewer/ydiff.c:2373 tmp/ydiff.c:2430 msgid "Diff Options" msgstr "" -#: src/diffviewer/ydiff.c:2953 +#: src/diffviewer/ydiff.c:2884 tmp/ydiff.c:2932 msgid "Edit" msgstr "" -#: src/diffviewer/ydiff.c:2953 +#: src/diffviewer/ydiff.c:2884 tmp/ydiff.c:2932 msgid "Edit is disabled" msgstr "" -#: src/diffviewer/ydiff.c:2987 +#: src/diffviewer/ydiff.c:2918 tmp/ydiff.c:2966 msgid "Goto line (left)" msgstr "" -#: src/diffviewer/ydiff.c:2988 +#: src/diffviewer/ydiff.c:2919 tmp/ydiff.c:2967 msgid "Goto line (right)" msgstr "" -#: src/diffviewer/ydiff.c:2996 src/editor/editcmd.c:1709 +#: src/diffviewer/ydiff.c:2927 src/editor/editcmd.c:1660 tmp/ydiff.c:2975 msgid "Enter line:" msgstr "" -#: src/diffviewer/ydiff.c:3035 src/editor/editwidget.c:677 -#: src/filemanager/filemanager.c:1634 src/filemanager/tree.c:1169 -#: src/help.c:1164 src/viewer/display.c:90 +#: src/diffviewer/ydiff.c:2966 src/editor/editwidget.c:677 +#: src/filemanager/filemanager.c:1634 src/filemanager/tree.c:1176 +#: src/help.c:1170 src/viewer/display.c:90 tmp/ydiff.c:3014 msgid "ButtonBar|Help" msgstr "" -#: src/diffviewer/ydiff.c:3036 src/editor/editwidget.c:678 -#: src/viewer/display.c:102 +#: src/diffviewer/ydiff.c:2967 src/editor/editwidget.c:678 +#: src/viewer/display.c:102 tmp/ydiff.c:3015 msgid "ButtonBar|Save" msgstr "" -#: src/diffviewer/ydiff.c:3037 src/filemanager/filemanager.c:1637 -#: src/viewer/display.c:97 +#: src/diffviewer/ydiff.c:2968 src/filemanager/filemanager.c:1637 +#: src/viewer/display.c:97 tmp/ydiff.c:3016 msgid "ButtonBar|Edit" msgstr "" -#: src/diffviewer/ydiff.c:3038 +#: src/diffviewer/ydiff.c:2969 tmp/ydiff.c:3017 msgid "ButtonBar|Merge" msgstr "" -#: src/diffviewer/ydiff.c:3039 src/editor/editwidget.c:683 -#: src/viewer/display.c:112 +#: src/diffviewer/ydiff.c:2970 src/editor/editwidget.c:683 +#: src/viewer/display.c:112 tmp/ydiff.c:3018 msgid "ButtonBar|Search" msgstr "" -#: src/diffviewer/ydiff.c:3040 +#: src/diffviewer/ydiff.c:2971 tmp/ydiff.c:3019 msgid "ButtonBar|Options" msgstr "" -#: src/diffviewer/ydiff.c:3041 src/editor/editwidget.c:686 -#: src/filemanager/filemanager.c:1643 src/help.c:1173 src/viewer/display.c:121 -#: src/viewer/display.c:124 +#: src/diffviewer/ydiff.c:2972 src/editor/editwidget.c:686 +#: src/filemanager/filemanager.c:1643 src/help.c:1179 src/viewer/display.c:121 +#: src/viewer/display.c:124 tmp/ydiff.c:3020 msgid "ButtonBar|Quit" msgstr "" -#: src/diffviewer/ydiff.c:3087 src/editor/editcmd.c:1528 -#: src/viewer/actions_cmd.c:642 src/viewer/actions_cmd.c:648 +#: src/diffviewer/ydiff.c:3018 src/editor/editcmd.c:1479 +#: src/viewer/actions_cmd.c:632 src/viewer/actions_cmd.c:638 tmp/ydiff.c:3066 msgid "Quit" msgstr "" -#: src/diffviewer/ydiff.c:3088 +#: src/diffviewer/ydiff.c:3019 tmp/ydiff.c:3067 msgid "File(s) was modified. Save with exit?" msgstr "" -#: src/diffviewer/ydiff.c:3089 +#: src/diffviewer/ydiff.c:3020 tmp/ydiff.c:3068 msgid "" "Midnight Commander is being shut down.\n" "Save modified file(s)?" msgstr "" -#: src/diffviewer/ydiff.c:3421 src/diffviewer/ydiff.c:3424 +#: src/diffviewer/ydiff.c:3352 src/diffviewer/ydiff.c:3355 tmp/ydiff.c:3400 +#: tmp/ydiff.c:3403 msgid "Diff:" msgstr "" -#: src/diffviewer/ydiff.c:3545 src/diffviewer/ydiff.c:3555 -#: src/diffviewer/ydiff.c:3575 src/diffviewer/ydiff.c:3592 +#: src/diffviewer/ydiff.c:3475 src/diffviewer/ydiff.c:3485 +#: src/diffviewer/ydiff.c:3505 src/diffviewer/ydiff.c:3522 tmp/ydiff.c:3524 +#: tmp/ydiff.c:3534 tmp/ydiff.c:3554 tmp/ydiff.c:3571 #, c-format msgid "\"%s\" is a directory" msgstr "" -#: src/diffviewer/ydiff.c:3581 src/diffviewer/ydiff.c:3598 -#: src/filemanager/file.c:1830 src/viewer/mcviewer.c:354 +#: src/diffviewer/ydiff.c:3511 src/diffviewer/ydiff.c:3528 +#: src/filemanager/file.c:1830 src/viewer/mcviewer.c:354 tmp/ydiff.c:3560 +#: tmp/ydiff.c:3577 #, c-format msgid "" "Cannot stat \"%s\"\n" "%s" msgstr "" -#: src/diffviewer/ydiff.c:3607 +#: src/diffviewer/ydiff.c:3537 tmp/ydiff.c:3586 msgid "Diff viewer: invalid mode" msgstr "" -#: src/diffviewer/ydiff.c:3636 +#: src/diffviewer/ydiff.c:3563 tmp/ydiff.c:3616 msgid "Two files are needed to compare" msgstr "" -#: src/editor/edit.c:165 +#: src/editor/edit.c:166 #, c-format msgid "Loading: %3d%%" msgstr "" -#: src/editor/edit.c:168 +#: src/editor/edit.c:169 msgid "Loading..." msgstr "" -#: src/editor/edit.c:208 src/editor/edit.c:321 +#: src/editor/edit.c:209 src/editor/edit.c:327 #, c-format msgid "Cannot open %s for reading" msgstr "" -#: src/editor/edit.c:218 +#: src/editor/edit.c:219 msgid "Load file" msgstr "" -#: src/editor/edit.c:229 +#: src/editor/edit.c:230 #, c-format msgid "Error reading %s" msgstr "" -#: src/editor/edit.c:333 +#: src/editor/edit.c:339 #, c-format msgid "Cannot get size/permissions for %s" msgstr "" -#: src/editor/edit.c:342 +#: src/editor/edit.c:348 #, c-format msgid "\"%s\" is not a regular file" msgstr "" -#: src/editor/edit.c:367 +#: src/editor/edit.c:373 #, c-format msgid "" "File \"%s\" is too large.\n" "Open it anyway?" msgstr "" -#: src/editor/edit.c:369 src/editor/editcmd.c:178 src/editor/editcmd.c:201 -#: src/editor/editcmd.c:373 src/editor/editcmd.c:517 src/editor/editcmd.c:938 -#: src/editor/editcmd.c:2015 src/editor/editcmd.c:2044 src/editor/etags.c:373 -#: src/execute.c:137 src/filemanager/ext.c:775 src/filemanager/file.c:2461 -#: src/filemanager/panel.c:4708 src/help.c:363 src/main.c:411 -#: src/subshell/common.c:1651 src/vfs/sftpfs/connection.c:521 -#: src/viewer/actions_cmd.c:444 +#: src/editor/edit.c:375 src/editor/editcmd.c:178 src/editor/editcmd.c:201 +#: src/editor/editcmd.c:373 src/editor/editcmd.c:515 src/editor/editcmd.c:952 +#: src/editor/editcmd.c:1966 src/editor/editcmd.c:1995 src/editor/etags.c:373 +#: src/execute.c:137 src/filemanager/ext.c:792 src/filemanager/file.c:2461 +#: src/filemanager/panel.c:4710 src/help.c:365 src/main.c:411 +#: src/subshell/common.c:1651 src/vfs/sftpfs/connection.c:562 +#: src/viewer/actions_cmd.c:434 msgid "Warning" msgstr "" -#: src/editor/edit.c:1988 +#: src/editor/edit.c:2021 #, c-format msgid "Error reading from pipe: %s" msgstr "" -#: src/editor/edit.c:1998 +#: src/editor/edit.c:2031 #, c-format msgid "Cannot open pipe for reading: %s" msgstr "" @@ -1346,8 +1350,8 @@ msgstr "" msgid "The file you are saving does not end with a newline." msgstr "" -#: src/editor/editcmd.c:375 src/editor/editcmd.c:519 src/editor/editcmd.c:2017 -#: src/editor/editcmd.c:2046 src/editor/etags.c:375 +#: src/editor/editcmd.c:375 src/editor/editcmd.c:517 src/editor/editcmd.c:1968 +#: src/editor/editcmd.c:1997 src/editor/etags.c:375 msgid "C&ontinue" msgstr "" @@ -1367,8 +1371,8 @@ msgstr "" msgid "&Macintosh format (CR)" msgstr "" -#: src/editor/editcmd.c:396 src/editor/editcmd.c:1038 src/editor/editcmd.c:1750 -#: src/editor/editcmd.c:1781 src/filemanager/cmd.c:735 +#: src/editor/editcmd.c:396 src/editor/editcmd.c:1052 src/editor/editcmd.c:1701 +#: src/editor/editcmd.c:1732 src/filemanager/cmd.c:735 msgid "Enter file name:" msgstr "" @@ -1380,228 +1384,228 @@ msgstr "" msgid "Save As" msgstr "" -#: src/editor/editcmd.c:837 +#: src/editor/editcmd.c:851 msgid "&Quick save" msgstr "" -#: src/editor/editcmd.c:838 +#: src/editor/editcmd.c:852 msgid "&Safe save" msgstr "" -#: src/editor/editcmd.c:839 +#: src/editor/editcmd.c:853 msgid "&Do backups with following extension:" msgstr "" -#: src/editor/editcmd.c:858 +#: src/editor/editcmd.c:872 msgid "Check &POSIX new line" msgstr "" -#: src/editor/editcmd.c:867 +#: src/editor/editcmd.c:881 msgid "Edit Save Mode" msgstr "" -#: src/editor/editcmd.c:921 src/editor/editcmd.c:980 +#: src/editor/editcmd.c:935 src/editor/editcmd.c:994 msgid "Save as" msgstr "" -#: src/editor/editcmd.c:923 +#: src/editor/editcmd.c:937 msgid "Cannot save: destination is not a regular file" msgstr "" -#: src/editor/editcmd.c:939 +#: src/editor/editcmd.c:953 msgid "A file already exists with this name" msgstr "" -#: src/editor/editcmd.c:939 +#: src/editor/editcmd.c:953 msgid "&Overwrite" msgstr "" -#: src/editor/editcmd.c:980 src/editor/editcmd.c:1760 +#: src/editor/editcmd.c:994 src/editor/editcmd.c:1711 msgid "Cannot save file" msgstr "" -#: src/editor/editcmd.c:1014 +#: src/editor/editcmd.c:1028 #, c-format msgid "Confirm save file: \"%s\"" msgstr "" -#: src/editor/editcmd.c:1016 src/viewer/hex.c:418 src/viewer/hex.c:430 +#: src/editor/editcmd.c:1030 src/viewer/hex.c:418 src/viewer/hex.c:430 msgid "Save file" msgstr "" -#: src/editor/editcmd.c:1016 src/editor/editmenu.c:80 src/learn.c:195 +#: src/editor/editcmd.c:1030 src/editor/editmenu.c:80 src/learn.c:195 #: src/learn.c:260 msgid "&Save" msgstr "" -#: src/editor/editcmd.c:1038 +#: src/editor/editcmd.c:1052 msgid "Load" msgstr "" -#: src/editor/editcmd.c:1121 +#: src/editor/editcmd.c:1135 msgid "Syntax file edit" msgstr "" -#: src/editor/editcmd.c:1122 +#: src/editor/editcmd.c:1136 msgid "Which syntax file you want to edit?" msgstr "" -#: src/editor/editcmd.c:1123 src/editor/editcmd.c:1169 +#: src/editor/editcmd.c:1137 src/editor/editcmd.c:1183 #: src/filemanager/cmd.c:834 src/filemanager/cmd.c:875 #: src/filemanager/cmd.c:933 msgid "&User" msgstr "" -#: src/editor/editcmd.c:1123 src/editor/editcmd.c:1169 +#: src/editor/editcmd.c:1137 src/editor/editcmd.c:1183 msgid "&System wide" msgstr "" -#: src/editor/editcmd.c:1167 src/filemanager/cmd.c:873 +#: src/editor/editcmd.c:1181 src/filemanager/cmd.c:873 msgid "Menu edit" msgstr "" -#: src/editor/editcmd.c:1168 src/filemanager/cmd.c:874 +#: src/editor/editcmd.c:1182 src/filemanager/cmd.c:874 msgid "Which menu file do you want to edit?" msgstr "" -#: src/editor/editcmd.c:1169 src/filemanager/cmd.c:875 +#: src/editor/editcmd.c:1183 src/filemanager/cmd.c:875 msgid "&Local" msgstr "" -#: src/editor/editcmd.c:1503 src/editor/editwidget.c:387 +#: src/editor/editcmd.c:1454 src/editor/editwidget.c:388 msgid "[NoName]" msgstr "" -#: src/editor/editcmd.c:1521 +#: src/editor/editcmd.c:1472 #, c-format msgid "" "File %s was modified.\n" "Save before close?" msgstr "" -#: src/editor/editcmd.c:1522 +#: src/editor/editcmd.c:1473 msgid "Close file" msgstr "" -#: src/editor/editcmd.c:1526 +#: src/editor/editcmd.c:1477 #, c-format msgid "" "Midnight Commander is being shut down.\n" "Save modified file %s?" msgstr "" -#: src/editor/editcmd.c:1626 +#: src/editor/editcmd.c:1577 msgid "This function is not implemented" msgstr "" -#: src/editor/editcmd.c:1641 +#: src/editor/editcmd.c:1592 msgid "Copy to clipboard" msgstr "" -#: src/editor/editcmd.c:1641 src/editor/editcmd.c:1665 +#: src/editor/editcmd.c:1592 src/editor/editcmd.c:1616 msgid "Unable to save to file" msgstr "" -#: src/editor/editcmd.c:1665 +#: src/editor/editcmd.c:1616 msgid "Cut to clipboard" msgstr "" -#: src/editor/editcmd.c:1709 +#: src/editor/editcmd.c:1660 msgid "Goto line" msgstr "" -#: src/editor/editcmd.c:1750 src/editor/editcmd.c:1760 +#: src/editor/editcmd.c:1701 src/editor/editcmd.c:1711 msgid "Save block" msgstr "" -#: src/editor/editcmd.c:1781 src/editor/editcmd.c:1796 +#: src/editor/editcmd.c:1732 src/editor/editcmd.c:1747 msgid "Insert file" msgstr "" -#: src/editor/editcmd.c:1796 +#: src/editor/editcmd.c:1747 msgid "Cannot insert file" msgstr "" -#: src/editor/editcmd.c:1817 +#: src/editor/editcmd.c:1768 msgid "Sort block" msgstr "" -#: src/editor/editcmd.c:1817 +#: src/editor/editcmd.c:1768 msgid "You must first highlight a block of text" msgstr "" -#: src/editor/editcmd.c:1825 +#: src/editor/editcmd.c:1776 msgid "Run sort" msgstr "" -#: src/editor/editcmd.c:1826 +#: src/editor/editcmd.c:1777 msgid "Enter sort options (see sort(1) manpage) separated by whitespace:" msgstr "" -#: src/editor/editcmd.c:1846 src/editor/editcmd.c:1853 +#: src/editor/editcmd.c:1797 src/editor/editcmd.c:1804 msgid "Sort" msgstr "" -#: src/editor/editcmd.c:1846 +#: src/editor/editcmd.c:1797 msgid "Cannot execute sort command" msgstr "" -#: src/editor/editcmd.c:1852 +#: src/editor/editcmd.c:1803 #, c-format msgid "Sort returned non-zero: %s" msgstr "" -#: src/editor/editcmd.c:1889 +#: src/editor/editcmd.c:1840 msgid "Paste output of external command" msgstr "" -#: src/editor/editcmd.c:1890 +#: src/editor/editcmd.c:1841 msgid "Enter shell command(s):" msgstr "" -#: src/editor/editcmd.c:1907 +#: src/editor/editcmd.c:1858 msgid "External command" msgstr "" -#: src/editor/editcmd.c:1907 +#: src/editor/editcmd.c:1858 msgid "Cannot execute command" msgstr "" -#: src/editor/editcmd.c:1952 +#: src/editor/editcmd.c:1903 msgid "mail -s -c " msgstr "" -#: src/editor/editcmd.c:1953 +#: src/editor/editcmd.c:1904 msgid "To" msgstr "" -#: src/editor/editcmd.c:1956 +#: src/editor/editcmd.c:1907 msgid "Subject" msgstr "" -#: src/editor/editcmd.c:1959 +#: src/editor/editcmd.c:1910 msgid "Copies to" msgstr "" -#: src/editor/editcmd.c:1970 +#: src/editor/editcmd.c:1921 msgid "Mail" msgstr "" -#: src/editor/editcmd.c:2004 +#: src/editor/editcmd.c:1955 msgid "Insert literal" msgstr "" -#: src/editor/editcmd.c:2005 +#: src/editor/editcmd.c:1956 msgid "Press any key:" msgstr "" -#: src/editor/editcmd.c:2016 src/editor/editcmd.c:2045 src/editor/etags.c:374 +#: src/editor/editcmd.c:1967 src/editor/editcmd.c:1996 src/editor/etags.c:374 msgid "" "Current text was modified without a file save.\n" "Continue discards these changes." msgstr "" -#: src/editor/editcmd.c:2098 +#: src/editor/editcmd.c:2049 msgid "Cancel" msgstr "" @@ -1609,7 +1613,7 @@ msgstr "" msgid "Collect completions" msgstr "" -#: src/editor/editdraw.c:256 src/editor/editwidget.c:333 +#: src/editor/editdraw.c:256 src/editor/editwidget.c:334 msgid "NoName" msgstr "" @@ -2039,8 +2043,8 @@ msgstr "" msgid "Enter replacement string:" msgstr "" -#: src/editor/editsearch.c:195 src/editor/editsearch.c:981 -#: src/editor/editsearch.c:1021 src/editor/editsearch.c:1033 +#: src/editor/editsearch.c:195 src/editor/editsearch.c:978 +#: src/editor/editsearch.c:1018 src/editor/editsearch.c:1030 msgid "Replace" msgstr "" @@ -2059,7 +2063,7 @@ msgstr "" #: src/editor/editsearch.c:251 src/editor/spell.c:748 #: src/filemanager/file.c:893 src/filemanager/file.c:966 -#: src/filemanager/file.c:969 src/filemanager/file.c:3175 +#: src/filemanager/file.c:969 src/filemanager/file.c:3180 #: src/filemanager/filegui.c:254 msgid "&Skip" msgstr "" @@ -2079,7 +2083,7 @@ msgstr "" msgid "Searching %s" msgstr "" -#: src/editor/editsearch.c:1033 +#: src/editor/editsearch.c:1030 #, c-format msgid "%ld replacements made" msgstr "" @@ -2091,18 +2095,18 @@ msgid "" msgstr "" #: src/editor/editwidget.c:155 -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" #: src/editor/editwidget.c:165 msgid "About" msgstr "" -#: src/editor/editwidget.c:324 +#: src/editor/editwidget.c:325 msgid "Open files" msgstr "" -#: src/editor/editwidget.c:391 src/editor/editwidget.c:394 +#: src/editor/editwidget.c:392 src/editor/editwidget.c:395 msgid "Edit: " msgstr "" @@ -2115,7 +2119,7 @@ msgid "ButtonBar|Replac" msgstr "" #: src/editor/editwidget.c:681 src/filemanager/filemanager.c:1638 -#: src/filemanager/tree.c:1174 +#: src/filemanager/tree.c:1181 msgid "ButtonBar|Copy" msgstr "" @@ -2251,31 +2255,31 @@ msgstr "" msgid "Select language" msgstr "" -#: src/editor/syntax.c:1428 +#: src/editor/syntax.c:1440 msgid "Choose syntax highlighting" msgstr "" -#: src/editor/syntax.c:1429 +#: src/editor/syntax.c:1441 msgid "< Auto >" msgstr "" -#: src/editor/syntax.c:1430 +#: src/editor/syntax.c:1442 msgid "< Reload Current Syntax >" msgstr "" -#: src/editor/syntax.c:1531 src/editor/syntax.c:1537 +#: src/editor/syntax.c:1543 src/editor/syntax.c:1549 msgid "Load syntax file" msgstr "" -#: src/editor/syntax.c:1532 src/help.c:1098 src/usermenu.c:986 -#: src/usermenu.c:1026 +#: src/editor/syntax.c:1544 src/help.c:1105 src/usermenu.c:999 +#: src/usermenu.c:1039 #, c-format msgid "" "Cannot open file %s\n" "%s" msgstr "" -#: src/editor/syntax.c:1538 +#: src/editor/syntax.c:1550 #, c-format msgid "Error in file %s on line %d" msgstr "" @@ -2288,7 +2292,7 @@ msgid "" "extra access permissions with the \"su\" command?" msgstr "" -#: src/execute.c:198 src/filemanager/ext.c:669 +#: src/execute.c:198 src/filemanager/ext.c:686 #, c-format msgid "Cannot fetch a local copy of %s" msgstr "" @@ -2358,8 +2362,8 @@ msgstr "" #: src/filemanager/achown.c:862 src/filemanager/achown.c:899 #: src/filemanager/chattr.c:1123 src/filemanager/chmod.c:441 -#: src/filemanager/chown.c:313 src/vfs/sftpfs/connection.c:521 -#: src/vfs/sftpfs/connection.c:533 +#: src/filemanager/chown.c:313 src/vfs/sftpfs/connection.c:562 +#: src/vfs/sftpfs/connection.c:574 msgid "&Ignore" msgstr "" @@ -2609,7 +2613,7 @@ msgid "Panel options" msgstr "" #: src/filemanager/boxes.c:749 src/filemanager/info.c:86 -#: src/vfs/sftpfs/connection.c:380 +#: src/vfs/sftpfs/connection.c:421 msgid "Information" msgstr "" @@ -2718,7 +2722,7 @@ msgstr "" msgid "Input / display codepage:" msgstr "" -#: src/filemanager/boxes.c:1090 src/filemanager/tree.c:1124 +#: src/filemanager/boxes.c:1090 src/filemanager/tree.c:1131 msgid "Directory tree" msgstr "" @@ -3212,26 +3216,26 @@ msgstr "" msgid "Unable to save setup to %s" msgstr "" -#: src/filemanager/command.c:119 src/usermenu.c:975 +#: src/filemanager/command.c:119 src/usermenu.c:988 msgid "Cannot execute commands on non-local filesystems" msgstr "" -#: src/filemanager/ext.c:257 src/usermenu.c:486 +#: src/filemanager/ext.c:257 src/usermenu.c:490 msgid "Parameter" msgstr "" -#: src/filemanager/ext.c:469 src/usermenu.c:457 +#: src/filemanager/ext.c:473 src/usermenu.c:461 #, c-format msgid "" "Cannot create temporary command file\n" "%s" msgstr "" -#: src/filemanager/ext.c:740 +#: src/filemanager/ext.c:757 msgid "Pipe failed" msgstr "" -#: src/filemanager/ext.c:776 +#: src/filemanager/ext.c:793 #, c-format msgid "" "You have an outdated %s file.\n" @@ -3239,7 +3243,7 @@ msgid "" "Please copy your modifications of the old file to the new one." msgstr "" -#: src/filemanager/ext.c:827 +#: src/filemanager/ext.c:844 #, c-format msgid "" "The format of the\n" @@ -3249,7 +3253,7 @@ msgid "" "Please fetch a fresh copy from the Midnight Commander package." msgstr "" -#: src/filemanager/ext.c:842 +#: src/filemanager/ext.c:859 #, c-format msgid "" "The format of the\n" @@ -3470,14 +3474,14 @@ msgid "" "%s" msgstr "" -#: src/filemanager/file.c:2411 src/filemanager/file.c:2779 +#: src/filemanager/file.c:2411 src/filemanager/file.c:2782 #, c-format msgid "" "Cannot chown target file \"%s\"\n" "%s" msgstr "" -#: src/filemanager/file.c:2426 src/filemanager/file.c:2795 +#: src/filemanager/file.c:2426 src/filemanager/file.c:2798 #, c-format msgid "" "Cannot chmod target file \"%s\"\n" @@ -3567,28 +3571,28 @@ msgid "" "%s" msgstr "" -#: src/filemanager/file.c:2860 +#: src/filemanager/file.c:2865 #, c-format msgid "" "Cannot stat source directory \"%s\"\n" "%s" msgstr "" -#: src/filemanager/file.c:2904 +#: src/filemanager/file.c:2909 #, c-format msgid "" "Source \"%s\" is not a directory\n" "%s" msgstr "" -#: src/filemanager/file.c:2916 +#: src/filemanager/file.c:2921 #, c-format msgid "" "Cannot copy cyclic symbolic link\n" "\"%s\"" msgstr "" -#: src/filemanager/file.c:2955 src/filemanager/file.c:3447 +#: src/filemanager/file.c:2960 src/filemanager/file.c:3452 #: src/filemanager/tree.c:769 #, c-format msgid "" @@ -3596,26 +3600,26 @@ msgid "" "%s" msgstr "" -#: src/filemanager/file.c:2988 +#: src/filemanager/file.c:2993 #, c-format msgid "" "Cannot create target directory \"%s\"\n" "%s" msgstr "" -#: src/filemanager/file.c:3012 +#: src/filemanager/file.c:3017 #, c-format msgid "" "Cannot chown target directory \"%s\"\n" "%s" msgstr "" -#: src/filemanager/file.c:3219 +#: src/filemanager/file.c:3224 #, c-format msgid "Directories: %zu, total size: %s" msgstr "" -#: src/filemanager/file.c:3365 +#: src/filemanager/file.c:3370 msgid "Sorry, I could not put the job in background" msgstr "" @@ -3753,7 +3757,7 @@ msgid "Deleting" msgstr "" #: src/filemanager/filegui.c:1373 src/filemanager/find.c:587 -#: src/filemanager/panel.c:2618 +#: src/filemanager/panel.c:2617 msgid "&Using shell patterns" msgstr "" @@ -4066,11 +4070,11 @@ msgstr "" msgid "ButtonBar|View" msgstr "" -#: src/filemanager/filemanager.c:1639 src/filemanager/tree.c:1175 +#: src/filemanager/filemanager.c:1639 src/filemanager/tree.c:1182 msgid "ButtonBar|RenMov" msgstr "" -#: src/filemanager/filemanager.c:1640 src/filemanager/tree.c:1178 +#: src/filemanager/filemanager.c:1640 src/filemanager/tree.c:1185 msgid "ButtonBar|Mkdir" msgstr "" @@ -4100,7 +4104,7 @@ msgid "Found: %lu" msgstr "" #: src/filemanager/find.c:510 src/filemanager/find.c:521 -#: src/filemanager/panel.c:2656 +#: src/filemanager/panel.c:2655 msgid "Malformed regular expression" msgstr "" @@ -4622,23 +4626,23 @@ msgstr "" msgid "Unknown tag on display format:" msgstr "" -#: src/filemanager/panel.c:2617 +#: src/filemanager/panel.c:2616 msgid "&Files only" msgstr "" -#: src/filemanager/panel.c:2620 +#: src/filemanager/panel.c:2619 msgid "&Case sensitive" msgstr "" -#: src/filemanager/panel.c:2710 +#: src/filemanager/panel.c:2709 msgid "Select" msgstr "" -#: src/filemanager/panel.c:2719 +#: src/filemanager/panel.c:2718 msgid "Unselect" msgstr "" -#: src/filemanager/panel.c:2749 +#: src/filemanager/panel.c:2748 msgid "Filter" msgstr "" @@ -4646,12 +4650,12 @@ msgstr "" msgid "Do you really want to execute?" msgstr "" -#: src/filemanager/panel.c:3430 src/filemanager/panel.c:4607 -#: src/filemanager/panel.c:4655 src/viewer/actions_cmd.c:314 +#: src/filemanager/panel.c:3432 src/filemanager/panel.c:4609 +#: src/filemanager/panel.c:4657 src/viewer/actions_cmd.c:310 msgid "Cannot read directory contents" msgstr "" -#: src/filemanager/panel.c:4709 +#: src/filemanager/panel.c:4711 msgid "User supplied format looks invalid, reverting to default." msgstr "" @@ -4744,23 +4748,23 @@ msgstr "" msgid "Delete %s?" msgstr "" -#: src/filemanager/tree.c:981 src/filemanager/tree.c:1172 +#: src/filemanager/tree.c:981 src/filemanager/tree.c:1179 msgid "ButtonBar|Static" msgstr "" -#: src/filemanager/tree.c:981 src/filemanager/tree.c:1173 +#: src/filemanager/tree.c:981 src/filemanager/tree.c:1180 msgid "ButtonBar|Dynamc" msgstr "" -#: src/filemanager/tree.c:1170 +#: src/filemanager/tree.c:1177 msgid "ButtonBar|Rescan" msgstr "" -#: src/filemanager/tree.c:1171 +#: src/filemanager/tree.c:1178 msgid "ButtonBar|Forget" msgstr "" -#: src/filemanager/tree.c:1182 +#: src/filemanager/tree.c:1189 msgid "ButtonBar|Rmdir" msgstr "" @@ -4771,28 +4775,28 @@ msgid "" "%s\n" msgstr "" -#: src/help.c:325 +#: src/help.c:327 msgid "Help file format error\n" msgstr "" -#: src/help.c:363 +#: src/help.c:365 msgid "Internal bug: Double start of link area" msgstr "" -#: src/help.c:635 src/help.c:1120 +#: src/help.c:642 src/help.c:1127 #, c-format msgid "Cannot find node %s in help file" msgstr "" -#: src/help.c:1135 +#: src/help.c:1142 msgid "Help" msgstr "" -#: src/help.c:1165 +#: src/help.c:1171 msgid "ButtonBar|Index" msgstr "" -#: src/help.c:1166 +#: src/help.c:1172 msgid "ButtonBar|Prev" msgstr "" @@ -4861,7 +4865,7 @@ msgid "" "%s\n" msgstr "" -#: src/main.c:287 +#: src/main.c:294 msgid "Home directory path is not absolute" msgstr "" @@ -5038,57 +5042,57 @@ msgstr "" msgid "Cache directory:" msgstr "" -#: src/usermenu.c:330 +#: src/usermenu.c:334 msgid "Debug" msgstr "" -#: src/usermenu.c:347 +#: src/usermenu.c:351 msgid "ERROR:" msgstr "" -#: src/usermenu.c:351 +#: src/usermenu.c:355 msgid "True:" msgstr "" -#: src/usermenu.c:353 +#: src/usermenu.c:357 msgid "False:" msgstr "" -#: src/usermenu.c:586 +#: src/usermenu.c:596 msgid "Error calling program" msgstr "" -#: src/usermenu.c:614 +#: src/usermenu.c:624 msgid "Warning -- ignoring file" msgstr "" -#: src/usermenu.c:615 +#: src/usermenu.c:625 #, c-format msgid "" "File %s is not owned by root or you or is world writable.\n" "Using it may compromise your security" msgstr "" -#: src/usermenu.c:727 +#: src/usermenu.c:737 msgid "Format error on file Extensions File" msgstr "" -#: src/usermenu.c:728 +#: src/usermenu.c:738 #, c-format msgid "The %%var macro has no default" msgstr "" -#: src/usermenu.c:729 +#: src/usermenu.c:739 #, c-format msgid "The %%var macro has no variable" msgstr "" -#: src/usermenu.c:1132 +#: src/usermenu.c:1145 #, c-format msgid "No suitable entries found in %s" msgstr "" -#: src/usermenu.c:1146 +#: src/usermenu.c:1159 msgid "User menu" msgstr "" @@ -5147,93 +5151,35 @@ msgid "" "%s" msgstr "" -#: src/vfs/extfs/extfs.c:753 src/vfs/extfs/extfs.c:951 -#: src/vfs/extfs/extfs.c:961 src/vfs/extfs/extfs.c:966 +#: src/vfs/extfs/extfs.c:753 src/vfs/extfs/extfs.c:979 +#: src/vfs/extfs/extfs.c:989 src/vfs/extfs/extfs.c:994 #, c-format msgid "" "EXTFS virtual file system:\n" "%s" msgstr "" -#: src/vfs/extfs/extfs.c:1549 -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#: src/vfs/fish/fish.c:384 -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -#: src/vfs/fish/fish.c:569 -msgid "fish: Waiting for initial line..." -msgstr "" - -#: src/vfs/fish/fish.c:579 -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#: src/vfs/fish/fish.c:587 -#, c-format -msgid "fish: Password is required for %s" -msgstr "" - -#: src/vfs/fish/fish.c:595 -msgid "fish: Sending password..." -msgstr "" - -#: src/vfs/fish/fish.c:632 -msgid "fish: Sending initial line..." -msgstr "" - -#: src/vfs/fish/fish.c:643 -msgid "fish: Handshaking version..." -msgstr "" - -#: src/vfs/fish/fish.c:654 -msgid "fish: Getting host info..." -msgstr "" - -#: src/vfs/fish/fish.c:933 -#, c-format -msgid "fish: Reading directory %s..." +#: src/vfs/extfs/extfs.c:932 +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#: src/vfs/fish/fish.c:978 src/vfs/ftpfs/ftpfs.c:1914 -#: src/vfs/undelfs/undelfs.c:382 -#, c-format -msgid "%s: done." +#: src/vfs/extfs/extfs.c:945 +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#: src/vfs/fish/fish.c:985 src/vfs/ftpfs/ftpfs.c:1862 -#: src/vfs/undelfs/undelfs.c:385 -#, c-format -msgid "%s: failure" +#: src/vfs/extfs/extfs.c:969 +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" -#: src/vfs/fish/fish.c:1043 +#: src/vfs/extfs/extfs.c:1577 #, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -#: src/vfs/fish/fish.c:1067 -msgid "fish: Local read failed, sending zeros" -msgstr "" - -#: src/vfs/fish/fish.c:1086 -msgid "fish: storing file" -msgstr "" - -#: src/vfs/fish/fish.c:1156 -msgid "Aborting transfer..." -msgstr "" - -#: src/vfs/fish/fish.c:1172 -msgid "Error reported after abort." -msgstr "" - -#: src/vfs/fish/fish.c:1174 -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #: src/vfs/ftpfs/ftpfs.c:588 @@ -5378,6 +5324,18 @@ msgstr "" msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#: src/vfs/ftpfs/ftpfs.c:1862 src/vfs/shell/shell.c:979 +#: src/vfs/undelfs/undelfs.c:385 +#, c-format +msgid "%s: failure" +msgstr "" + +#: src/vfs/ftpfs/ftpfs.c:1914 src/vfs/shell/shell.c:972 +#: src/vfs/undelfs/undelfs.c:382 +#, c-format +msgid "%s: done." +msgstr "" + #: src/vfs/ftpfs/ftpfs.c:2004 msgid "ftpfs: storing file" msgstr "" @@ -5423,42 +5381,42 @@ msgstr "" msgid "sftp: Unable to get current user name." msgstr "" -#: src/vfs/sftpfs/connection.c:116 src/vfs/sftpfs/sftpfs.c:745 +#: src/vfs/sftpfs/connection.c:147 src/vfs/sftpfs/sftpfs.c:745 msgid "sftp: Invalid host name." msgstr "" -#: src/vfs/sftpfs/connection.c:148 src/vfs/sftpfs/connection.c:188 +#: src/vfs/sftpfs/connection.c:179 src/vfs/sftpfs/connection.c:219 #, c-format msgid "sftp: %s" msgstr "" -#: src/vfs/sftpfs/connection.c:176 +#: src/vfs/sftpfs/connection.c:207 msgid "sftp: failed to convert remote host IP address into text form" msgstr "" -#: src/vfs/sftpfs/connection.c:193 +#: src/vfs/sftpfs/connection.c:224 #, c-format msgid "sftp: making connection to %s" msgstr "" -#: src/vfs/sftpfs/connection.c:203 +#: src/vfs/sftpfs/connection.c:234 msgid "sftp: connection interrupted by user" msgstr "" -#: src/vfs/sftpfs/connection.c:205 +#: src/vfs/sftpfs/connection.c:236 #, c-format msgid "sftp: connection to server failed: %s" msgstr "" -#: src/vfs/sftpfs/connection.c:321 +#: src/vfs/sftpfs/connection.c:355 msgid "sftp: found host key of unsupported type: RSA1" msgstr "" -#: src/vfs/sftpfs/connection.c:324 +#: src/vfs/sftpfs/connection.c:358 msgid "sftp: unknown host key type:" msgstr "" -#: src/vfs/sftpfs/connection.c:381 +#: src/vfs/sftpfs/connection.c:422 #, c-format msgid "" "Permanently added\n" @@ -5466,19 +5424,19 @@ msgid "" "to the list of known hosts." msgstr "" -#: src/vfs/sftpfs/connection.c:445 +#: src/vfs/sftpfs/connection.c:486 msgid "sftp: cannot get the remote host key" msgstr "" -#: src/vfs/sftpfs/connection.c:485 +#: src/vfs/sftpfs/connection.c:526 msgid "sftp: unsupported key type, can't check remote host key" msgstr "" -#: src/vfs/sftpfs/connection.c:492 +#: src/vfs/sftpfs/connection.c:533 msgid "sftp: can't compute host key fingerprint hash" msgstr "" -#: src/vfs/sftpfs/connection.c:514 +#: src/vfs/sftpfs/connection.c:555 #, c-format msgid "" "The authenticity of host\n" @@ -5489,7 +5447,7 @@ msgid "" "Do you want to add it to the list of known hosts and continue connecting?" msgstr "" -#: src/vfs/sftpfs/connection.c:527 +#: src/vfs/sftpfs/connection.c:568 #, c-format msgid "" "%s (%s)\n" @@ -5499,29 +5457,29 @@ msgid "" "connecting?" msgstr "" -#: src/vfs/sftpfs/connection.c:554 +#: src/vfs/sftpfs/connection.c:595 msgid "sftp: host key verification failed" msgstr "" -#: src/vfs/sftpfs/connection.c:690 +#: src/vfs/sftpfs/connection.c:731 #, c-format msgid "sftp: Enter passphrase for %s " msgstr "" -#: src/vfs/sftpfs/connection.c:695 +#: src/vfs/sftpfs/connection.c:736 msgid "sftp: Passphrase is empty." msgstr "" -#: src/vfs/sftpfs/connection.c:800 +#: src/vfs/sftpfs/connection.c:841 #, c-format msgid "sftp: Enter password for %s " msgstr "" -#: src/vfs/sftpfs/connection.c:805 +#: src/vfs/sftpfs/connection.c:846 msgid "sftp: Password is empty." msgstr "" -#: src/vfs/sftpfs/connection.c:886 +#: src/vfs/sftpfs/connection.c:927 msgid "sftp: failure establishing SSH session" msgstr "" @@ -5543,30 +5501,90 @@ msgstr "" msgid "sftp: Listing done." msgstr "" -#: src/vfs/tar/tar.c:661 src/vfs/tar/tar.c:734 src/vfs/tar/tar.c:829 -#: src/vfs/tar/tar-internal.c:411 +#: src/vfs/shell/shell.c:385 +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +#: src/vfs/shell/shell.c:570 +msgid "shell: Waiting for initial line..." +msgstr "" + +#: src/vfs/shell/shell.c:580 +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#: src/vfs/shell/shell.c:588 +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +#: src/vfs/shell/shell.c:597 +msgid "shell: Sending password..." +msgstr "" + +#: src/vfs/shell/shell.c:634 +msgid "shell: Sending initial line..." +msgstr "" + +#: src/vfs/shell/shell.c:643 +msgid "shell: Getting host info..." +msgstr "" + +#: src/vfs/shell/shell.c:926 +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#: src/vfs/shell/shell.c:1037 +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +#: src/vfs/shell/shell.c:1061 +msgid "shell: Local read failed, sending zeros" +msgstr "" + +#: src/vfs/shell/shell.c:1080 +msgid "shell: storing file" +msgstr "" + +#: src/vfs/shell/shell.c:1150 +msgid "Aborting transfer..." +msgstr "" + +#: src/vfs/shell/shell.c:1166 +msgid "Error reported after abort." +msgstr "" + +#: src/vfs/shell/shell.c:1168 +msgid "Aborted transfer would be successful." +msgstr "" + +#: src/vfs/tar/tar.c:655 src/vfs/tar/tar.c:728 src/vfs/tar/tar.c:823 +#: src/vfs/tar/tar-internal.c:418 msgid "Inconsistent tar archive" msgstr "" -#: src/vfs/tar/tar.c:691 src/vfs/tar/tar.c:714 +#: src/vfs/tar/tar.c:685 src/vfs/tar/tar.c:708 msgid "Unexpected EOF on archive file" msgstr "" -#: src/vfs/tar/tar.c:916 src/vfs/tar/tar.c:938 +#: src/vfs/tar/tar.c:910 src/vfs/tar/tar.c:932 #, c-format msgid "" "Cannot open tar archive\n" "%s" msgstr "" -#: src/vfs/tar/tar.c:998 src/vfs/tar/tar.c:1023 +#: src/vfs/tar/tar.c:992 src/vfs/tar/tar.c:1017 #, c-format msgid "" "%s\n" "doesn't look like a tar archive" msgstr "" -#: src/vfs/tar/tar-internal.c:166 +#: src/vfs/tar/tar-internal.c:165 msgid "tar: mc_lseek not stopped at a record boundary" msgstr "" @@ -5659,19 +5677,19 @@ msgstr "" msgid "Ext2lib error" msgstr "" -#: src/viewer/actions_cmd.c:444 +#: src/viewer/actions_cmd.c:434 msgid "Invalid value" msgstr "" -#: src/viewer/actions_cmd.c:643 +#: src/viewer/actions_cmd.c:633 msgid "File was modified. Save with exit?" msgstr "" -#: src/viewer/actions_cmd.c:644 +#: src/viewer/actions_cmd.c:634 msgid "&Cancel quit" msgstr "" -#: src/viewer/actions_cmd.c:649 +#: src/viewer/actions_cmd.c:639 msgid "" "Midnight Commander is being shut down.\n" "Save modified file?" diff --git a/mcsrc/po/mn.po b/mcsrc/po/mn.po index d41fe8d..ea1aef3 100644 --- a/mcsrc/po/mn.po +++ b/mcsrc/po/mn.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Shuree Nyam-Oidov <99shuree@gmail.com>, 2020\n" "Language-Team: Mongolian (http://app.transifex.com/mc/mc/language/mn/)\n" @@ -707,7 +707,8 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1543,7 +1544,7 @@ msgid "" "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3934,67 +3935,25 @@ msgid "" "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: %s Ð°Ð°Ñ Ñалгагдаж байна" - -msgid "fish: Waiting for initial line..." -msgstr "fish: ЭхлÑл мөрийг хүлÑÑж байна..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Уучлаарай, Бид ÑÐ½Ñ Ñ…Ð¾Ð»Ð±Ð¾Ð»Ñ‚Ð¾Ð´ нууц үг ашиглаж чадахгүй байна." - -#, c-format -msgid "fish: Password is required for %s" +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -msgid "fish: Sending password..." -msgstr "fish: Ðууц үгийг илгÑÑж байна..." - -msgid "fish: Sending initial line..." -msgstr "fish: ÑхлÑл мөрийг илгÑÑж байна..." - -msgid "fish: Handshaking version..." -msgstr "fish: Handshaking version..." - -msgid "fish: Getting host info..." +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: %s лавлахыг уншиж байна..." - -#, c-format -msgid "%s: done." -msgstr "%s: дууÑÑан." - -#, c-format -msgid "%s: failure" -msgstr "%s: алдаа" - -#, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: %s ÑÑргÑÑÑ…: командыг илгÑÑж байна..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: локал уншилт бүтÑÑнгүй, Ñ‚Ñгийг илгÑÑж байна" - -msgid "fish: storing file" +msgid "Warning: cannot open %s directory\n" msgstr "" -msgid "Aborting transfer..." -msgstr "Дамжуулалтыг таÑлаж байна..." - -msgid "Error reported after abort." -msgstr "ТаÑлалтын дараа алдаа илтгÑгдлÑÑ." - -msgid "Aborted transfer would be successful." -msgstr "ТаÑлагдÑан дамжуулалт дууÑÑан ч байж магадгүй." - #, c-format msgid "ftpfs: Disconnecting from %s" msgstr "ftpfs: %s ÑÑÑ Ñалгагдаж байна" @@ -4105,6 +4064,14 @@ msgstr "(ÑхлÑл chdir)" msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: алдаа; оÑлын горимд хаашаа ч шилжих боломжгүй" +#, c-format +msgid "%s: failure" +msgstr "%s: алдаа" + +#, c-format +msgid "%s: done." +msgstr "%s: дууÑÑан." + msgid "ftpfs: storing file" msgstr "" @@ -4242,6 +4209,52 @@ msgstr "" msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Уучлаарай, Бид ÑÐ½Ñ Ñ…Ð¾Ð»Ð±Ð¾Ð»Ñ‚Ð¾Ð´ нууц үг ашиглаж чадахгүй байна." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Дамжуулалтыг таÑлаж байна..." + +msgid "Error reported after abort." +msgstr "ТаÑлалтын дараа алдаа илтгÑгдлÑÑ." + +msgid "Aborted transfer would be successful." +msgstr "ТаÑлагдÑан дамжуулалт дууÑÑан ч байж магадгүй." + msgid "Inconsistent tar archive" msgstr "Ðлдаатай архив tar" diff --git a/mcsrc/po/nb.po b/mcsrc/po/nb.po index fb2c90d..63871b3 100644 --- a/mcsrc/po/nb.po +++ b/mcsrc/po/nb.po @@ -3,16 +3,17 @@ # This file is distributed under the same license as the mc package. # # Translators: -# heskjestad , 2021-2023 -# heskjestad , 2019-2021 +# heskjestad , 2021-2023 +# heskjestad , 2024 +# heskjestad , 2019-2021 # Slava Zanko , 2011 msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 20:47+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" -"Last-Translator: heskjestad , 2021-2023\n" +"Last-Translator: heskjestad , 2024\n" "Language-Team: Norwegian BokmÃ¥l (http://app.transifex.com/mc/mc/language/" "nb/)\n" "Language: nb\n" @@ -740,30 +741,32 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors NØKKELORD={FORGR},{BAKGR},{ATTR}:NØKKELORD2=...\n" +"--colors NØKKELORD={FORAN},{BAK},{ATTR}:NØKKELORD2=...\n" "\n" -"{FORGR}, {BAKGR} og {ATTR} kan utelates for Ã¥ bruke forvalgte verdier\n" +"{FORAN}, {BAK} and {ATTR} kan utelates for Ã¥ ta i bruk standardverdier\n" "\n" " Nøkkelord:\n" -" Globale: errors, disabled, reverse, gauge, header\n" +" Globale: errors, disabled, reverse, gauge, header\n" " input, inputmark, inputunchanged, commandlinemark\n" " bbarhotkey, bbarbutton, statusbar\n" -" Filvisning: normal, selected, marked, markselect\n" -" Dialogbokser: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" +" Filvisning: normal, selected, marked, markselect\n" +" Dialogvinduer: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" " errdhotfocus\n" -" Menyer: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" Sprettoppmenyer: pmenunormal, pmenusel, pmenutitle\n" -" Tekstprogram: editnormal, editbold, editmarked, editwhitespace,\n" +" Menyer: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" +" Sprettoppmenyer: pmenunormal, pmenusel, pmenutitle\n" +" Redigering: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" -" Tekstviser: viewnormal,viewbold, viewunderline, viewselected\n" -" Hjelp: helpnormal, helpitalic, helpbold, helplink, helpslink\n" +" Visning: viewnormal,viewbold, viewunderline, viewselected\n" +" Hjelp: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1634,8 +1637,8 @@ msgstr "" "Et brukervennlig skriveprogram\n" "skrevet for Midnight Commander." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" -msgstr "Opphavsrett (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" +msgstr "Opphavsrett (C) 1996-2024 Free Software Foundation" msgid "About" msgstr "Om" @@ -4172,66 +4175,30 @@ msgstr "" "EXTFS virtuelt filsystem:\n" "%s" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Advarsel: Klarte ikke Ã¥pne mappa %s\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: Kobler fra %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: Venter pÃ¥ innledende linje ..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Passordautentisering av tilkoblinger støttes ikke per i dag." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: Trenger passord for %s" - -msgid "fish: Sending password..." -msgstr "fish: Sender passord ..." - -msgid "fish: Sending initial line..." -msgstr "fish: Sender innledende linje ..." - -msgid "fish: Handshaking version..." -msgstr "fish: Avklarer versjon ..." - -msgid "fish: Getting host info..." -msgstr "fish: Henter vertsinformasjon ..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: Leser mappa %s ..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" +msgstr "" +"EXTFS virtuelt filsystem:\n" +"feil filnavn" -#, c-format -msgid "%s: done." -msgstr "%s: ferdig." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" +"EXTFS virtuelt filsystem:\n" +"feil arkivnavn" -#, c-format -msgid "%s: failure" -msgstr " %s: mislyktes" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" +"EXTFS virtuelt filsystem:\n" +"kan ikke kjøre kommando" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: lagre %s: sender kommando ..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: Lokal lesekommando mislyktes, sender nuller" - -msgid "fish: storing file" -msgstr "fish: lagrer fil" - -msgid "Aborting transfer..." -msgstr "Avbryter overføring ..." - -msgid "Error reported after abort." -msgstr "Feil rapportert etter avbrudd." - -msgid "Aborted transfer would be successful." -msgstr "Avbrutt overføring ville vært i orden." +msgid "Warning: cannot open %s directory\n" +msgstr "Advarsel: Klarte ikke Ã¥pne mappa %s\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4343,6 +4310,14 @@ msgstr "(chdir først)" msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: mislyktes; ingen retrettmuligheter" +#, c-format +msgid "%s: failure" +msgstr " %s: mislyktes" + +#, c-format +msgid "%s: done." +msgstr "%s: ferdig." + msgid "ftpfs: storing file" msgstr "ftpfs: lagrer fil" @@ -4501,6 +4476,52 @@ msgstr "sftp: (Ctrl + G avbryter) Lister ut ... %s" msgid "sftp: Listing done." msgstr "sftp: Utlisting ferdig." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "skall: Kobler fra %s" + +msgid "shell: Waiting for initial line..." +msgstr "skall: Venter pÃ¥ innledende linje ..." + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Passordautentisering av tilkoblinger støttes ikke per i dag." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "skall: Trenger passord for %s" + +msgid "shell: Sending password..." +msgstr "skall: Sender passord ..." + +msgid "shell: Sending initial line..." +msgstr "skall: Sender innledende linje ..." + +msgid "shell: Getting host info..." +msgstr "skall: Henter vertsinformasjon ..." + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "skall: Leser mappa %s ..." + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "skall: lagre %s: sender kommando ..." + +msgid "shell: Local read failed, sending zeros" +msgstr "skall: Lokal lesekommando mislyktes, sender nuller" + +msgid "shell: storing file" +msgstr "skall: lagrer fil" + +msgid "Aborting transfer..." +msgstr "Avbryter overføring ..." + +msgid "Error reported after abort." +msgstr "Feil rapportert etter avbrudd." + +msgid "Aborted transfer would be successful." +msgstr "Avbrutt overføring ville vært i orden." + msgid "Inconsistent tar archive" msgstr "Inkonsistent tar-arkiv" diff --git a/mcsrc/po/nl.po b/mcsrc/po/nl.po index e2792b9..cf28342 100644 --- a/mcsrc/po/nl.po +++ b/mcsrc/po/nl.po @@ -15,7 +15,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Jaap Kramer , 2023\n" "Language-Team: Dutch (http://app.transifex.com/mc/mc/language/nl/)\n" @@ -739,30 +739,13 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors KEYWORD={FORE},{BACK},{ATTR}:KEYWORD2=...\n" -"\n" -"{FORE}, {BACK} and {ATTR} can be omitted, and the default will be used\n" -"\n" -" Keywords:\n" -" Global: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" File display: normal, selected, marked, markselect\n" -" Dialog boxes: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" -" errdhotfocus\n" -" Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" Viewer: viewnormal,viewbold, viewunderline, viewselected\n" -" Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1627,7 +1610,7 @@ msgstr "" "Een gebruikersvriendelijke tekstbewerker\n" "geschreven voor de Midnight Commander" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -4157,67 +4140,24 @@ msgstr "" "EXTFS virtueel bestandssysteem:\n" "%s" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Waarschuwing: kan map %s niet openen\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: Verbinding verbreken met %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: Wachten op initiële lijn..." - -msgid "Sorry, we cannot do password authenticated connections for now." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -"Helaas, wachtwoord-beveiligde verbindingen zijn op dit moment niet mogelijk." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: Wachtwoord is verplicht voor %s" - -msgid "fish: Sending password..." -msgstr "fish: Wachtwoord wordt verstuurd..." - -msgid "fish: Sending initial line..." -msgstr "fish: Initiële lijn wordt verstuurd..." - -msgid "fish: Handshaking version..." -msgstr "fish: Versie handshaking..." - -msgid "fish: Getting host info..." -msgstr "fish: Verkrijgen van host-informatie..." -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: Map %s wordt gelezen..." - -#, c-format -msgid "%s: done." -msgstr "%s: voltooid." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" -#, c-format -msgid "%s: failure" -msgstr " %s: fout " +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: bewaar %s: opdracht verzenden..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fisch: Lokale leesopdracht mislukt, nullen worden verzonden" - -msgid "fish: storing file" -msgstr "fish: opslaan van bestand" - -msgid "Aborting transfer..." -msgstr "Overdracht wordt verbroken..." - -msgid "Error reported after abort." -msgstr "Fout gemeld na verbreking." - -msgid "Aborted transfer would be successful." -msgstr "Verbroken transfer zou een success zijn." +msgid "Warning: cannot open %s directory\n" +msgstr "Waarschuwing: kan map %s niet openen\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4329,6 +4269,14 @@ msgstr "(eerst chdir)" msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: mislukt; geen terugvalmogelijkheid " +#, c-format +msgid "%s: failure" +msgstr " %s: fout " + +#, c-format +msgid "%s: done." +msgstr "%s: voltooid." + msgid "ftpfs: storing file" msgstr "ftpfs: bestand opslaan" @@ -4485,6 +4433,53 @@ msgstr "sftp: (Ctrl-G break) Weergave lijst... %s" msgid "sftp: Listing done." msgstr "sftp: Klaar met opsomming." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" +"Helaas, wachtwoord-beveiligde verbindingen zijn op dit moment niet mogelijk." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Overdracht wordt verbroken..." + +msgid "Error reported after abort." +msgstr "Fout gemeld na verbreking." + +msgid "Aborted transfer would be successful." +msgstr "Verbroken transfer zou een success zijn." + msgid "Inconsistent tar archive" msgstr "Inconsistent tar-archief" diff --git a/mcsrc/po/nl_BE.po b/mcsrc/po/nl_BE.po index 8f2258e..58a5578 100644 --- a/mcsrc/po/nl_BE.po +++ b/mcsrc/po/nl_BE.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Dutch (Belgium) (http://app.transifex.com/mc/mc/language/" @@ -704,7 +704,8 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1540,7 +1541,7 @@ msgid "" "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3901,65 +3902,23 @@ msgid "" "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "" - -msgid "fish: Sending password..." -msgstr "" - -msgid "fish: Sending initial line..." -msgstr "" - -msgid "fish: Handshaking version..." -msgstr "" - -msgid "fish: Getting host info..." -msgstr "" - -#, c-format -msgid "fish: Reading directory %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "%s: done." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "%s: failure" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #, c-format @@ -4072,6 +4031,14 @@ msgstr "" msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "" + +#, c-format +msgid "%s: done." +msgstr "" + msgid "ftpfs: storing file" msgstr "" @@ -4205,6 +4172,52 @@ msgstr "" msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" diff --git a/mcsrc/po/pl.po b/mcsrc/po/pl.po index e8f499f..b107882 100644 --- a/mcsrc/po/pl.po +++ b/mcsrc/po/pl.po @@ -3,16 +3,16 @@ # This file is distributed under the same license as the mc package. # # Translators: -# Piotr DrÄ…g , 2011-2023 +# Piotr DrÄ…g , 2011-2024 # Slava Zanko , 2011 # Waldemar Stoczkowski, 2021 msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" -"Last-Translator: Piotr DrÄ…g , 2011-2023\n" +"Last-Translator: Piotr DrÄ…g , 2011-2024\n" "Language-Team: Polish (http://app.transifex.com/mc/mc/language/pl/)\n" "Language: pl\n" "MIME-Version: 1.0\n" @@ -743,15 +743,16 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors KEYWORD={TEKST},{TÅO},{ATR}:SÅOWO_KLUCZOWE2=…\n" +"--colors SÅOWO_KLUCZOWE={TEKST},{TÅO},{ATR}:SÅOWO_KLUCZOWE2=…\n" "\n" -"{TEKST}, {TÅO} i {ATR} można pominąć, zostanÄ… użyte wartoÅ›ci domyÅ›lne\n" +"{TEKST}, {TÅO} i {ATR} można pominąć, zostanÄ… użyte wartoÅ›ci domyÅ›lne\n" "\n" " SÅ‚owa kluczowe:\n" " Globalne: errors, disabled, reverse, gauge, header\n" @@ -761,8 +762,9 @@ msgstr "" " Okna dialogowe: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" " errdhotfocus\n" " Menu: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" Menu wyskakujÄ…ce: pmenunormal, pmenusel, pmenutitle\n" -" Edytor: editnormal, editbold, editmarked, editwhitespace,\n" +" Menu wyskakujÄ…ce: pmenunormal, pmenusel, pmenutitle\n" +" Edytor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " PrzeglÄ…darka: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1637,8 +1639,8 @@ msgstr "" "Åatwy w obsÅ‚udze edytor tekstu,\n" "napisany dla programu Midnight Commander." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" -msgstr "Copyright © 1996-2023 Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" +msgstr "Copyright © 1996-2024 Free Software Foundation" msgid "About" msgstr "O programie" @@ -4186,66 +4188,30 @@ msgstr "" "Wirtualny system plików EXTFS:\n" "%s" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Ostrzeżenie: nie można utworzyć katalogu %s\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: rozÅ‚Ä…czanie z %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: oczekiwanie na wiersz poczÄ…tkowy…" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "PoÅ‚Ä…czenia uwierzytelniane hasÅ‚em nie sÄ… na razie obsÅ‚ugiwane." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: wymagane jest hasÅ‚o dla %s" - -msgid "fish: Sending password..." -msgstr "fish: wysyÅ‚anie hasÅ‚a…" - -msgid "fish: Sending initial line..." -msgstr "fish: wysyÅ‚anie wiersza poczÄ…tkowego…" - -msgid "fish: Handshaking version..." -msgstr "fish: ustalanie wersji…" - -msgid "fish: Getting host info..." -msgstr "fish: pobieranie informacji o komputerze…" - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: odczytywanie katalogu %s…" +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" +msgstr "" +"Wirtualny system plików EXTFS:\n" +"bÅ‚Ä™dna nazwa pliku" -#, c-format -msgid "%s: done." -msgstr "%s: ukoÅ„czono." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" +"Wirtualny system plików EXTFS:\n" +"bÅ‚Ä™dna nazwa archiwum" -#, c-format -msgid "%s: failure" -msgstr "%s: niepowodzenie" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" +"Wirtualny system plików EXTFS:\n" +"nie można zbudować polecenia" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: zapis %s: wysyÅ‚anie polecenia…" - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: lokalny odczyt siÄ™ nie powiódÅ‚, wysyÅ‚anie zer" - -msgid "fish: storing file" -msgstr "fish: wysyÅ‚anie pliku" - -msgid "Aborting transfer..." -msgstr "Przerywanie przesyÅ‚ania…" - -msgid "Error reported after abort." -msgstr "ZgÅ‚oszono bÅ‚Ä…d po przerwaniu." - -msgid "Aborted transfer would be successful." -msgstr "Przerwane przesyÅ‚anie zostaÅ‚oby pomyÅ›lnie zakoÅ„czone." +msgid "Warning: cannot open %s directory\n" +msgstr "Ostrzeżenie: nie można utworzyć katalogu %s\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4357,6 +4323,14 @@ msgstr "(najpierw chdir)" msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: niepowodzenie; brak możliwoÅ›ci wycofania" +#, c-format +msgid "%s: failure" +msgstr "%s: niepowodzenie" + +#, c-format +msgid "%s: done." +msgstr "%s: ukoÅ„czono." + msgid "ftpfs: storing file" msgstr "ftpfs: wysyÅ‚anie pliku" @@ -4515,6 +4489,52 @@ msgstr "sftp: (Ctrl-G przerywa) wyÅ›wietlanie listy… %s" msgid "sftp: Listing done." msgstr "sftp: ukoÅ„czono wyÅ›wietlanie listy." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "powÅ‚oka: rozÅ‚Ä…czanie z %s" + +msgid "shell: Waiting for initial line..." +msgstr "powÅ‚oka: oczekiwanie na wiersz poczÄ…tkowy…" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "PoÅ‚Ä…czenia uwierzytelniane hasÅ‚em nie sÄ… na razie obsÅ‚ugiwane." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "powÅ‚oka: wymagane jest hasÅ‚o dla %s" + +msgid "shell: Sending password..." +msgstr "powÅ‚oka: wysyÅ‚anie hasÅ‚a…" + +msgid "shell: Sending initial line..." +msgstr "powÅ‚oka: wysyÅ‚anie wiersza poczÄ…tkowego…" + +msgid "shell: Getting host info..." +msgstr "powÅ‚oka: pobieranie informacji o komputerze…" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "powÅ‚oka: odczytywanie katalogu %s…" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "powÅ‚oka: zapis %s: wysyÅ‚anie polecenia…" + +msgid "shell: Local read failed, sending zeros" +msgstr "powÅ‚oka: lokalny odczyt siÄ™ nie powiódÅ‚, wysyÅ‚anie zer" + +msgid "shell: storing file" +msgstr "powÅ‚oka: wysyÅ‚anie pliku" + +msgid "Aborting transfer..." +msgstr "Przerywanie przesyÅ‚ania…" + +msgid "Error reported after abort." +msgstr "ZgÅ‚oszono bÅ‚Ä…d po przerwaniu." + +msgid "Aborted transfer would be successful." +msgstr "Przerwane przesyÅ‚anie zostaÅ‚oby pomyÅ›lnie zakoÅ„czone." + msgid "Inconsistent tar archive" msgstr "Niespójne archiwum tar" diff --git a/mcsrc/po/pt.po b/mcsrc/po/pt.po index eefd494..c57fc0c 100644 --- a/mcsrc/po/pt.po +++ b/mcsrc/po/pt.po @@ -5,16 +5,16 @@ # Translators: # Gilberto J <2101458@my.ipleiria.pt>, 2012 # Gilberto Jorge , 2012-2013 -# Gilberto Jorge , 2013-2023 +# Gilberto Jorge , 2013-2024 # Peter J. Mello , 2021 # Slava Zanko , 2011 msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" -"Last-Translator: Gilberto Jorge , 2013-2023\n" +"Last-Translator: Gilberto Jorge , 2013-2024\n" "Language-Team: Portuguese (http://app.transifex.com/mc/mc/language/pt/)\n" "Language: pt\n" "MIME-Version: 1.0\n" @@ -742,7 +742,8 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -750,23 +751,23 @@ msgid "" msgstr "" "--colors KEYWORD={FORE},{BACK},{ATTR}:KEYWORD2=...\n" "\n" -"{FORE}, {BACK} e {ATTR} pode ser omitido, e o valor por omissão será usado\n" +"{FORE}, {BACK} e {ATTR} podem ser omitidos, o valor por omissão será usado\n" "\n" -" Palavras chave (Keywords):\n" +" Keywords:\n" " Global: errors, disabled, reverse, gauge, header\n" " input, inputmark, inputunchanged, commandlinemark\n" " bbarhotkey, bbarbutton, statusbar\n" -" Visualização de ficheiro: normal, selected, marked, markselect\n" -" Caixas de diálogo: dnormal, dfocus, dhotnormal, dhotfocus, " -"errdhotnormal,\n" +" File display: normal, selected, marked, markselect\n" +" Dialog boxes: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" Menus popup: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Popup menus: pmenunormal, pmenusel, pmenutitle\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" -" Visualizador: viewnormal,viewbold, viewunderline, viewselected\n" -" Ajuda: helpnormal, helpitalic, helpbold, helplink, helpslink\n" +" Viewer: viewnormal,viewbold, viewunderline, viewselected\n" +" Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1636,8 +1637,8 @@ msgstr "" "Um editor de texto amigo do utilizador\n" "escrito para o Midnight Commander." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" -msgstr "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" +msgstr "Copyright (C) 1996-2024 the Free Software Foundation" msgid "About" msgstr "Acerca" @@ -4181,66 +4182,30 @@ msgstr "" "Sistema de ficheiro virtual EXTFS:\n" "%s" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Aviso: não é possível abrir o diretório %s\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: A desligar de %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: A aguardar por linha inicial..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Desculpe, por ora ligações com senha autenticada não são possíveis." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: É necessário senha para %s" - -msgid "fish: Sending password..." -msgstr "fish: A enviar senha..." - -msgid "fish: Sending initial line..." -msgstr "fish: A enviar linha inicial..." - -msgid "fish: Handshaking version..." -msgstr "fish: Versão de protocolo (handshacking)..." - -msgid "fish: Getting host info..." -msgstr "fish: A obter informação de host..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: A ler directório %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" +msgstr "" +"Sistema de ficheiros virtual EXTFS:\n" +"nome de ficheiro errado" -#, c-format -msgid "%s: done." -msgstr "%s: terminado." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" +"Sistema de ficheiros virtual EXTFS:\n" +"nome de arquivo errado" -#, c-format -msgid "%s: failure" -msgstr "%s: falha" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" +"Sistema de ficheiros virtual EXTFS:\n" +"não é possível construir comando" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: armazenar %s: a enviar comando..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: Leitura local falhou, a enviar zeros" - -msgid "fish: storing file" -msgstr "fish: a guardar ficheiro" - -msgid "Aborting transfer..." -msgstr "A abortar transferência..." - -msgid "Error reported after abort." -msgstr "Erro reportado após abortar." - -msgid "Aborted transfer would be successful." -msgstr "Transferência abortada teria tido sucesso." +msgid "Warning: cannot open %s directory\n" +msgstr "Aviso: não é possível abrir o diretório %s\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4352,6 +4317,14 @@ msgstr "(chdir primeiro)" msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: falhou; nenhum local para onde ir" +#, c-format +msgid "%s: failure" +msgstr "%s: falha" + +#, c-format +msgid "%s: done." +msgstr "%s: terminado." + msgid "ftpfs: storing file" msgstr "ftpfs: a guardar ficheiro" @@ -4508,6 +4481,52 @@ msgstr "sftp: (Ctrl-G break) A listar... %s" msgid "sftp: Listing done." msgstr "sftp: Listagem efetuada." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "shell: A desligar de %s" + +msgid "shell: Waiting for initial line..." +msgstr "shell: À espera da linha inicial..." + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Desculpe, por ora ligações com senha autenticada não são possíveis." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "shell: É necessário password para %s" + +msgid "shell: Sending password..." +msgstr "shell: A enviar password..." + +msgid "shell: Sending initial line..." +msgstr "shell: A enviar linha inicial..." + +msgid "shell: Getting host info..." +msgstr "shell: A obter informação do host..." + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "shell: A ler directório %s..." + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "shell: guardar %s: a enviar comando..." + +msgid "shell: Local read failed, sending zeros" +msgstr "shell: Leitura local falhou, a enviar zeros" + +msgid "shell: storing file" +msgstr "shell: a guardar ficheiro" + +msgid "Aborting transfer..." +msgstr "A abortar transferência..." + +msgid "Error reported after abort." +msgstr "Erro reportado após abortar." + +msgid "Aborted transfer would be successful." +msgstr "Transferência abortada teria tido sucesso." + msgid "Inconsistent tar archive" msgstr "Arquivo tar inconsistente" diff --git a/mcsrc/po/pt_BR.po b/mcsrc/po/pt_BR.po index 202a110..4185935 100644 --- a/mcsrc/po/pt_BR.po +++ b/mcsrc/po/pt_BR.po @@ -5,7 +5,7 @@ # Translators: # Enrico Nicoletto , 2013 # Heitor Adão Júnior , 2017 -# marcelo cripe , 2022-2023 +# marcelo cripe , 2022-2024 # Mauro Hemerly Gazzani , 2017 # Rafael Fontenelle , 2012 # Slava Zanko , 2011 @@ -14,9 +14,9 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" -"Last-Translator: marcelo cripe , 2022-2023\n" +"Last-Translator: marcelo cripe , 2022-2024\n" "Language-Team: Portuguese (Brazil) (http://app.transifex.com/mc/mc/language/" "pt_BR/)\n" "Language: pt_BR\n" @@ -755,7 +755,8 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -763,22 +764,26 @@ msgid "" msgstr "" "--colors KEYWORD={FORE},{BACK},{ATTR}:KEYWORD2=...\n" "\n" -"{FORE}, {BACK} e {ATTR} podem ser omitidos e o padrão será utilizado\n" +"{FORE}, {BACK} e {ATTR} pode ser omitido e o padrão será utilizado\n" "\n" -" Palavras-chave:\n" -" Global: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" Exibição de arquivo: normal, selected, marked, markselect\n" +" Keywords (Palavras-chave):\n" +" Global: erros, desativado, reverso, medidor, entrada do\n" +" cabeçalho, marca de entrada, entrada inalterada,\n" +" tecla de atalho da marca da linha de comando da\n" +" barra, botão da barra, estado da barra\n" +"\n" +"\n" +" Exibição do arquivo: normal, selecionado, marcado, marca da seleção\n" " Caixas de diálogo: dnormal, dfocus, dhotnormal, dhotfocus, " "errdhotnormal,\n" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" Caixas de diálogo dos menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Menus de contexto pmenunormal, pmenusel, pmenutitle\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" -" Visualizador: viewnormal,viewbold, viewunderline, viewselected\n" +" Visualização: viewnormal,viewbold, viewunderline, viewselected\n" " Ajuda: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes @@ -1658,8 +1663,8 @@ msgstr "" "Um editor de texto amigável\n" "escrito para o Midnight Commander." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" -msgstr "Direitos de Autor (c) 1996-2023 a Fundação Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" +msgstr "Direitos de Autor (C) 1996-2024 a Fundação ‘Free Software Foundation’" msgid "About" msgstr "Sobre" @@ -4231,69 +4236,32 @@ msgstr "" "Sistema de arquivos virtual EXTFS:\n" "%s" -#, c-format -msgid "Warning: cannot open %s directory\n" +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -"Aviso:\n" -"Não foi possível abrir o diretório %s\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "O fish foi desconectado de %s" - -msgid "fish: Waiting for initial line..." -msgstr "O fish está aguardando a linha inicial..." +"Sistema de arquivos virtual EXTFS:\n" +"O nome do arquivo não está correto" -msgid "Sorry, we cannot do password authenticated connections for now." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -"Desculpe-me, não é possível fazer a autenticação por senha neste momento." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "O fish necessita da senha para %s" - -msgid "fish: Sending password..." -msgstr "O fish está enviando a senha..." +"Sistema de arquivos virtuais EXTFS:\n" +"O nome do arquivo está errado" -msgid "fish: Sending initial line..." -msgstr "O fish está enviando a linha inicial..." - -msgid "fish: Handshaking version..." -msgstr "A versão de protocolo(handshacking) do fish..." - -msgid "fish: Getting host info..." -msgstr "O fish está obtendo as informações do hospedeiro..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "O fish está lendo o diretório %s..." - -#, c-format -msgid "%s: done." -msgstr "%s: foi concluído com sucesso." - -#, c-format -msgid "%s: failure" -msgstr "%s: falhou durante o processo" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" +"Sistema de arquivos virtuais EXTFS:\n" +"Não foi possível construir o comando" #, c-format -msgid "fish: store %s: sending command..." -msgstr "O fish armazenou %s e está enviando o comando..." - -msgid "fish: Local read failed, sending zeros" -msgstr "Ocorreu um erro no fish durante a leitura local e será enviado zeros" - -msgid "fish: storing file" -msgstr "O fish está armazenando o(s) arquivo(s)" - -msgid "Aborting transfer..." -msgstr "Interrompendo a transferência..." - -msgid "Error reported after abort." -msgstr "O erro foi reportado depois será finalizado." - -msgid "Aborted transfer would be successful." -msgstr "A transferência foi interrompida, mas poderia ser bem sucedida." +msgid "Warning: cannot open %s directory\n" +msgstr "" +"Aviso:\n" +"Não foi possível abrir o diretório %s\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4409,6 +4377,14 @@ msgstr "(primeiro o chdir)" msgid "ftpfs: failed; nowhere to fallback to" msgstr "Ocorreu uma falha no ftpfs e não é possível voltar" +#, c-format +msgid "%s: failure" +msgstr "%s: falhou durante o processo" + +#, c-format +msgid "%s: done." +msgstr "%s: foi concluído com sucesso." + msgid "ftpfs: storing file" msgstr "O ftpfs está armazenando os arquivos" @@ -4578,6 +4554,53 @@ msgstr "O sftp está listando (pressione as teclas Ctrl+G para pausar)... %s" msgid "sftp: Listing done." msgstr "A listagem do sftp foi concluída com sucesso." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "Shell: Desconectando de %s" + +msgid "shell: Waiting for initial line..." +msgstr "Shell: Aguardando a linha inicial..." + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" +"Desculpe-me, não é possível fazer a autenticação por senha neste momento." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "Shell: A senha é necessária para %s" + +msgid "shell: Sending password..." +msgstr "Shell: Enviando a senha..." + +msgid "shell: Sending initial line..." +msgstr "Shell: Enviando a linha inicial..." + +msgid "shell: Getting host info..." +msgstr "Shell: Obtendo as informações do hospedeiro..." + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "Shell: Lendo o diretório %s..." + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "Shell: Armazenar %s: Enviando o comando..." + +msgid "shell: Local read failed, sending zeros" +msgstr "Shell: Ocorreu uma falha na leitura local, enviando zeros" + +msgid "shell: storing file" +msgstr "Shell: Armazenando o arquivo" + +msgid "Aborting transfer..." +msgstr "Interrompendo a transferência..." + +msgid "Error reported after abort." +msgstr "O erro foi reportado depois será finalizado." + +msgid "Aborted transfer would be successful." +msgstr "A transferência foi interrompida, mas poderia ser bem sucedida." + msgid "Inconsistent tar archive" msgstr "O arquivo tar não é consistente" diff --git a/mcsrc/po/ro.po b/mcsrc/po/ro.po index 6b6b115..4d6a5bd 100644 --- a/mcsrc/po/ro.po +++ b/mcsrc/po/ro.po @@ -16,7 +16,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Simona Iacob , 2021-2023\n" "Language-Team: Romanian (http://app.transifex.com/mc/mc/language/ro/)\n" @@ -744,30 +744,13 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors KEYWORD={FORE},{BACK},{ATTR}:KEYWORD2=...\n" -"\n" -"{FORE}, {BACK} and {ATTR} can be omitted, and the default will be used\n" -"\n" -" Keywords:\n" -" Global: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" File display: normal, selected, marked, markselect\n" -" Dialog boxes: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" -" errdhotfocus\n" -" Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" Viewer: viewnormal,viewbold, viewunderline, viewselected\n" -" Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1637,8 +1620,8 @@ msgstr "" "Un editor de text uÈ™or de utilizat\n" "creat pentru Midnight Commander." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" -msgstr "Copyright (C) 1996-2023 FundaÈ›ia pentru Software Liber" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" +msgstr "" msgid "About" msgstr "Despre" @@ -4178,68 +4161,24 @@ msgstr "" "Sistem de fiÈ™iere virtuale EXTFS:\n" "%s" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "AtenÈ›ie: nu se poate deschide dosarul %s\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: Se deconectează de la %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: Se aÈ™teptă linia iniÈ›ială..." - -msgid "Sorry, we cannot do password authenticated connections for now." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -"Ne pare rău, deocamdată nu se pot efectua conectări autentificate prin " -"parolă." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: Este necesară o parolă pentru %s" - -msgid "fish: Sending password..." -msgstr "fish: Se trimite parola..." - -msgid "fish: Sending initial line..." -msgstr "fish: Se trimite linia iniÈ›ială..." - -msgid "fish: Handshaking version..." -msgstr "fish: Se negociază versiunea..." -msgid "fish: Getting host info..." -msgstr "fish: Se obÈ›in informaÈ›ii despre gazdă..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: Citesc dosarul %s..." - -#, c-format -msgid "%s: done." -msgstr "%s: efectuat." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" -#, c-format -msgid "%s: failure" -msgstr "%s: eÈ™ec" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: stochează %s: trimit comanda..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: Citirea locală a eÈ™uat, trimit zero-uri" - -msgid "fish: storing file" -msgstr "fish: se stochează fiÈ™ierul" - -msgid "Aborting transfer..." -msgstr "Abandonez transferul..." - -msgid "Error reported after abort." -msgstr "S-a raportat o eroare după abandon." - -msgid "Aborted transfer would be successful." -msgstr "Transferul abandonat va reuÈ™i." +msgid "Warning: cannot open %s directory\n" +msgstr "AtenÈ›ie: nu se poate deschide dosarul %s\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4351,6 +4290,14 @@ msgstr "(întâi chdir)" msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: eÈ™ec; nu mai există nici o variantă la care să revin" +#, c-format +msgid "%s: failure" +msgstr "%s: eÈ™ec" + +#, c-format +msgid "%s: done." +msgstr "%s: efectuat." + msgid "ftpfs: storing file" msgstr "ftpfs: se stochează fiÈ™ierul" @@ -4509,6 +4456,54 @@ msgstr "sftp: (Ctrl-G întrerupe) AfiÈ™are... %s" msgid "sftp: Listing done." msgstr "sftp: AfiÈ™area a fost efectuată." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" +"Ne pare rău, deocamdată nu se pot efectua conectări autentificate prin " +"parolă." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Abandonez transferul..." + +msgid "Error reported after abort." +msgstr "S-a raportat o eroare după abandon." + +msgid "Aborted transfer would be successful." +msgstr "Transferul abandonat va reuÈ™i." + msgid "Inconsistent tar archive" msgstr "Arhivă tar trunchiată" diff --git a/mcsrc/po/ru.po b/mcsrc/po/ru.po index 9daaa3b..49b45c4 100644 --- a/mcsrc/po/ru.po +++ b/mcsrc/po/ru.po @@ -8,6 +8,7 @@ # Alex Tkachenko , 1998 # and Alex Tkachenko , 1998 # Andrei Stepanov, 2023 +# Andrei Stepanov, 2023 # Andrew Borodin , 2009-2012 # Andrew V. Samoilov , 1999,2014 # Anton Sergeevich Chumak , 2005 @@ -18,6 +19,7 @@ # Mr.GreyWolf, 2016 # NaiLi (aka jamesjames) Rootaerc , 2012 # Pavel Suravezhkin, 2022 +# Pavel Suravezhkin, 2022 # Piotr DrÄ…g , 2018 # Sergey Panov , 1999 # Simple88, 2016 @@ -28,7 +30,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Andrei Stepanov, 2023\n" "Language-Team: Russian (http://app.transifex.com/mc/mc/language/ru/)\n" @@ -187,7 +189,7 @@ msgid "True color not supported with ncurses." msgstr "True Color не поддерживаетÑÑ ncurses." msgid "Your terminal doesn't even seem to support 256 colors." -msgstr "КажетÑÑ, ваш терминал не поддерживает даже 256 цветов." +msgstr "Похоже, ваш терминал не поддерживает даже 256 цветов." msgid "True color not supported in this slang version." msgstr "True Color не поддерживаетÑÑ Ð² Ñтой верÑии slang." @@ -759,34 +761,13 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors КЛЮЧЕВОЕ_СЛОВО={ТЕКСТ},{ФОÐ},{ÐТРИБУТ}:КЛЮЧЕВОЕ_СЛОВО2=...\n" -"\n" -"{ТЕКСТ}, {ФОÐ} и {ÐТРИБУТ} можно опуÑтить, чтобы иÑпользовать Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾ " -"умолчанию\n" -"\n" -"Ключевые Ñлова:\n" -" Общие: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" Отображение файлов: normal, selected, marked, markselect\n" -" Диалоги: dnormal, dfocus, dhotnormal, dhotfocus, " -"errdhotnormal,\n" -" errdhotfocus\n" -" Меню: menunormal, menuhot, menusel, menuhotsel, " -"menuinactive\n" -" Ð’Ñплывающие меню: pmenunormal, pmenusel, pmenutitle\n" -" Редактор: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" ПроÑмотрщик: viewnormal, viewbold, viewunderline, viewselected\n" -" Справка: helpnormal, helpitalic, helpbold, helplink, " -"helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -977,7 +958,7 @@ msgid "ButtonBar|Help" msgstr "Помощь" msgid "ButtonBar|Save" -msgstr "Сохранить" +msgstr "Сохран" msgid "ButtonBar|Edit" msgstr "Правка" @@ -989,7 +970,7 @@ msgid "ButtonBar|Search" msgstr "ПоиÑк" msgid "ButtonBar|Options" -msgstr "ÐаÑтройки" +msgstr "ÐаÑÑ‚Ñ€" msgid "ButtonBar|Quit" msgstr "Выход" @@ -1546,10 +1527,10 @@ msgid "&None" msgstr "Ðе&Ñ‚" msgid "&Dynamic paragraphing" -msgstr "ДинамичеÑкий" +msgstr "&ДинамичеÑкий" msgid "Type &writer wrap" -msgstr "ÐвтоматичеÑкий переноÑ" +msgstr "&ÐвтоматичеÑкий переноÑ" msgid "Wrap mode" msgstr "Режим переноÑа Ñтрок" @@ -1573,13 +1554,13 @@ msgid "Other options" msgstr "Прочие наÑтройки" msgid "&Return does autoindent" -msgstr "&ÐвтоотÑтуп \"Вводом\"" +msgstr "Ð&втоотÑтуп \"Вводом\"" msgid "Confir&m before saving" -msgstr "П&одтверждать запиÑÑŒ файла" +msgstr "Подтверждать запиÑÑŒ &файла" msgid "Save file &position" -msgstr "Со&хранÑÑ‚ÑŒ позицию в файле" +msgstr "Сох&ранÑÑ‚ÑŒ позицию в файле" msgid "&Visible trailing spaces" msgstr "Отображать проб&елы" @@ -1654,8 +1635,8 @@ msgstr "" "ТекÑтовый редактор Ñ Ð´Ñ€ÑƒÐ¶ÐµÑтвенным интерфейÑом пользователÑ.\n" "Создан Ð´Ð»Ñ Midnight Commander." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" -msgstr "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" +msgstr "" msgid "About" msgstr "О программе" @@ -1928,7 +1909,7 @@ msgid "S&ingle press" msgstr "Одино&чное нажатие" msgid "Timeout:" -msgstr "Интервал:" +msgstr "Период:" msgid "Pause after run" msgstr "Пауза поÑле выполнениÑ" @@ -1985,10 +1966,10 @@ msgid "Case &insensitive" msgstr "Без &учёта региÑтра" msgid "Use panel sort mo&de" -msgstr "&ИÑпользовать Ñортировку панели" +msgstr "И&Ñпользовать Ñортировку панели" msgid "Show mi&ni-status" -msgstr "Показывать &мини-ÑтатуÑ" +msgstr "&Показывать Ñтроку ÑоÑтоÑниÑ" msgid "Use SI si&ze units" msgstr "Вывод в единицах &СИ" @@ -2006,7 +1987,7 @@ msgid "&Fast dir reload" msgstr "&БыÑÑ‚Ñ€Ð°Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ° каталога" msgid "Ma&rk moves down" -msgstr "&Отметка перемещает курÑор" +msgstr "Отметка переме&щает курÑор" msgid "Re&verse files only" msgstr "Обрат&ить только файлы" @@ -2071,22 +2052,22 @@ msgid "&Long file list" msgstr "&РаÑширенный" msgid "&User defined:" -msgstr "&Определённый пользователем" +msgstr "&Заданный пользователем:" msgid "columns" msgstr "Ñтолбцы" msgid "User &mini status" -msgstr "Строка &мини-ÑтатуÑа в формате пользователÑ" +msgstr "&ПользовательÑÐºÐ°Ñ Ñтрока ÑоÑтоÑниÑ" msgid "Listing format" msgstr "Формат ÑпиÑка файлов" msgid "Executable &first" -msgstr "ИÑполнÑемые &вначале" +msgstr "Сперва иÑпо&лнÑемые" msgid "&Reverse" -msgstr "&Обратный" +msgstr "Обра&тный" msgid "Sort order" msgstr "ПорÑдок Ñортировки" @@ -2108,7 +2089,7 @@ msgid "Confirmation|Di&rectory hotlist delete" msgstr "Удаление ÑпиÑка &каталогов" msgid "Confirmation|&History cleanup" -msgstr "&ОчиÑтка иÑтории" +msgstr "О&чиÑтка иÑтории" msgid "Confirmation" msgstr "Подтверждение" @@ -2194,6 +2175,9 @@ msgid "" "%s\n" "%s" msgstr "" +"Ðе удалоÑÑŒ Ñменить каталог на\n" +"%s\n" +"%s" msgid "Secure deletion" msgstr "Ðадёжное удаление" @@ -2455,7 +2439,7 @@ msgid "&Size only" msgstr "По &размеру" msgid "&Thorough" -msgstr "По&байтный" +msgstr "Поб&айтный" msgid "" "Both panels should be in the listing mode\n" @@ -2510,11 +2494,11 @@ msgstr "ÐаÑтройка" #, c-format msgid "Setup saved to %s" -msgstr "Параметры Ñохранены в %s" +msgstr "ÐаÑтройки Ñохранены в %s" #, c-format msgid "Unable to save setup to %s" -msgstr "Ðе удалоÑÑŒ Ñохранить параметры в %s" +msgstr "Ðе удалоÑÑŒ Ñохранить наÑтройки в %s" msgid "Cannot execute commands on non-local filesystems" msgstr "Ðе удалоÑÑŒ выполнить команды на нелокальных файловых ÑиÑтемах" @@ -2620,7 +2604,7 @@ msgid "" "Cannot stat hardlink source file \"%s\"\n" "%s" msgstr "" -"Ðе удалоÑÑŒ получить ÑвойÑтва иÑходного файла жёÑÑ‚. ÑÑылки\"%s\"\n" +"Ðе удалоÑÑŒ получить ÑвойÑтва иÑходного файла жёÑÑ‚. ÑÑылки \"%s\"\n" "%s" #, c-format @@ -3084,13 +3068,13 @@ msgid "&Info" msgstr "Инфо&рмациÑ" msgid "&Tree" -msgstr "Дерев&о" +msgstr "&Дерево" msgid "&Listing format..." msgstr "Фор&мат ÑпиÑка..." msgid "&Sort order..." -msgstr "ПорÑдок &Ñортировки..." +msgstr "ПорÑдок Ñор&тировки..." msgid "&Filter..." msgstr "&Фильтр..." @@ -3111,7 +3095,7 @@ msgid "Paneli&ze" msgstr "Па&нелизациÑ" msgid "&Rescan" -msgstr "&Перепроверить" +msgstr "&Обновить" msgid "&View" msgstr "П&роÑмотр" @@ -3339,7 +3323,7 @@ msgid "A&ll charsets" msgstr "Ð’Ñ&е кодировки" msgid "Fir&st hit" -msgstr "До первого в&хождениÑ" +msgstr "До первого вхо&ждениÑ" msgid "Find File" msgstr "ПоиÑк файла" @@ -3485,7 +3469,7 @@ msgid "No node information" msgstr "Ðет информации об узле" msgid "Free nodes:" -msgstr "Свободно узлов:" +msgstr "Своб. узлов:" msgid "No space information" msgstr "Ðет информации о проÑтранÑтве" @@ -3511,7 +3495,7 @@ msgstr "ФС: %s" #, c-format msgid "Accessed: %s" -msgstr "Обращение: %s" +msgstr "ДоÑтуп: %s" #, c-format msgid "Modified: %s" @@ -3652,7 +3636,7 @@ msgid "sort|m" msgstr "м" msgid "&Modify time" -msgstr "Ð’Ñ€ÐµÐ¼Ñ &правки" +msgstr "Дата &правки" #. TRANSLATORS: one single character to represent 'Access time' sort mode #. TRANSLATORS: no need to translate 'sort', it's just a context prefix @@ -3660,7 +3644,7 @@ msgid "sort|a" msgstr "д" msgid "&Access time" -msgstr "Ð’Ñ€ÐµÐ¼Ñ &доÑтупа" +msgstr "Дата &доÑтупа" #. TRANSLATORS: one single character to represent 'Change time' sort mode #. TRANSLATORS: no need to translate 'sort', it's just a context prefix @@ -3668,7 +3652,7 @@ msgid "sort|h" msgstr "п" msgid "C&hange time" -msgstr "Ð’&Ñ€ÐµÐ¼Ñ Ð¿Ñ€Ð°Ð²ÐºÐ¸ атрибутов" +msgstr "Дата &Ñмены" msgid "Perm" msgstr "Права" @@ -3726,7 +3710,7 @@ msgid "Unknown tag on display format:" msgstr "ÐеизвеÑтный тег в формате отображениÑ:" msgid "&Files only" -msgstr "Только файлы" +msgstr "Только &файлы" msgid "&Case sensitive" msgstr "С учётом ре&гиÑтра" @@ -3836,7 +3820,7 @@ msgid "ButtonBar|Dynamc" msgstr "Динамч" msgid "ButtonBar|Rescan" -msgstr "ПереÑм" +msgstr "Обновить" msgid "ButtonBar|Forget" msgstr "Забыть" @@ -3875,7 +3859,7 @@ msgid "Learn keys" msgstr "Определение клавиш" msgid "Teach me a key" -msgstr "Обучите Ð¼ÐµÐ½Ñ ÐºÐ»Ð°Ð²Ð¸ÑˆÐµ" +msgstr "ПривÑзка клавиши" #, c-format msgid "" @@ -3930,9 +3914,9 @@ msgid "" "which keys are not marked with OK. Press space on the missing\n" "key, or click with the mouse to define it. Move around with Tab." msgstr "" -"Ðажмите вÑе перечиÑленные выше клавиши. ПоÑле нажатий найдите,\n" -"какие клавиши не имеют пометки \"OK\". Ð”Ð»Ñ Ð¾Ð±ÑƒÑ‡ÐµÐ½Ð¸Ñ ÐºÐ»Ð°Ð²Ð¸ÑˆÐµ выберите\n" -"её при помощи Tab или мышкой и нажмите пробел." +"Ðажмите вÑе перечиÑленные выше клавиши. ПоÑле найдите\n" +"клавиши без пометки \"OK\". Ð”Ð»Ñ Ð¿Ñ€Ð¸Ð²Ñзки клавиши выберите\n" +"её через Tab и нажмите пробел, или щёлкните мышкой." #, c-format msgid "" @@ -4199,66 +4183,30 @@ msgstr "" "Ð’Ð¸Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð°Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема EXTFS:\n" "%s" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Внимание: не удалоÑÑŒ открыть каталог %s\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: отÑоединение от %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: ожидаетÑÑ Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ð°Ñ Ñтрока..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Извините, не удалоÑÑŒ Ñоздать авторизованные паролем ÑоединениÑ." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: требуетÑÑ Ð¿Ð°Ñ€Ð¾Ð»ÑŒ Ð´Ð»Ñ %s" - -msgid "fish: Sending password..." -msgstr "fish: поÑылаетÑÑ Ð¿Ð°Ñ€Ð¾Ð»ÑŒ..." - -msgid "fish: Sending initial line..." -msgstr "fish: поÑылаетÑÑ Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ð°Ñ Ñтрока..." - -msgid "fish: Handshaking version..." -msgstr "fish: верÑÐ¸Ñ Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ ÑвÑзи..." - -msgid "fish: Getting host info..." -msgstr "fish: ÑобираетÑÑ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾Ð± удалённой машине..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: Чтение каталога %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" +msgstr "" +"Ð’Ð¸Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð°Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема EXTFS:\n" +"неправильное Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°" -#, c-format -msgid "%s: done." -msgstr "%s: готово." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" +"Ð’Ð¸Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð°Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема EXTFS:\n" +"неправильное Ð¸Ð¼Ñ Ð°Ñ€Ñ…Ð¸Ð²Ð°" -#, c-format -msgid "%s: failure" -msgstr "%s: ошибка" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" +"Ð’Ð¸Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð°Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема EXTFS:\n" +"не удаётÑÑ Ñобрать команду" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: запиÑÑŒ %s: поÑылаетÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: Ñбой локального чтениÑ, поÑылаютÑÑ Ð½ÑƒÐ»Ð¸" - -msgid "fish: storing file" -msgstr "fish: запиÑÑŒ файла" - -msgid "Aborting transfer..." -msgstr "Прерывание передачи..." - -msgid "Error reported after abort." -msgstr "Отмечена ошибка поÑле прерываниÑ." - -msgid "Aborted transfer would be successful." -msgstr "Передача уÑпешно прервана." +msgid "Warning: cannot open %s directory\n" +msgstr "Внимание: не удалоÑÑŒ открыть каталог %s\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4370,6 +4318,14 @@ msgstr "(Ñначала chdir)" msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: ошибка; некуда перейти на аварийный режим" +#, c-format +msgid "%s: failure" +msgstr "%s: ошибка" + +#, c-format +msgid "%s: done." +msgstr "%s: готово." + msgid "ftpfs: storing file" msgstr "ftpfs: запиÑÑŒ файла" @@ -4527,6 +4483,52 @@ msgstr "sftp: чтение ÑпиÑка файлов (прерывание по msgid "sftp: Listing done." msgstr "sftp: Чтение ÑпиÑка файлов завершено." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "shell: Отключение от %s" + +msgid "shell: Waiting for initial line..." +msgstr "shell: Ожидание начальное Ñтроки..." + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Извините, не удалоÑÑŒ Ñоздать авторизованные паролем ÑоединениÑ." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "shell: ТребуетÑÑ Ð¿Ð°Ñ€Ð¾Ð»ÑŒ Ð´Ð»Ñ %s" + +msgid "shell: Sending password..." +msgstr "shell: ОтправлÑетÑÑ Ð¿Ð°Ñ€Ð¾Ð»ÑŒ..." + +msgid "shell: Sending initial line..." +msgstr "shell: ОтправлÑетÑÑ Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ð°Ñ Ñтрока..." + +msgid "shell: Getting host info..." +msgstr "shell: Получение данных хоÑта..." + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "shell: Чтение каталога %s..." + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "shell: хранилище %s: отправлÑетÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°..." + +msgid "shell: Local read failed, sending zeros" +msgstr "shell: Локальное чтение не удалоÑÑŒ, отправлÑÑŽÑ‚ÑÑ Ð½ÑƒÐ»Ð¸" + +msgid "shell: storing file" +msgstr "shell: Ñохранение файла" + +msgid "Aborting transfer..." +msgstr "Прерывание передачи..." + +msgid "Error reported after abort." +msgstr "Отмечена ошибка поÑле прерываниÑ." + +msgid "Aborted transfer would be successful." +msgstr "Передача уÑпешно прервана." + msgid "Inconsistent tar archive" msgstr "ÐеÑоглаÑованный архив tar" @@ -4546,9 +4548,11 @@ msgid "" "%s\n" "doesn't look like a tar archive" msgstr "" +"%s\n" +"не похож на архив tar" msgid "tar: mc_lseek not stopped at a record boundary" -msgstr "" +msgstr "tar: mc_lseek не оÑтановилÑÑ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ðµ запиÑи" msgid "undelfs: error" msgstr "undelfs: ошибка" diff --git a/mcsrc/po/sk.po b/mcsrc/po/sk.po index bd0b44c..c1ee08b 100644 --- a/mcsrc/po/sk.po +++ b/mcsrc/po/sk.po @@ -15,7 +15,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: hualahyja, 2019\n" "Language-Team: Slovak (http://app.transifex.com/mc/mc/language/sk/)\n" @@ -735,30 +735,13 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors KĽÚČ_SLOVO={POPRED},{POZAD},{ATRIB}:KĽÚČ_SLOVO2=...\n" -"\n" -"{POPRED}, {POZAD} a {ATRIB} je možné vynechaÅ¥ a použijú sa predvolené\n" -"\n" -"KľúÄové slová:\n" -" Globálne: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" Zobr. súbor.: normal, selected, marked, markselect\n" -" Dialóg. okná: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" -" errdhotfocus\n" -" Menu: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" Rolet. menu: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" PrehliadaÄ: viewnormal,viewbold, viewunderline, viewselected\n" -" Pomocník: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1625,7 +1608,7 @@ msgstr "" "Používateľsky prívetivý textový editor\n" "napísaný pre Midnight Commander." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -4135,66 +4118,24 @@ msgid "" "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Upozornenie: nepodarilo sa otvoriÅ¥ adresár %s\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: Odpája sa z %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: ÄŒaká sa na inicializaÄný riadok..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Ľutujeme, zatiaľ nedokážeme pracovaÅ¥ s autentifikovanými spojeniami." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: %s vyžaduje heslo" - -msgid "fish: Sending password..." -msgstr "fish: Posiela sa heslo..." - -msgid "fish: Sending initial line..." -msgstr "fish: Posiela sa inicializaÄný riadok..." - -msgid "fish: Handshaking version..." -msgstr "fish: Dohaduje sa verzia..." - -msgid "fish: Getting host info..." -msgstr "fish: Získavajú sa informácie o hostiteľovi" - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: NaÄítava sa adresár %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" +msgstr "" -#, c-format -msgid "%s: done." -msgstr "%s: hotovo." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" -#, c-format -msgid "%s: failure" -msgstr "%s: chyba" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: store %s: posiela sa príkaz..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: Miestne Äítanie zlyhalo, posielajú sa nuly" - -msgid "fish: storing file" -msgstr "fish: ukladá sa súbor" - -msgid "Aborting transfer..." -msgstr "PreruÅ¡uje sa prenos..." - -msgid "Error reported after abort." -msgstr "Chyba hlásená po preruÅ¡ení." - -msgid "Aborted transfer would be successful." -msgstr "PreruÅ¡enie prenosu bolo úspeÅ¡né." +msgid "Warning: cannot open %s directory\n" +msgstr "Upozornenie: nepodarilo sa otvoriÅ¥ adresár %s\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4306,6 +4247,14 @@ msgstr "(naprv cd)" msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: chyba; niet kam sa vrátiÅ¥" +#, c-format +msgid "%s: failure" +msgstr "%s: chyba" + +#, c-format +msgid "%s: done." +msgstr "%s: hotovo." + msgid "ftpfs: storing file" msgstr "ftpfs: ukladám súbor" @@ -4445,6 +4394,52 @@ msgstr "sftp: (Ctrl-G preruší) Výpis... %s" msgid "sftp: Listing done." msgstr "sftp: Výpis - hotovo." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Ľutujeme, zatiaľ nedokážeme pracovaÅ¥ s autentifikovanými spojeniami." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "PreruÅ¡uje sa prenos..." + +msgid "Error reported after abort." +msgstr "Chyba hlásená po preruÅ¡ení." + +msgid "Aborted transfer would be successful." +msgstr "PreruÅ¡enie prenosu bolo úspeÅ¡né." + msgid "Inconsistent tar archive" msgstr "PoÅ¡kodený archív .tar" diff --git a/mcsrc/po/sl.po b/mcsrc/po/sl.po index 4d69067..ac94842 100644 --- a/mcsrc/po/sl.po +++ b/mcsrc/po/sl.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Matej UrbanÄiÄ <>, 2012\n" "Language-Team: Slovenian (http://app.transifex.com/mc/mc/language/sl/)\n" @@ -716,7 +716,8 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1552,7 +1553,7 @@ msgid "" "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3952,68 +3953,25 @@ msgid "" "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: Prekinjam povezavo z %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: ÄŒakam na inicializacijsko vrstico..." - -msgid "Sorry, we cannot do password authenticated connections for now." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -"Oprostite, zaenkrat ne znamo ustvarjati z geslom avtentificiranih povezav." -#, c-format -msgid "fish: Password is required for %s" +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -msgid "fish: Sending password..." -msgstr "fish: PoÅ¡iljam geslo..." - -msgid "fish: Sending initial line..." -msgstr "fish: PoÅ¡iljam inicializacijsko vrstico..." - -msgid "fish: Handshaking version..." -msgstr "fish: Rovanje razliÄic..." - -msgid "fish: Getting host info..." +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: Berem imenik %s..." - -#, c-format -msgid "%s: done." -msgstr "%s: opravljeno." - -#, c-format -msgid "%s: failure" -msgstr "%s: napaka" - -#, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: shranjujem %s: poÅ¡iljnam ukaz..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: Krajevno branje ni uspelo, poÅ¡iljam nule" - -msgid "fish: storing file" +msgid "Warning: cannot open %s directory\n" msgstr "" -msgid "Aborting transfer..." -msgstr "Prekinjam prenos..." - -msgid "Error reported after abort." -msgstr "Napaka sporoÄena po prekinitvi." - -msgid "Aborted transfer would be successful." -msgstr "Prekinjen prenos bi bil uspeÅ¡en." - #, c-format msgid "ftpfs: Disconnecting from %s" msgstr "ftpfs: Prekinjam povezavo z %s" @@ -4124,6 +4082,14 @@ msgstr "(najprej spremeni imenik)" msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: spodletel; ni veÄ možnih reÅ¡itev" +#, c-format +msgid "%s: failure" +msgstr "%s: napaka" + +#, c-format +msgid "%s: done." +msgstr "%s: opravljeno." + msgid "ftpfs: storing file" msgstr "" @@ -4261,6 +4227,53 @@ msgstr "" msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" +"Oprostite, zaenkrat ne znamo ustvarjati z geslom avtentificiranih povezav." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Prekinjam prenos..." + +msgid "Error reported after abort." +msgstr "Napaka sporoÄena po prekinitvi." + +msgid "Aborted transfer would be successful." +msgstr "Prekinjen prenos bi bil uspeÅ¡en." + msgid "Inconsistent tar archive" msgstr "Nekonsistenten tar arhiv" diff --git a/mcsrc/po/sr.po b/mcsrc/po/sr.po index de69dc6..e3ad422 100644 --- a/mcsrc/po/sr.po +++ b/mcsrc/po/sr.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Slava Zanko , 2011\n" "Language-Team: Serbian (http://app.transifex.com/mc/mc/language/sr/)\n" @@ -722,30 +722,13 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors KEYWORD={FORE},{BACK},{ATTR}:KEYWORD2=...\n" -"\n" -"{FORE}, {BACK} и {ATTR} могу да Ñе изоÑтаве, а биће коришћене оÑновноÑти\n" -"\n" -" Кључне речи:\n" -" Опште: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" Приказивање датотека: normal, selected, marked, markselect\n" -" Поља прозорчета: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" -" errdhotfocus\n" -" Изборници: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" ИÑкачући изборници: pmenunormal, pmenusel, pmenutitle\n" -" Уређивач: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" Прегледач: viewnormal,viewbold, viewunderline, viewselected\n" -" Помоћ: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1612,7 +1595,7 @@ msgstr "" "Уређивач текÑта наклоњен кориÑнику\n" "напиÑан за Поноћног наредника." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -4111,66 +4094,24 @@ msgid "" "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Упозорење: не могу да отворим директоријум „%s“\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: Прекидам везу Ñа „%s“" - -msgid "fish: Waiting for initial line..." -msgstr "fish: Чекам почетни ред..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Извините, али за Ñад не можемо да Ñе повезујемо уз потврду лозинке." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: Потребна је лозинка за „%s“" - -msgid "fish: Sending password..." -msgstr "fish: Шаљем лозинку..." - -msgid "fish: Sending initial line..." -msgstr "fish: Шаљем почетни ред..." - -msgid "fish: Handshaking version..." -msgstr "fish: Преговарам о издању..." - -msgid "fish: Getting host info..." -msgstr "fish: Добављам податке о домаћину..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: Читам директоријум „%s“..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" +msgstr "" -#, c-format -msgid "%s: done." -msgstr "%s: готово." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" -#, c-format -msgid "%s: failure" -msgstr "%s: неуÑпех" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: Ñкладиште „%s“: шаљем наредбу..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: МеÑно читање није уÑпело, шаљем нуле" - -msgid "fish: storing file" -msgstr "fish: Ñмештам датотеку" - -msgid "Aborting transfer..." -msgstr "Прекидам преноÑ..." - -msgid "Error reported after abort." -msgstr "Пријављена је грешка поÑле прекида." - -msgid "Aborted transfer would be successful." -msgstr "Прекинути Ð¿Ñ€ÐµÐ½Ð¾Ñ Ð±Ð¸ био уÑпешан." +msgid "Warning: cannot open %s directory\n" +msgstr "Упозорење: не могу да отворим директоријум „%s“\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4282,6 +4223,14 @@ msgstr "(прво промени директоријум)" msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: ниÑам уÑпео; немам решења" +#, c-format +msgid "%s: failure" +msgstr "%s: неуÑпех" + +#, c-format +msgid "%s: done." +msgstr "%s: готово." + msgid "ftpfs: storing file" msgstr "ftpfs: Ñмештам датотеку" @@ -4421,6 +4370,52 @@ msgstr "sftp: (Ктрл-Г прекида) ИÑпиÑујем... %s" msgid "sftp: Listing done." msgstr "sftp: ИÑпиÑивање је готово." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Извините, али за Ñад не можемо да Ñе повезујемо уз потврду лозинке." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Прекидам преноÑ..." + +msgid "Error reported after abort." +msgstr "Пријављена је грешка поÑле прекида." + +msgid "Aborted transfer would be successful." +msgstr "Прекинути Ð¿Ñ€ÐµÐ½Ð¾Ñ Ð±Ð¸ био уÑпешан." + msgid "Inconsistent tar archive" msgstr "ÐедоÑледна тар архива" diff --git a/mcsrc/po/sv.po b/mcsrc/po/sv.po index 9433151..469a986 100644 --- a/mcsrc/po/sv.po +++ b/mcsrc/po/sv.po @@ -18,7 +18,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Alexander Kilian , 2022\n" "Language-Team: Swedish (http://app.transifex.com/mc/mc/language/sv/)\n" @@ -740,30 +740,13 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors NYCKELORD={FÖRGR},{BAKGR},{ATTR}:NYCKELORD2=...\n" -"\n" -"Om {FÖRGR}, {BAKGR} eller {ATTR} utelämnas används förinställt värde\n" -"\n" -" Nyckelord:\n" -" Globalt: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" Filvisning: normal, selected, marked, markselect\n" -" Dialogrutor: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" -" errdhotfocus\n" -" Menyer: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" Popupmenyer: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" Textvisare: viewnormal,viewbold, viewunderline, viewselected\n" -" Hjälp: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1630,7 +1613,7 @@ msgstr "" "En användarvänlig texteditor\n" "skriven för Midnight Commander." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -4135,66 +4118,24 @@ msgid "" "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Varning: Öppning av katalogen %s misslyckades\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: Kopplar ned frÃ¥n %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: Väntar pÃ¥ första raden..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Kan inte göra lösenords autentiserade anslutningar för närvarande." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: Lösenord krävs för %s" - -msgid "fish: Sending password..." -msgstr "fish: Sänder lösenord..." - -msgid "fish: Sending initial line..." -msgstr "fish: Sänder första raden..." - -msgid "fish: Handshaking version..." -msgstr "fish: Handskakning version..." - -msgid "fish: Getting host info..." -msgstr "fish: Mottar värd-info..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: Läser katalog %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" +msgstr "" -#, c-format -msgid "%s: done." -msgstr "%s: klar." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" -#, c-format -msgid "%s: failure" -msgstr "%s: fel" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: lagrar %s: sänder kommando..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: Lokal läsning misslyckades, sänder nollor" - -msgid "fish: storing file" -msgstr "fish: sparar fil" - -msgid "Aborting transfer..." -msgstr "Avbryter överföringen..." - -msgid "Error reported after abort." -msgstr "Fel rapporterades efter avslutningen." - -msgid "Aborted transfer would be successful." -msgstr "Avbruten överföring skulle ha varit lyckad." +msgid "Warning: cannot open %s directory\n" +msgstr "Varning: Öppning av katalogen %s misslyckades\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4306,6 +4247,14 @@ msgstr "(chdir först)" msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: misslyckades: det finns ingenstans att falla tillbaka pÃ¥" +#, c-format +msgid "%s: failure" +msgstr "%s: fel" + +#, c-format +msgid "%s: done." +msgstr "%s: klar." + msgid "ftpfs: storing file" msgstr "ftpfs: sparar fil" @@ -4445,6 +4394,52 @@ msgstr "sftp: (Ctrl-G avbryter) Listar... %s" msgid "sftp: Listing done." msgstr "sftp: Listning klar." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Kan inte göra lösenords autentiserade anslutningar för närvarande." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Avbryter överföringen..." + +msgid "Error reported after abort." +msgstr "Fel rapporterades efter avslutningen." + +msgid "Aborted transfer would be successful." +msgstr "Avbruten överföring skulle ha varit lyckad." + msgid "Inconsistent tar archive" msgstr "Inkonsistensfel i tararkivet" diff --git a/mcsrc/po/szl.po b/mcsrc/po/szl.po index c372644..f4b5f1e 100644 --- a/mcsrc/po/szl.po +++ b/mcsrc/po/szl.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Silesian (http://app.transifex.com/mc/mc/language/szl/)\n" @@ -704,7 +704,8 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1540,7 +1541,7 @@ msgid "" "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3905,65 +3906,23 @@ msgid "" "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "" - -msgid "fish: Sending password..." -msgstr "" - -msgid "fish: Sending initial line..." -msgstr "" - -msgid "fish: Handshaking version..." -msgstr "" - -msgid "fish: Getting host info..." -msgstr "" - -#, c-format -msgid "fish: Reading directory %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "%s: done." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "%s: failure" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #, c-format @@ -4076,6 +4035,14 @@ msgstr "" msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "" + +#, c-format +msgid "%s: done." +msgstr "" + msgid "ftpfs: storing file" msgstr "" @@ -4209,6 +4176,52 @@ msgstr "" msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" diff --git a/mcsrc/po/ta.po b/mcsrc/po/ta.po index d59c012..38e9a68 100644 --- a/mcsrc/po/ta.po +++ b/mcsrc/po/ta.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Slava Zanko , 2011\n" "Language-Team: Tamil (http://app.transifex.com/mc/mc/language/ta/)\n" @@ -704,7 +704,8 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1540,7 +1541,7 @@ msgid "" "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3901,65 +3902,23 @@ msgid "" "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "" - -msgid "fish: Sending password..." -msgstr "" - -msgid "fish: Sending initial line..." -msgstr "" - -msgid "fish: Handshaking version..." -msgstr "" - -msgid "fish: Getting host info..." -msgstr "" - -#, c-format -msgid "fish: Reading directory %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "%s: done." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "%s: failure" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #, c-format @@ -4072,6 +4031,14 @@ msgstr "" msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "" + +#, c-format +msgid "%s: done." +msgstr "" + msgid "ftpfs: storing file" msgstr "" @@ -4205,6 +4172,52 @@ msgstr "" msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" diff --git a/mcsrc/po/te.po b/mcsrc/po/te.po index dfc7be4..3c3341d 100644 --- a/mcsrc/po/te.po +++ b/mcsrc/po/te.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Telugu (http://app.transifex.com/mc/mc/language/te/)\n" @@ -703,7 +703,8 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1539,7 +1540,7 @@ msgid "" "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3900,65 +3901,23 @@ msgid "" "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "" - -msgid "fish: Sending password..." -msgstr "" - -msgid "fish: Sending initial line..." -msgstr "" - -msgid "fish: Handshaking version..." -msgstr "" - -msgid "fish: Getting host info..." -msgstr "" - -#, c-format -msgid "fish: Reading directory %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "%s: done." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "%s: failure" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #, c-format @@ -4071,6 +4030,14 @@ msgstr "" msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "" + +#, c-format +msgid "%s: done." +msgstr "" + msgid "ftpfs: storing file" msgstr "" @@ -4204,6 +4171,52 @@ msgstr "" msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" diff --git a/mcsrc/po/tr.po b/mcsrc/po/tr.po index eaa2fe7..89a0ae4 100644 --- a/mcsrc/po/tr.po +++ b/mcsrc/po/tr.po @@ -15,7 +15,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Mehmet Akif 9oglu, 2023\n" "Language-Team: Turkish (http://app.transifex.com/mc/mc/language/tr/)\n" @@ -741,31 +741,13 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors KEYWORD={FORE},{BACK},{ATTR}:KEYWORD2=...\n" -"\n" -"{FORE}, {BACK} ve {ATTR} kaldırılabilir, ve varsayılan kullanılacaktır\n" -"\n" -" Keywords:\n" -" Genel: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" Dosya görüntüsü: normal, selected, marked, markselect\n" -" Ä°letiÅŸim kutucukları: dnormal, dfocus, dhotnormal, dhotfocus, " -"errdhotnormal,\n" -" errdhotfocus\n" -" Menüler: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" Açılır pencere menüleri: pmenunormal, pmenusel, pmenutitle\n" -" Düzenleyici: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" Görüntüleyici: viewnormal,viewbold, viewunderline, viewselected\n" -" Yardım: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1636,8 +1618,8 @@ msgstr "" "Kullanıcı dostu bir metin düzenleyici\n" "Midnight Commander için yazıldı" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" -msgstr "Telif Hakkı (C) 1996-2023 Özgür Yazılım Vakfı" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" +msgstr "" msgid "About" msgstr "Hakkında" @@ -4141,67 +4123,24 @@ msgid "" "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Uyarı: %s dizini açılamadı\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: %s baÄŸlantısı kapanıyor" - -msgid "fish: Waiting for initial line..." -msgstr "fish: Kendi satırı için bekliyor..." - -msgid "Sorry, we cannot do password authenticated connections for now." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -"Ãœzgünüm, ÅŸimdilik parola ile kimlik bildirimi yapılan baÄŸlantılar yapılamıyor" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: %s için parola gerekli" - -msgid "fish: Sending password..." -msgstr "fish: Parola gönderimi..." - -msgid "fish: Sending initial line..." -msgstr "fish: Satır gönderimi..." -msgid "fish: Handshaking version..." -msgstr "fish: Sürüm anlaÅŸması..." - -msgid "fish: Getting host info..." -msgstr "fish: Ä°stemci bilgisi alınıyor" - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: %s dizini okunuyor..." - -#, c-format -msgid "%s: done." -msgstr "%s: bitti." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" -#, c-format -msgid "%s: failure" -msgstr "%s: baÅŸarısız" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: %s kaydet: komut gönderiliyor..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: Yerel okuma baÅŸarısız, sıfırlar gönderiliyor" - -msgid "fish: storing file" -msgstr "fish: dosya saklama" - -msgid "Aborting transfer..." -msgstr "Aktarım durduruluyor..." - -msgid "Error reported after abort." -msgstr "Durdurma sonra hata raporlandı." - -msgid "Aborted transfer would be successful." -msgstr "Aktarımın durdurulması baÅŸarıldı." +msgid "Warning: cannot open %s directory\n" +msgstr "Uyarı: %s dizini açılamadı\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4313,6 +4252,14 @@ msgstr "(önce chdir)" msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: baÅŸarısız; son çare yok" +#, c-format +msgid "%s: failure" +msgstr "%s: baÅŸarısız" + +#, c-format +msgid "%s: done." +msgstr "%s: bitti." + msgid "ftpfs: storing file" msgstr "ftpfs: dosya saklama" @@ -4452,6 +4399,53 @@ msgstr "sftp: (kesmek için Ctrl-G) Listeleniyor... %s" msgid "sftp: Listing done." msgstr "sftp: Listeleme yapıldı." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" +"Ãœzgünüm, ÅŸimdilik parola ile kimlik bildirimi yapılan baÄŸlantılar yapılamıyor" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Aktarım durduruluyor..." + +msgid "Error reported after abort." +msgstr "Durdurma sonra hata raporlandı." + +msgid "Aborted transfer would be successful." +msgstr "Aktarımın durdurulması baÅŸarıldı." + msgid "Inconsistent tar archive" msgstr "Tar arÅŸivi düzgün deÄŸil" diff --git a/mcsrc/po/uk.po b/mcsrc/po/uk.po index 6232586..ac8d6dc 100644 --- a/mcsrc/po/uk.po +++ b/mcsrc/po/uk.po @@ -19,7 +19,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Rostyslav Haitkulov , 2023\n" "Language-Team: Ukrainian (http://app.transifex.com/mc/mc/language/uk/)\n" @@ -750,31 +750,13 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors КЛЮЧ={ТЕКСТ},{ФОÐ},{ÐТРИБУТ}:KEYWORD2=...\n" -"\n" -"{ТЕКСТ}, {ФОÐ} та {ÐТРИБУТ} можна не вказувати, в такому випадку будуть " -"викориÑтовуватиÑÑŒ Ñтандартні значеннÑ\n" -"\n" -"Ключі :\n" -" Глобальні: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" Ð’Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð²: normal, selected, marked, markselect\n" -" Діалогові вікна: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" -" errdhotfocus\n" -" Меню: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" КонтекÑтні меню: pmenunormal, pmenusel, pmenutitle\n" -" Редактор: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" ПереглÑдач: viewnormal,viewbold, viewunderline, viewselected\n" -" Довідка: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1641,7 +1623,7 @@ msgstr "" "Дружній до кориÑтувача редактор текÑту\n" "напиÑаний Ð´Ð»Ñ Midnight Commander." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -4172,66 +4154,24 @@ msgstr "" "Віртуальна файлова ÑиÑтема EXTFS:\n" "%s" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "ПопередженнÑ: не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ каталог %s\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: триває Ð²Ñ–Ð´â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð²Ñ–Ð´ %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: очікуєтьÑÑ Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð¸Ð¹ Ñ€Ñдок…" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Зараз немає змоги Ñтворювати з’єднаннÑ, авторизовані паролем." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: вимагаєтьÑÑ Ð¿Ð°Ñ€Ð¾Ð»ÑŒ Ð´Ð»Ñ %s" - -msgid "fish: Sending password..." -msgstr "fish: триває надÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ…" - -msgid "fish: Sending initial line..." -msgstr "fish: триває надÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð¾Ð³Ð¾ Ñ€Ñдка…" - -msgid "fish: Handshaking version..." -msgstr "fish: тривають переговори про верÑію…" - -msgid "fish: Getting host info..." -msgstr "fish: триває Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð²Ñ–Ð´Ð¾Ð¼Ð¾Ñтей про вузол…" - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: триває Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð° %s…" +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" +msgstr "" -#, c-format -msgid "%s: done." -msgstr "%s: завершено." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" -#, c-format -msgid "%s: failure" -msgstr "%s: ÑталаÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: Ð·Ð°Ð¿Ð¸Ñ %s: триває надÑÐ¸Ð»Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸â€¦" - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: ÑталаÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° локального читаннÑ, надÑилаютьÑÑ Ð½ÑƒÐ»Ñ–" - -msgid "fish: storing file" -msgstr "fish: триває Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ" - -msgid "Aborting transfer..." -msgstr "Триває Ð¿ÐµÑ€ÐµÑ€Ð¸Ð²Ð°Ð½Ð½Ñ Ð¿ÐµÑ€ÐµÐ½ÐµÑеннÑ…" - -msgid "Error reported after abort." -msgstr "СталаÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° піÑÐ»Ñ Ð¿ÐµÑ€ÐµÑ€Ð¸Ð²Ð°Ð½Ð½Ñ." - -msgid "Aborted transfer would be successful." -msgstr "Перерване перенеÑÐµÐ½Ð½Ñ Ð¼Ð¾Ð³Ð»Ð¾ завершитиÑÑ ÑƒÑпішно." +msgid "Warning: cannot open %s directory\n" +msgstr "ПопередженнÑ: не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ каталог %s\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4343,6 +4283,14 @@ msgstr "(Ñпочатку chdir)" msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: ÑталаÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°; нікуди перейти на аварійний режим" +#, c-format +msgid "%s: failure" +msgstr "%s: ÑталаÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°" + +#, c-format +msgid "%s: done." +msgstr "%s: завершено." + msgid "ftpfs: storing file" msgstr "ftpfs: триває Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ" @@ -4502,6 +4450,52 @@ msgstr "sftp: (Ctrl-G перервати) Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ ÑпиÑку... %s" msgid "sftp: Listing done." msgstr "sftp: Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ ÑпиÑку завершено." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Зараз немає змоги Ñтворювати з’єднаннÑ, авторизовані паролем." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Триває Ð¿ÐµÑ€ÐµÑ€Ð¸Ð²Ð°Ð½Ð½Ñ Ð¿ÐµÑ€ÐµÐ½ÐµÑеннÑ…" + +msgid "Error reported after abort." +msgstr "СталаÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° піÑÐ»Ñ Ð¿ÐµÑ€ÐµÑ€Ð¸Ð²Ð°Ð½Ð½Ñ." + +msgid "Aborted transfer would be successful." +msgstr "Перерване перенеÑÐµÐ½Ð½Ñ Ð¼Ð¾Ð³Ð»Ð¾ завершитиÑÑ ÑƒÑпішно." + msgid "Inconsistent tar archive" msgstr "ВиÑвлено неузгоджений архів tar" diff --git a/mcsrc/po/uz.po b/mcsrc/po/uz.po index 9256683..9889020 100644 --- a/mcsrc/po/uz.po +++ b/mcsrc/po/uz.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Uzbek (http://app.transifex.com/mc/mc/language/uz/)\n" @@ -703,7 +703,8 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1539,7 +1540,7 @@ msgid "" "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3896,65 +3897,23 @@ msgid "" "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "" - -msgid "fish: Sending password..." -msgstr "" - -msgid "fish: Sending initial line..." -msgstr "" - -msgid "fish: Handshaking version..." -msgstr "" - -msgid "fish: Getting host info..." -msgstr "" - -#, c-format -msgid "fish: Reading directory %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "%s: done." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "%s: failure" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #, c-format @@ -4067,6 +4026,14 @@ msgstr "" msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "" + +#, c-format +msgid "%s: done." +msgstr "" + msgid "ftpfs: storing file" msgstr "" @@ -4200,6 +4167,52 @@ msgstr "" msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" diff --git a/mcsrc/po/vi.po b/mcsrc/po/vi.po index 71e2cad..23af264 100644 --- a/mcsrc/po/vi.po +++ b/mcsrc/po/vi.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Slava Zanko , 2011\n" "Language-Team: Vietnamese (http://app.transifex.com/mc/mc/language/vi/)\n" @@ -706,7 +706,8 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1542,7 +1543,7 @@ msgid "" "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3930,67 +3931,25 @@ msgid "" "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: Ngừng kết nối từ %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: Äang chá»i dòng đầu tiên..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Xin lá»—i, bây giá» không thể tạo kết nối xác thá»±c theo mật khẩu." - -#, c-format -msgid "fish: Password is required for %s" +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -msgid "fish: Sending password..." -msgstr "fish: Äang gá»­i mật khẩu..." - -msgid "fish: Sending initial line..." -msgstr "fish: Äang gá»­i dòng đầu tiên..." - -msgid "fish: Handshaking version..." -msgstr "fish: Äang xác nhận phiên bản..." - -msgid "fish: Getting host info..." +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: Äá»c thÆ° mục %s..." - -#, c-format -msgid "%s: done." -msgstr "%s: xong." - -#, c-format -msgid "%s: failure" -msgstr "%s: lá»—i" - -#, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: bản ghi %s: Ä‘ang gá»­i câu lệnh..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: Lá»—i Ä‘á»c ná»™i bá»™, Ä‘ang gá»­i các số không" - -msgid "fish: storing file" +msgid "Warning: cannot open %s directory\n" msgstr "" -msgid "Aborting transfer..." -msgstr "Dừng truyá»n tải..." - -msgid "Error reported after abort." -msgstr "Có lá»—i báo cáo sau khi dừng." - -msgid "Aborted transfer would be successful." -msgstr "Dừng truyá»n tải thành công." - #, c-format msgid "ftpfs: Disconnecting from %s" msgstr "ftpfs: Ngắt kết nối từ %s" @@ -4101,6 +4060,14 @@ msgstr "(đầu tiên chdir)" msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: lá»—i; không có nÆ¡i nào để quay lại vá»" +#, c-format +msgid "%s: failure" +msgstr "%s: lá»—i" + +#, c-format +msgid "%s: done." +msgstr "%s: xong." + msgid "ftpfs: storing file" msgstr "" @@ -4238,6 +4205,52 @@ msgstr "" msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Xin lá»—i, bây giá» không thể tạo kết nối xác thá»±c theo mật khẩu." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Dừng truyá»n tải..." + +msgid "Error reported after abort." +msgstr "Có lá»—i báo cáo sau khi dừng." + +msgid "Aborted transfer would be successful." +msgstr "Dừng truyá»n tải thành công." + msgid "Inconsistent tar archive" msgstr "Tập tin tar không thích hợp" diff --git a/mcsrc/po/wa.po b/mcsrc/po/wa.po index dfd08ae..00e0116 100644 --- a/mcsrc/po/wa.po +++ b/mcsrc/po/wa.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Slava Zanko , 2011\n" "Language-Team: Walloon (http://app.transifex.com/mc/mc/language/wa/)\n" @@ -704,7 +704,8 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1540,7 +1541,7 @@ msgid "" "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3923,65 +3924,23 @@ msgid "" "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: Dji m' disraloye di %s" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "" - -msgid "fish: Sending password..." -msgstr "fish: dj' evoye li scret di l' ûzeu..." - -msgid "fish: Sending initial line..." -msgstr "" - -msgid "fish: Handshaking version..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -msgid "fish: Getting host info..." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: Dji lé li ridant FTP %s..." - -#, c-format -msgid "%s: done." +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "%s: failure" -msgstr "%s: berwete" - -#, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #, c-format @@ -4094,6 +4053,14 @@ msgstr "" msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "%s: berwete" + +#, c-format +msgid "%s: done." +msgstr "" + msgid "ftpfs: storing file" msgstr "" @@ -4227,6 +4194,52 @@ msgstr "" msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" diff --git a/mcsrc/po/zh_CN.po b/mcsrc/po/zh_CN.po index 9052fda..ae4e1cc 100644 --- a/mcsrc/po/zh_CN.po +++ b/mcsrc/po/zh_CN.po @@ -18,7 +18,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Gurbuzguven <6mehmet6@gmail.com>, 2021\n" "Language-Team: Chinese (China) (http://app.transifex.com/mc/mc/language/" @@ -736,30 +736,13 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors KEYWORD={FORE},{BACK},{ATTR}:KEYWORD2=...\n" -"\n" -"{FORE}, {BACK} åŠ {ATTR} å¯ä»¥çœç•¥ï¼Œçœç•¥æ—¶ä½¿ç”¨é»˜è®¤å€¼\n" -"\n" -"关键è¯: \n" -"全局: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -"文件显示: normal, selected, marked, markselect\n" -"对è¯æ¡†çª—å£:dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal, " -"errdhotfocus\n" -"èœå•: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -"弹出èœå•:pmenunormal, pmenusel, pmenutitle\n" -"编辑器:editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -"查看器:viewbold, viewunderline, viewselected\n" -"帮助:helpnormal, helpi talic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1625,7 +1608,7 @@ msgstr "" "为 Midnight Commander 编写的\n" "一个界é¢å‹å¥½çš„文本编辑器。" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -4122,66 +4105,24 @@ msgid "" "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "警告: 无法打开目录 %s\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: 正在从 %s 断开连接" - -msgid "fish: Waiting for initial line..." -msgstr "fish: 正在等待åˆå§‹åŒ–è¡Œ..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "抱歉,目å‰æ— æ³•å»ºç«‹å¯†ç éªŒè¯çš„连接。" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: %s 需è¦å¯†ç " - -msgid "fish: Sending password..." -msgstr "fish: 正在å‘é€å¯†ç ..." - -msgid "fish: Sending initial line..." -msgstr "fish: 正在å‘é€åˆå§‹åŒ–è¡Œ..." - -msgid "fish: Handshaking version..." -msgstr "fish: 正在æ¡æ‰‹ï¼Œå商版本..." - -msgid "fish: Getting host info..." -msgstr "fish: 正在获å–主机信æ¯..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: 正在读å–目录 %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" +msgstr "" -#, c-format -msgid "%s: done." -msgstr "%s: 完æˆã€‚" +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" -#, c-format -msgid "%s: failure" -msgstr "%s: 失败" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: ä¿å­˜ %s: 正在å‘é€å‘½ä»¤..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: 本地读å–失败,正在å‘é€é›¶" - -msgid "fish: storing file" -msgstr "fish: 正在ä¿å­˜æ–‡ä»¶" - -msgid "Aborting transfer..." -msgstr "正在中止传输..." - -msgid "Error reported after abort." -msgstr "中止åŽå‘生错误。" - -msgid "Aborted transfer would be successful." -msgstr "被中止的传输å¯èƒ½æˆåŠŸå®Œæˆäº†ã€‚" +msgid "Warning: cannot open %s directory\n" +msgstr "警告: 无法打开目录 %s\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4293,6 +4234,14 @@ msgstr "(先改å˜ç›®å½•)" msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: 失败;没有åŽå¤‡" +#, c-format +msgid "%s: failure" +msgstr "%s: 失败" + +#, c-format +msgid "%s: done." +msgstr "%s: 完æˆã€‚" + msgid "ftpfs: storing file" msgstr "ftpfs: ä¿å­˜æ–‡ä»¶ä¸­" @@ -4432,6 +4381,52 @@ msgstr "sftp: (Ctrl-G 终止) 正在列出... %s" msgid "sftp: Listing done." msgstr "sftp: 列出完毕。" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "抱歉,目å‰æ— æ³•å»ºç«‹å¯†ç éªŒè¯çš„连接。" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "正在中止传输..." + +msgid "Error reported after abort." +msgstr "中止åŽå‘生错误。" + +msgid "Aborted transfer would be successful." +msgstr "被中止的传输å¯èƒ½æˆåŠŸå®Œæˆäº†ã€‚" + msgid "Inconsistent tar archive" msgstr "ä¸å®Œæ•´çš„ tar 档案文件" diff --git a/mcsrc/po/zh_TW.po b/mcsrc/po/zh_TW.po index 5c67fb1..798c444 100644 --- a/mcsrc/po/zh_TW.po +++ b/mcsrc/po/zh_TW.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-06 15:50+0200\n" +"POT-Creation-Date: 2024-01-20 20:51+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Meng Pang Wang, 2023\n" "Language-Team: Chinese (Taiwan) (http://app.transifex.com/mc/mc/language/" @@ -724,7 +724,8 @@ msgid "" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1569,7 +1570,7 @@ msgid "" "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3985,66 +3986,24 @@ msgid "" "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "警告:無法開啟目錄 %s\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: çµæŸè‡³ %s 的連線" - -msgid "fish: Waiting for initial line..." -msgstr "fish: 等待起始化訊æ¯" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "ä¸å¥½æ„æ€ï¼Œç›®å‰ç„¡æ³•é€²è¡Œç¶“éŽå¯†ç¢¼èªè­‰çš„連線。" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: %s è¦æ±‚輸入密碼" - -msgid "fish: Sending password..." -msgstr "fish: 正在é€å‡ºç™»å…¥å¯†ç¢¼" - -msgid "fish: Sending initial line..." -msgstr "fish: é€å‡ºèµ·å§‹åŒ–訊æ¯" - -msgid "fish: Handshaking version..." -msgstr "fish: 交æ¡ç‰ˆæœ¬" - -msgid "fish: Getting host info..." -msgstr "fish: å–得主機資訊..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish:正在讀å–目錄 %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" +msgstr "" -#, c-format -msgid "%s: done." -msgstr "%s: 完æˆã€‚" +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" -#, c-format -msgid "%s: failure" -msgstr "%s: 失敗" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: 儲存%s: é€å‡ºå‘½ä»¤" - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: 本地端讀å–錯誤, 沒有é€å‡º" - -msgid "fish: storing file" -msgstr "fish: 儲存檔案" - -msgid "Aborting transfer..." -msgstr "放棄傳輸...." - -msgid "Error reported after abort." -msgstr "放棄後回報錯誤" - -msgid "Aborted transfer would be successful." -msgstr "å°‡æˆåŠŸæ”¾æ£„傳輸" +msgid "Warning: cannot open %s directory\n" +msgstr "警告:無法開啟目錄 %s\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4156,6 +4115,14 @@ msgstr "(先切æ›è·¯å¾‘)" msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: 失敗; 無法轉移到其它目錄" +#, c-format +msgid "%s: failure" +msgstr "%s: 失敗" + +#, c-format +msgid "%s: done." +msgstr "%s: 完æˆã€‚" + msgid "ftpfs: storing file" msgstr "ftpfs: 儲存檔案" @@ -4293,6 +4260,52 @@ msgstr "sftp: (Ctrl-G 跳出) 列表... %s" msgid "sftp: Listing done." msgstr "sftp: 列表完æˆã€‚" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "ä¸å¥½æ„æ€ï¼Œç›®å‰ç„¡æ³•é€²è¡Œç¶“éŽå¯†ç¢¼èªè­‰çš„連線。" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "放棄傳輸...." + +msgid "Error reported after abort." +msgstr "放棄後回報錯誤" + +msgid "Aborted transfer would be successful." +msgstr "å°‡æˆåŠŸæ”¾æ£„傳輸" + msgid "Inconsistent tar archive" msgstr "ä¸å®Œæ•´çš„ tar 檔案集" diff --git a/mcsrc/src/Makefile.am b/mcsrc/src/Makefile.am index cca050c..a466599 100644 --- a/mcsrc/src/Makefile.am +++ b/mcsrc/src/Makefile.am @@ -1,128 +1,75 @@ -SUBDIRS = filemanager man2hlp vfs viewer +SUBDIRS = event filehighlight mcconfig search skin tty vfs strutil widget . -if USE_INTERNAL_EDIT -SUBDIRS += editor -endif - -if USE_DIFF -SUBDIRS += diffviewer -endif - -if ENABLE_SUBSHELL -SUBDIRS += subshell -endif - -noinst_LTLIBRARIES = libinternal.la - -AM_CPPFLAGS = \ - -DSYSCONFDIR=\""$(sysconfdir)/@PACKAGE@/"\" \ - -DLIBEXECDIR=\""$(libexecdir)/@PACKAGE@/"\" \ - -DDATADIR=\""$(pkgdatadir)/"\" \ - -DLOCALEDIR=\""$(localedir)"\" \ - -DEXTHELPERSDIR=\""@EXTHELPERSDIR@/"\" - -if CONS_SAVER -SUBDIRS += consaver -AM_CPPFLAGS += -DSAVERDIR=\""$(pkglibexecdir)"\" -endif - -AM_CPPFLAGS += -I$(top_srcdir) $(GLIB_CFLAGS) - -localedir = $(datadir)/locale -pkglibexecdir = $(libexecdir)/@PACKAGE@ - -bin_PROGRAMS = mc - -if USE_INTERNAL_EDIT -EDITLIB = editor/libedit.la -endif - -if USE_DIFF -DIFFLIB = diffviewer/libdiffviewer.la -endif - -if ENABLE_SUBSHELL -SUBSHELLLIB = subshell/libsubshell.la -endif - -libinternal_la_LIBADD = \ - filemanager/libmcfilemanager.la \ - vfs/libmc-vfs.la \ - viewer/libmcviewer.la \ - $(DIFFLIB) $(EDITLIB) $(SUBSHELLLIB) +if ENABLE_MCLIB + LIB_VERSION=`echo $(LIBMC_VERSION) | \ + tr '.' ' '| \ + while read v1 v2 v3; do echo $$v2':'$$v3':'$$v1; done` -mc_LDADD = \ - libinternal.la + AM_LDFLAGS=-no-undefined -version-info $(LIB_VERSION) -release $(LIBMC_RELEASE) -if ENABLE_MCLIB -libinternal_la_LIBADD += \ - $(top_builddir)/lib/libmc.la + lib_LTLIBRARIES = libmc.la else -mc_LDADD += \ - $(top_builddir)/lib/libmc.la + noinst_LTLIBRARIES = libmc.la endif -SRC_mc_conssaver = \ - cons.handler.c consaver/cons.saver.h -mc_SOURCES = \ - main.c +SUBLIB_includes = \ + event.h event-types.h \ + filehighlight.h \ + mcconfig.h \ + search.h \ + skin.h \ + strescape.h \ + strutil.h \ + widget.h -libinternal_la_SOURCES = \ - $(SRC_mc_conssaver) \ - args.c args.h \ - clipboard.c clipboard.h \ - events_init.c events_init.h \ - execute.c execute.h \ - file_history.c file_history.h \ - help.c help.h \ - history.h \ - keymap.c keymap.h \ - learn.c learn.h \ - setup.c setup.h \ - textconf.c textconf.h \ - usermenu.c usermenu.h \ +SRC_mc_utils = \ + utilunix.c utilunix.h \ + unixcompat.h \ util.c util.h -if CHARSET - libinternal_la_SOURCES += selcodepage.c selcodepage.h -endif - -if ENABLE_BACKGROUND - libinternal_la_SOURCES += background.c background.h +libmc_la_SOURCES = \ + $(SUBLIB_includes) \ + $(SRC_mc_utils) \ + file-entry.h \ + fileloc.h \ + fs.h \ + hook.c hook.h \ + glibcompat.c glibcompat.h \ + global.c global.h \ + keybind.c keybind.h \ + lock.c lock.h \ + serialize.c serialize.h \ + shell.c shell.h \ + stat-size.h \ + timefmt.c timefmt.h + +if USE_MAINTAINER_MODE +libmc_la_SOURCES += logging.c logging.h endif -EXTRA_DIST = $(SRC_maintainer) $(SRC_charset) - -# end of automated testing - -install-exec-hook: - $(MAKE) install_mcview -if USE_INTERNAL_EDIT - $(MAKE) install_mcedit -endif -if USE_DIFF - $(MAKE) install_mcdiff +if CHARSET +libmc_la_SOURCES += charsets.c charsets.h endif -# -# Make relative symlinks, but do the right thing if LN_S is `ln' or `cp'. -# -install_mcview: - cd $(DESTDIR)$(bindir)/$(binprefix) && rm -f mcview && $(LN_S) mc mcview +AM_CPPFLAGS = $(GLIB_CFLAGS) -I$(top_srcdir) -install_mcedit: - cd $(DESTDIR)$(bindir)/$(binprefix) && rm -f mcedit && $(LN_S) mc mcedit +libmc_la_LIBADD = \ + event/libmcevent.la \ + filehighlight/libmcfilehighlight.la \ + mcconfig/libmcconfig.la \ + search/libsearch.la \ + strutil/libmcstrutil.la \ + skin/libmcskin.la \ + tty/libmctty.la \ + vfs/libmcvfs.la \ + widget/libmcwidget.la -install_mcdiff: - cd $(DESTDIR)$(bindir)/$(binprefix) && rm -f mcdiff && $(LN_S) mc mcdiff +libmc_la_LIBADD += $(MCLIBS) $(SLANGLIB) -uninstall-hook: - rm -f $(DESTDIR)$(bindir)/$(binprefix)/mcview -if USE_INTERNAL_EDIT - rm -f $(DESTDIR)$(bindir)/$(binprefix)/mcedit -endif -if USE_DIFF - rm -f $(DESTDIR)$(bindir)/$(binprefix)/mcdiff +if HAVE_GMODULE + libmc_la_LIBADD += $(GMODULE_LIBS) +else + libmc_la_LIBADD += $(GLIB_LIBS) endif diff --git a/mcsrc/src/args.c b/mcsrc/src/args.c index a10631f..fc1cecf 100644 --- a/mcsrc/src/args.c +++ b/mcsrc/src/args.c @@ -1,7 +1,7 @@ /* Handle command line arguments. - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: @@ -349,7 +349,7 @@ mc_args_new_color_group (void) " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" - " Editor: editnormal, editbold, editmarked, editwhitespace,\n" + " Editor: editnormal, editbold, editmarked, editwhitespace, editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" diff --git a/mcsrc/src/background.c b/mcsrc/src/background.c index 41a7f40..74c449e 100644 --- a/mcsrc/src/background.c +++ b/mcsrc/src/background.c @@ -2,7 +2,7 @@ /* Background support. - Copyright (C) 1996-2023 + Copyright (C) 1996-2024 Free Software Foundation, Inc. Written by: @@ -553,7 +553,10 @@ do_background (file_op_context_t * ctx, char *info) { int nullfd; + (void) close (comm[0]); parent_fd = comm[1]; + + (void) close (back_comm[1]); from_parent_fd = back_comm[0]; mc_global.we_are_background = TRUE; @@ -580,6 +583,8 @@ do_background (file_op_context_t * ctx, char *info) } else { + (void) close (comm[1]); + (void) close (back_comm[0]); ctx->pid = pid; register_task_running (ctx, pid, comm[0], back_comm[1], info); return 1; diff --git a/mcsrc/src/clipboard.c b/mcsrc/src/clipboard.c index 3c31cb0..a919792 100644 --- a/mcsrc/src/clipboard.c +++ b/mcsrc/src/clipboard.c @@ -1,7 +1,7 @@ /* Util for external clipboard. - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/cons.handler.c b/mcsrc/src/cons.handler.c index 284fffd..891e656 100644 --- a/mcsrc/src/cons.handler.c +++ b/mcsrc/src/cons.handler.c @@ -1,7 +1,7 @@ /* Client interface for General purpose Linux console save/restore server - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. This file is part of the Midnight Commander. diff --git a/mcsrc/src/consaver/cons.saver.c b/mcsrc/src/consaver/cons.saver.c index 4867ab6..dda9c41 100644 --- a/mcsrc/src/consaver/cons.saver.c +++ b/mcsrc/src/consaver/cons.saver.c @@ -11,7 +11,7 @@ Partly rewritten by Jakub Jelinek . - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. This file is part of the Midnight Commander. diff --git a/mcsrc/src/diffviewer/internal.h b/mcsrc/src/diffviewer/internal.h index 728d4b5..ad6fcb2 100644 --- a/mcsrc/src/diffviewer/internal.h +++ b/mcsrc/src/diffviewer/internal.h @@ -108,7 +108,7 @@ typedef struct WDiff gboolean new_frame; int skip_rows; int skip_cols; - int display_symbols; + gboolean display_symbols; int display_numbers; gboolean show_cr; int tab_size; diff --git a/mcsrc/src/diffviewer/search.c b/mcsrc/src/diffviewer/search.c index 098b012..0ad2592 100644 --- a/mcsrc/src/diffviewer/search.c +++ b/mcsrc/src/diffviewer/search.c @@ -1,7 +1,7 @@ /* Search functions for diffviewer. - Copyright (C) 2010-2023 + Copyright (C) 2010-2024 Free Software Foundation, Inc. Written by: @@ -93,7 +93,8 @@ mcdiffview_dialog_search (WDiff * dview) quick_widget_t quick_widgets[] = { /* *INDENT-OFF* */ QUICK_LABELED_INPUT (N_("Enter search string:"), input_label_above, INPUT_LAST_TEXT, - MC_HISTORY_SHARED_SEARCH, &exp, NULL, FALSE, FALSE, INPUT_COMPLETE_NONE), + MC_HISTORY_SHARED_SEARCH, &exp, NULL, FALSE, FALSE, + INPUT_COMPLETE_NONE), QUICK_SEPARATOR (TRUE), QUICK_START_COLUMNS, QUICK_RADIO (num_of_types, (const char **) list_of_types, diff --git a/mcsrc/src/diffviewer/ydiff.c b/mcsrc/src/diffviewer/ydiff.c index cca8dfc..0367b5d 100644 --- a/mcsrc/src/diffviewer/ydiff.c +++ b/mcsrc/src/diffviewer/ydiff.c @@ -1,7 +1,7 @@ /* File difference viewer - Copyright (C) 2007-2023 + Copyright (C) 2007-2024 Free Software Foundation, Inc. Written by: @@ -71,19 +71,6 @@ /*** file scope macro definitions ****************************************************************/ -#define g_array_foreach(a, TP, cbf) \ -do { \ - size_t g_array_foreach_i;\ - \ - for (g_array_foreach_i = 0; g_array_foreach_i < a->len; g_array_foreach_i++) \ - { \ - TP *g_array_foreach_var; \ - \ - g_array_foreach_var = &g_array_index (a, TP, g_array_foreach_i); \ - (*cbf) (g_array_foreach_var); \ - } \ -} while (0) - #define FILE_READ_BUF 4096 #define FILE_FLAG_TEMP (1 << 0) @@ -131,6 +118,23 @@ TAB_SKIP (int ts, int pos) /* --------------------------------------------------------------------------------------------- */ +/** + * Fill buffer by spaces + * + * @param buf buffer + * @param n number of spaces + * @param zero_terminate add a nul after @n spaces + */ +static void +fill_by_space (char *buf, size_t n, gboolean zero_terminate) +{ + memset (buf, ' ', n); + if (zero_terminate) + buf[n] = '\0'; +} + +/* --------------------------------------------------------------------------------------------- */ + static gboolean rewrite_backup_content (const vfs_path_t * from_file_name_vpath, const char *to_file_name) { @@ -196,7 +200,7 @@ open_temp (void **name) */ static FBUF * -f_dopen (int fd) +dview_fdopen (int fd) { FBUF *fs; @@ -232,11 +236,11 @@ f_dopen (int fd) */ static int -f_free (FBUF * fs) +dview_ffree (FBUF * fs) { int rv = 0; - if (fs->flags & FILE_FLAG_TEMP) + if ((fs->flags & FILE_FLAG_TEMP) != 0) { rv = unlink (fs->data); g_free (fs->data); @@ -255,19 +259,19 @@ f_free (FBUF * fs) * @return file structure */ static FBUF * -f_temp (void) +dview_ftemp (void) { int fd; FBUF *fs; - fs = f_dopen (0); + fs = dview_fdopen (0); if (fs == NULL) return NULL; fd = open_temp (&fs->data); if (fd < 0) { - f_free (fs); + dview_ffree (fs); return NULL; } @@ -288,19 +292,19 @@ f_temp (void) */ static FBUF * -f_open (const char *filename, int flags) +dview_fopen (const char *filename, int flags) { int fd; FBUF *fs; - fs = f_dopen (0); + fs = dview_fdopen (0); if (fs == NULL) return NULL; fd = open (filename, flags); if (fd < 0) { - f_free (fs); + dview_ffree (fs); return NULL; } @@ -323,20 +327,20 @@ f_open (const char *filename, int flags) */ static size_t -f_gets (char *buf, size_t size, FBUF * fs) +dview_fgets (char *buf, size_t size, FBUF * fs) { size_t j = 0; do { int i; - int stop = 0; + gboolean stop = FALSE; for (i = fs->pos; j < size && i < fs->len && !stop; i++, j++) { buf[j] = fs->buf[i]; if (buf[j] == '\n') - stop = 1; + stop = TRUE; } fs->pos = i; @@ -365,11 +369,11 @@ f_gets (char *buf, size_t size, FBUF * fs) */ static off_t -f_seek (FBUF * fs, off_t off, int whence) +dview_fseek (FBUF * fs, off_t off, int whence) { off_t rv; - if (fs->len && whence != SEEK_END) + if (fs->len != 0 && whence != SEEK_END) { rv = lseek (fs->fd, 0, SEEK_CUR); if (rv != -1) @@ -404,7 +408,7 @@ f_seek (FBUF * fs, off_t off, int whence) */ static off_t -f_reset (FBUF * fs) +dview_freset (FBUF * fs) { off_t rv; @@ -428,7 +432,7 @@ f_reset (FBUF * fs) */ static ssize_t -f_write (FBUF * fs, const char *buf, size_t size) +dview_fwrite (FBUF * fs, const char *buf, size_t size) { ssize_t rv; @@ -450,7 +454,7 @@ f_write (FBUF * fs, const char *buf, size_t size) */ static off_t -f_trunc (FBUF * fs) +dview_ftrunc (FBUF * fs) { off_t off; @@ -479,14 +483,14 @@ f_trunc (FBUF * fs) */ static int -f_close (FBUF * fs) +dview_fclose (FBUF * fs) { int rv = -1; if (fs != NULL) { rv = close (fs->fd); - f_free (fs); + dview_ffree (fs); } return rv; @@ -504,7 +508,7 @@ f_close (FBUF * fs) */ static FBUF * -p_open (const char *cmd, int flags) +dview_popen (const char *cmd, int flags) { FILE *f; FBUF *fs; @@ -518,14 +522,14 @@ p_open (const char *cmd, int flags) if (type == NULL) return NULL; - fs = f_dopen (0); + fs = dview_fdopen (0); if (fs == NULL) return NULL; f = popen (cmd, type); if (f == NULL) { - f_free (fs); + dview_ffree (fs); return NULL; } @@ -544,14 +548,14 @@ p_open (const char *cmd, int flags) */ static int -p_close (FBUF * fs) +dview_pclose (FBUF * fs) { int rv = -1; if (fs != NULL) { rv = pclose (fs->data); - f_free (fs); + dview_ffree (fs); } return rv; @@ -694,7 +698,7 @@ scan_line (const char *p, GArray * ops) int f1, f2; int t1, t2; int cmd; - int range; + gboolean range = FALSE; /* handle the following cases: * NUMaNUM[,NUM] @@ -707,20 +711,19 @@ scan_line (const char *p, GArray * ops) return -1; f2 = f1; - range = 0; if (*p == ',') { p++; if (scan_deci (&p, &f2) != 0 || f2 < f1) return -1; - range = 1; + range = TRUE; } cmd = *p++; if (cmd == 'a') { - if (range != 0) + if (range) return -1; } else if (cmd != 'c' && cmd != 'd') @@ -730,17 +733,17 @@ scan_line (const char *p, GArray * ops) return -1; t2 = t1; - range = 0; + range = FALSE; if (*p == ',') { p++; if (scan_deci (&p, &t2) != 0 || t2 < t1) return -1; - range = 1; + range = TRUE; } - if (cmd == 'd' && range != 0) + if (cmd == 'd' && range) return -1; op.a[0][0] = f1; @@ -768,7 +771,7 @@ scan_diff (FBUF * f, GArray * ops) int sz; char buf[BUFSIZ]; - while ((sz = f_gets (buf, sizeof (buf) - 1, f)) != 0) + while ((sz = dview_fgets (buf, sizeof (buf) - 1, f)) != 0) { if (isdigit (buf[0])) { @@ -778,12 +781,10 @@ scan_diff (FBUF * f, GArray * ops) buf[sz] = '\0'; if (scan_line (buf, ops) != 0) return -1; - - continue; } - - while (buf[sz - 1] != '\n' && (sz = f_gets (buf, sizeof (buf), f)) != 0) - ; + else + while (buf[sz - 1] != '\n' && (sz = dview_fgets (buf, sizeof (buf), f)) != 0) + ; } return ops->len; @@ -829,14 +830,14 @@ dff_execute (const char *args, const char *extra, const char *file1, const char if (cmd == NULL) return -1; - f = p_open (cmd, O_RDONLY); + f = dview_popen (cmd, O_RDONLY); g_free (cmd); if (f == NULL) return -1; rv = scan_diff (f, ops); - code = p_close (f); + code = dview_pclose (f); if (rv < 0 || code == -1 || !WIFEXITED (code) || WEXITSTATUS (code) == 2) rv = -1; @@ -846,6 +847,38 @@ dff_execute (const char *args, const char *extra, const char *file1, const char /* --------------------------------------------------------------------------------------------- */ +static gboolean +printer_for (char ch, DFUNC printer, void *ctx, FBUF * f, int *line, off_t * off) +{ + size_t sz; + char buf[BUFSIZ]; + + sz = dview_fgets (buf, sizeof (buf), f); + if (sz == 0) + return FALSE; + + (*line)++; + printer (ctx, ch, *line, *off, sz, buf); + *off += sz; + + while (buf[sz - 1] != '\n') + { + sz = dview_fgets (buf, sizeof (buf), f); + if (sz == 0) + { + printer (ctx, 0, 0, 0, 1, "\n"); + break; + } + + printer (ctx, 0, 0, 0, sz, buf); + *off += sz; + } + + return TRUE; +} + +/* --------------------------------------------------------------------------------------------- */ + /** * Reparse and display file according to diff statements. * @@ -863,29 +896,30 @@ dff_reparse (diff_place_t ord, const char *filename, const GArray * ops, DFUNC p { size_t i; FBUF *f; - size_t sz; - char buf[BUFSIZ]; int line = 0; off_t off = 0; const DIFFCMD *op; diff_place_t eff; - int add_cmd; - int del_cmd; + int add_cmd, del_cmd; - f = f_open (filename, O_RDONLY); + f = dview_fopen (filename, O_RDONLY); if (f == NULL) return -1; - ord &= 1; + if (ord != DIFF_LEFT) + ord = DIFF_RIGHT; eff = ord; - add_cmd = 'a'; - del_cmd = 'd'; - if (ord != 0) + if (ord != DIFF_LEFT) { add_cmd = 'd'; del_cmd = 'a'; } + else + { + add_cmd = 'a'; + del_cmd = 'd'; + } #define F1 a[eff][0] #define F2 a[eff][1] #define T1 a[ ord^1 ][0] @@ -895,60 +929,26 @@ dff_reparse (diff_place_t ord, const char *filename, const GArray * ops, DFUNC p int n; op = &g_array_index (ops, DIFFCMD, i); - n = op->F1 - (op->cmd != add_cmd); - while (line < n && (sz = f_gets (buf, sizeof (buf), f)) != 0) - { - line++; - printer (ctx, EQU_CH, line, off, sz, buf); - off += sz; - while (buf[sz - 1] != '\n') - { - sz = f_gets (buf, sizeof (buf), f); - if (sz == 0) - { - printer (ctx, 0, 0, 0, 1, "\n"); - break; - } - printer (ctx, 0, 0, 0, sz, buf); - off += sz; - } - } + n = op->F1; + if (op->cmd != add_cmd) + n--; + + while (line < n && printer_for (EQU_CH, printer, ctx, f, &line, &off)) + ; if (line != n) goto err; if (op->cmd == add_cmd) - { - n = op->T2 - op->T1 + 1; - while (n != 0) - { + for (n = op->T2 - op->T1 + 1; n != 0; n--) printer (ctx, DEL_CH, 0, 0, 1, "\n"); - n--; - } - } if (op->cmd == del_cmd) { - n = op->F2 - op->F1 + 1; - while (n != 0 && (sz = f_gets (buf, sizeof (buf), f)) != 0) - { - line++; - printer (ctx, ADD_CH, line, off, sz, buf); - off += sz; - while (buf[sz - 1] != '\n') - { - sz = f_gets (buf, sizeof (buf), f); - if (sz == 0) - { - printer (ctx, 0, 0, 0, 1, "\n"); - break; - } - printer (ctx, 0, 0, 0, sz, buf); - off += sz; - } - n--; - } + for (n = op->F2 - op->F1 + 1; + n != 0 && printer_for (ADD_CH, printer, ctx, f, &line, &off); n--) + ; if (n != 0) goto err; @@ -956,35 +956,15 @@ dff_reparse (diff_place_t ord, const char *filename, const GArray * ops, DFUNC p if (op->cmd == 'c') { - n = op->F2 - op->F1 + 1; - while (n != 0 && (sz = f_gets (buf, sizeof (buf), f)) != 0) - { - line++; - printer (ctx, CHG_CH, line, off, sz, buf); - off += sz; - while (buf[sz - 1] != '\n') - { - sz = f_gets (buf, sizeof (buf), f); - if (sz == 0) - { - printer (ctx, 0, 0, 0, 1, "\n"); - break; - } - printer (ctx, 0, 0, 0, sz, buf); - off += sz; - } - n--; - } + for (n = op->F2 - op->F1 + 1; + n != 0 && printer_for (CHG_CH, printer, ctx, f, &line, &off); n--) + ; if (n != 0) goto err; - n = op->T2 - op->T1 - (op->F2 - op->F1); - while (n > 0) - { + for (n = op->T2 - op->T1 - (op->F2 - op->F1); n > 0; n--) printer (ctx, CHG_CH, 0, 0, 1, "\n"); - n--; - } } } #undef T2 @@ -992,29 +972,14 @@ dff_reparse (diff_place_t ord, const char *filename, const GArray * ops, DFUNC p #undef F2 #undef F1 - while ((sz = f_gets (buf, sizeof (buf), f)) != 0) - { - line++; - printer (ctx, EQU_CH, line, off, sz, buf); - off += sz; - while (buf[sz - 1] != '\n') - { - sz = f_gets (buf, sizeof (buf), f); - if (sz == 0) - { - printer (ctx, 0, 0, 0, 1, "\n"); - break; - } - printer (ctx, 0, 0, 0, sz, buf); - off += sz; - } - } + while (printer_for (EQU_CH, printer, ctx, f, &line, &off)) + ; - f_close (f); + dview_fclose (f); return 0; err: - f_close (f); + dview_fclose (f); return -1; } @@ -1145,8 +1110,6 @@ hdiff_multi (const char *s, const char *t, const BRACKET bracket, int min, GArra int len; ret = g_array_new (FALSE, TRUE, sizeof (PAIR)); - if (ret == NULL) - return FALSE; len = lcsubstr (s + bracket[DIFF_LEFT].off, bracket[DIFF_LEFT].len, t + bracket[DIFF_RIGHT].off, bracket[DIFF_RIGHT].len, ret, min); @@ -1295,9 +1258,8 @@ cvt_cpy (char *dst, const char *src, size_t srcsize, int base, int ts) j = TAB_SKIP (ts, i + base); i += j - 1; - while (j-- > 0) - *dst++ = ' '; - dst--; + fill_by_space (dst, j, FALSE); + dst += j - 1; } } return i + base; @@ -1339,9 +1301,8 @@ cvt_ncpy (char *dst, int dstsize, const char **_src, size_t srcsize, int base, i if (j > dstsize - i) j = dstsize - i; i += j - 1; - while (j-- > 0) - *dst++ = ' '; - dst--; + fill_by_space (dst, j, FALSE); + dst += j - 1; } } *_src = src; @@ -1435,12 +1396,9 @@ cvt_mget (const char *src, size_t srcsize, char *dst, int dstsize, int skip, int } sz = dst - tmp; } - while (dstsize != 0) - { - dstsize--; - *dst++ = ' '; - } - *dst = '\0'; + + fill_by_space (dst, dstsize, TRUE); + return sz; } @@ -1538,13 +1496,10 @@ cvt_mgeta (const char *src, size_t srcsize, char *dst, int dstsize, int skip, in } sz = dst - tmp; } - while (dstsize != 0) - { - dstsize--; - *att++ = '\0'; - *dst++ = ' '; - } - *dst = '\0'; + + memset (att, '\0', dstsize); + fill_by_space (dst, dstsize, TRUE); + return sz; } @@ -1581,17 +1536,16 @@ cvt_fget (FBUF * f, off_t off, char *dst, size_t dstsize, int skip, int ts, gboo if (sizeof (tmp) < amount || sizeof (tmp) <= dstsize || sizeof (cvt) < 8 * amount) { /* abnormal, but avoid buffer overflow */ - memset (dst, ' ', dstsize); - dst[dstsize] = '\0'; + fill_by_space (dst, dstsize, TRUE); return 0; } - f_seek (f, off, SEEK_SET); + dview_fseek (f, off, SEEK_SET); while (skip > base) { old_base = base; - sz = f_gets (tmp, amount, f); + sz = dview_fgets (tmp, amount, f); if (sz == 0) break; @@ -1606,8 +1560,7 @@ cvt_fget (FBUF * f, off_t off, char *dst, size_t dstsize, int skip, int ts, gboo if (base < skip) { - memset (dst, ' ', dstsize); - dst[dstsize] = '\0'; + fill_by_space (dst, dstsize, TRUE); return 0; } @@ -1621,7 +1574,7 @@ cvt_fget (FBUF * f, off_t off, char *dst, size_t dstsize, int skip, int ts, gboo if (q == NULL) { - sz = f_gets (tmp, dstsize - useful + 1, f); + sz = dview_fgets (tmp, dstsize - useful + 1, f); if (sz != 0) { const char *ptr = tmp; @@ -1642,7 +1595,6 @@ cvt_fget (FBUF * f, off_t off, char *dst, size_t dstsize, int skip, int ts, gboo dst[sz] = lastch; for (i = 0; i < sz && dst[i] != '\n'; i++) - { if (dst[i] == '\r' && dst[i + 1] == '\n') { if (show_cr) @@ -1653,17 +1605,13 @@ cvt_fget (FBUF * f, off_t off, char *dst, size_t dstsize, int skip, int ts, gboo dst[i++] = 'M'; } else - { dst[i++] = '*'; - } } break; } - } - for (; i < dstsize; i++) - dst[i] = ' '; - dst[i] = '\0'; + fill_by_space (dst, dstsize, TRUE); + return sz; } @@ -1671,9 +1619,9 @@ cvt_fget (FBUF * f, off_t off, char *dst, size_t dstsize, int skip, int ts, gboo /* diff printers et al ****************************************************** */ static void -cc_free_elt (void *elt) +cc_free_elt (gpointer elt) { - DIFFLN *p = elt; + DIFFLN *p = (DIFFLN *) elt; if (p != NULL) g_free (p->p); @@ -1727,7 +1675,7 @@ printer (void *ctx, int ch, int line, off_t off, size_t sz, const char *str) if (dsrc == DATA_SRC_TMP && (line != 0 || ch == 0)) { FBUF *f = ((PRINTER_CTX *) ctx)->f; - f_write (f, str, sz); + dview_fwrite (f, str, sz); } return 0; } @@ -1741,8 +1689,8 @@ redo_diff (WDiff * dview) PRINTER_CTX ctx; GArray *ops; int ndiff; - int rv; - char extra[256]; + int rv = 0; + char extra[BUF_MEDIUM]; extra[0] = '\0'; if (dview->opt.quality == 2) @@ -1762,8 +1710,8 @@ redo_diff (WDiff * dview) if (dview->dsrc != DATA_SRC_MEM) { - f_reset (f[DIFF_LEFT]); - f_reset (f[DIFF_RIGHT]); + dview_freset (f[DIFF_LEFT]); + dview_freset (f[DIFF_RIGHT]); } ops = g_array_new (FALSE, FALSE, sizeof (DIFFCMD)); @@ -1776,8 +1724,6 @@ redo_diff (WDiff * dview) } ctx.dsrc = dview->dsrc; - - rv = 0; ctx.a = dview->a[DIFF_LEFT]; ctx.f = f[DIFF_LEFT]; rv |= dff_reparse (DIFF_LEFT, dview->file[DIFF_LEFT], ops, printer, &ctx); @@ -1794,44 +1740,40 @@ redo_diff (WDiff * dview) if (dview->dsrc == DATA_SRC_TMP) { - f_trunc (f[DIFF_LEFT]); - f_trunc (f[DIFF_RIGHT]); + dview_ftrunc (f[DIFF_LEFT]); + dview_ftrunc (f[DIFF_RIGHT]); } if (dview->dsrc == DATA_SRC_MEM && HDIFF_ENABLE) { + size_t i; + dview->hdiff = g_ptr_array_new (); - if (dview->hdiff != NULL) + + for (i = 0; i < dview->a[DIFF_LEFT]->len; i++) { - size_t i; + GArray *h = NULL; + const DIFFLN *p; + const DIFFLN *q; - for (i = 0; i < dview->a[DIFF_LEFT]->len; i++) + p = &g_array_index (dview->a[DIFF_LEFT], DIFFLN, i); + q = &g_array_index (dview->a[DIFF_RIGHT], DIFFLN, i); + if (p->line != 0 && q->line != 0 && p->ch == CHG_CH) { - GArray *h = NULL; - const DIFFLN *p; - const DIFFLN *q; + gboolean runresult; - p = &g_array_index (dview->a[DIFF_LEFT], DIFFLN, i); - q = &g_array_index (dview->a[DIFF_RIGHT], DIFFLN, i); - if (p->line && q->line && p->ch == CHG_CH) - { - h = g_array_new (FALSE, FALSE, sizeof (BRACKET)); - if (h != NULL) - { - gboolean runresult; + h = g_array_new (FALSE, FALSE, sizeof (BRACKET)); - runresult = - hdiff_scan (p->p, p->u.len, q->p, q->u.len, HDIFF_MINCTX, h, - HDIFF_DEPTH); - if (!runresult) - { - g_array_free (h, TRUE); - h = NULL; - } - } + runresult = + hdiff_scan (p->p, p->u.len, q->p, q->u.len, HDIFF_MINCTX, h, HDIFF_DEPTH); + if (!runresult) + { + g_array_free (h, TRUE); + h = NULL; } - g_ptr_array_add (dview->hdiff, h); } + + g_ptr_array_add (dview->hdiff, h); } } return ndiff; @@ -1874,7 +1816,7 @@ get_digits (unsigned int n) { int d = 1; - while (n /= 10) + while ((n /= 10) != 0) d++; return d; } @@ -1935,19 +1877,19 @@ static int find_prev_hunk (const GArray * a, int pos) { #if 1 - while (pos > 0 && ((DIFFLN *) & g_array_index (a, DIFFLN, pos))->ch != EQU_CH) - pos--; - while (pos > 0 && ((DIFFLN *) & g_array_index (a, DIFFLN, pos))->ch == EQU_CH) - pos--; - while (pos > 0 && ((DIFFLN *) & g_array_index (a, DIFFLN, pos))->ch != EQU_CH) - pos--; + for (; pos > 0 && ((DIFFLN *) & g_array_index (a, DIFFLN, pos))->ch != EQU_CH; pos--) + ; + for (; pos > 0 && ((DIFFLN *) & g_array_index (a, DIFFLN, pos))->ch == EQU_CH; pos--) + ; + for (; pos > 0 && ((DIFFLN *) & g_array_index (a, DIFFLN, pos))->ch != EQU_CH; pos--) + ; if (pos > 0 && (size_t) pos < a->len) pos++; #else - while (pos > 0 && ((DIFFLN *) & g_array_index (a, DIFFLN, pos - 1))->ch == EQU_CH) - pos--; - while (pos > 0 && ((DIFFLN *) & g_array_index (a, DIFFLN, pos - 1))->ch != EQU_CH) - pos--; + for (; pos > 0 && ((DIFFLN *) & g_array_index (a, DIFFLN, pos - 1))->ch == EQU_CH; pos--) + ; + for (; pos > 0 && ((DIFFLN *) & g_array_index (a, DIFFLN, pos - 1))->ch != EQU_CH; pos--) + ; #endif return pos; @@ -1958,10 +1900,10 @@ find_prev_hunk (const GArray * a, int pos) static size_t find_next_hunk (const GArray * a, size_t pos) { - while (pos < a->len && ((DIFFLN *) & g_array_index (a, DIFFLN, pos))->ch != EQU_CH) - pos++; - while (pos < a->len && ((DIFFLN *) & g_array_index (a, DIFFLN, pos))->ch == EQU_CH) - pos++; + for (; pos < a->len && ((DIFFLN *) & g_array_index (a, DIFFLN, pos))->ch != EQU_CH; pos++) + ; + for (; pos < a->len && ((DIFFLN *) & g_array_index (a, DIFFLN, pos))->ch == EQU_CH; pos++) + ; return pos; } @@ -2009,15 +1951,17 @@ get_current_hunk (WDiff * dview, int *start_line1, int *end_line1, int *start_li default: break; } - while (pos > 0 && ((DIFFLN *) & g_array_index (a0, DIFFLN, pos))->ch != EQU_CH) - pos--; + + for (; pos > 0 && ((DIFFLN *) & g_array_index (a0, DIFFLN, pos))->ch != EQU_CH; pos--) + ; if (pos > 0) { *start_line1 = ((DIFFLN *) & g_array_index (a0, DIFFLN, pos))->line + 1; *start_line2 = ((DIFFLN *) & g_array_index (a1, DIFFLN, pos))->line + 1; } - pos = dview->skip_rows; - while (pos < a0->len && ((DIFFLN *) & g_array_index (a0, DIFFLN, pos))->ch != EQU_CH) + + for (pos = dview->skip_rows; + pos < a0->len && ((DIFFLN *) & g_array_index (a0, DIFFLN, pos))->ch != EQU_CH; pos++) { int l0, l1; @@ -2027,7 +1971,6 @@ get_current_hunk (WDiff * dview, int *start_line1, int *end_line1, int *start_li *end_line1 = MAX (*start_line1, l0); if (l1 > 0) *end_line2 = MAX (*start_line2, l1); - pos++; } } return res; @@ -2057,12 +2000,9 @@ dview_remove_hunk (WDiff * dview, FILE * merge_file, int from1, int to1, else f0 = fopen (dview->file[DIFF_LEFT], "r"); - line = 0; - while (fgets (buf, sizeof (buf), f0) != NULL && line < from1 - 1) - { - line++; + for (line = 0; fgets (buf, sizeof (buf), f0) != NULL && line < from1 - 1; line++) fputs (buf, merge_file); - } + while (fgets (buf, sizeof (buf), f0) != NULL) { line++; @@ -2090,8 +2030,7 @@ dview_add_hunk (WDiff * dview, FILE * merge_file, int from1, int from2, int to2, { int line; char buf[BUF_10K]; - FILE *f0; - FILE *f1; + FILE *f0, *f1; if (merge_direction == FROM_RIGHT_TO_LEFT) { @@ -2104,14 +2043,9 @@ dview_add_hunk (WDiff * dview, FILE * merge_file, int from1, int from2, int to2, f1 = fopen (dview->file[DIFF_RIGHT], "r"); } - line = 0; - while (fgets (buf, sizeof (buf), f0) != NULL && line < from1 - 1) - { - line++; + for (line = 0; fgets (buf, sizeof (buf), f0) != NULL && line < from1 - 1; line++) fputs (buf, merge_file); - } - line = 0; - while (fgets (buf, sizeof (buf), f1) != NULL && line <= to2) + for (line = 0; fgets (buf, sizeof (buf), f1) != NULL && line <= to2;) { line++; if (line >= from2) @@ -2141,10 +2075,9 @@ static void dview_replace_hunk (WDiff * dview, FILE * merge_file, int from1, int to1, int from2, int to2, action_direction_t merge_direction) { - int line1 = 0, line2 = 0; + int line1, line2; char buf[BUF_10K]; - FILE *f0; - FILE *f1; + FILE *f0, *f1; if (merge_direction == FROM_RIGHT_TO_LEFT) { @@ -2157,12 +2090,9 @@ dview_replace_hunk (WDiff * dview, FILE * merge_file, int from1, int to1, int fr f1 = fopen (dview->file[DIFF_RIGHT], "r"); } - while (fgets (buf, sizeof (buf), f0) != NULL && line1 < from1 - 1) - { - line1++; + for (line1 = 0; fgets (buf, sizeof (buf), f0) != NULL && line1 < from1 - 1; line1++) fputs (buf, merge_file); - } - while (fgets (buf, sizeof (buf), f1) != NULL && line2 <= to2) + for (line2 = 0; fgets (buf, sizeof (buf), f1) != NULL && line2 <= to2;) { line2++; if (line2 >= from2) @@ -2295,18 +2225,14 @@ dview_reread (WDiff * dview) destroy_hdiff (dview); if (dview->a[DIFF_LEFT] != NULL) - { - g_array_foreach (dview->a[DIFF_LEFT], DIFFLN, cc_free_elt); g_array_free (dview->a[DIFF_LEFT], TRUE); - } if (dview->a[DIFF_RIGHT] != NULL) - { - g_array_foreach (dview->a[DIFF_RIGHT], DIFFLN, cc_free_elt); g_array_free (dview->a[DIFF_RIGHT], TRUE); - } dview->a[DIFF_LEFT] = g_array_new (FALSE, FALSE, sizeof (DIFFLN)); + g_array_set_clear_func (dview->a[DIFF_LEFT], cc_free_elt); dview->a[DIFF_RIGHT] = g_array_new (FALSE, FALSE, sizeof (DIFFLN)); + g_array_set_clear_func (dview->a[DIFF_RIGHT], cc_free_elt); ndiff = redo_diff (dview); if (ndiff >= 0) @@ -2358,15 +2284,14 @@ dview_select_encoding (WDiff * dview) static void dview_load_options (WDiff * dview) { - gboolean show_numbers, show_symbols; + gboolean show_numbers; int tab_size; - show_symbols = mc_config_get_bool (mc_global.main_config, "DiffView", "show_symbols", FALSE); - if (show_symbols) - dview->display_symbols = 1; + dview->display_symbols = + mc_config_get_bool (mc_global.main_config, "DiffView", "show_symbols", FALSE); show_numbers = mc_config_get_bool (mc_global.main_config, "DiffView", "show_numbers", FALSE); if (show_numbers) - dview->display_numbers = calc_nwidth ((const GArray * const *) dview->a); + dview->display_numbers = 1; tab_size = mc_config_get_int (mc_global.main_config, "DiffView", "tab_size", 8); if (tab_size > 0 && tab_size < 9) dview->tab_size = tab_size; @@ -2394,8 +2319,7 @@ dview_load_options (WDiff * dview) static void dview_save_options (WDiff * dview) { - mc_config_set_bool (mc_global.main_config, "DiffView", "show_symbols", - dview->display_symbols != 0); + mc_config_set_bool (mc_global.main_config, "DiffView", "show_symbols", dview->display_symbols); mc_config_set_bool (mc_global.main_config, "DiffView", "show_numbers", dview->display_numbers != 0); mc_config_set_int (mc_global.main_config, "DiffView", "tab_size", dview->tab_size); @@ -2489,27 +2413,27 @@ dview_init (WDiff * dview, const char *args, const char *file1, const char *file if (dsrc == DATA_SRC_TMP) { - f[DIFF_LEFT] = f_temp (); + f[DIFF_LEFT] = dview_ftemp (); if (f[DIFF_LEFT] == NULL) return -1; - f[DIFF_RIGHT] = f_temp (); + f[DIFF_RIGHT] = dview_ftemp (); if (f[DIFF_RIGHT] == NULL) { - f_close (f[DIFF_LEFT]); + dview_fclose (f[DIFF_LEFT]); return -1; } } else if (dsrc == DATA_SRC_ORG) { - f[DIFF_LEFT] = f_open (file1, O_RDONLY); + f[DIFF_LEFT] = dview_fopen (file1, O_RDONLY); if (f[DIFF_LEFT] == NULL) return -1; - f[DIFF_RIGHT] = f_open (file2, O_RDONLY); + f[DIFF_RIGHT] = dview_fopen (file2, O_RDONLY); if (f[DIFF_RIGHT] == NULL) { - f_close (f[DIFF_LEFT]); + dview_fclose (f[DIFF_LEFT]); return -1; } } @@ -2520,7 +2444,7 @@ dview_init (WDiff * dview, const char *args, const char *file1, const char *file dview->new_frame = TRUE; dview->skip_rows = 0; dview->skip_cols = 0; - dview->display_symbols = 0; + dview->display_symbols = FALSE; dview->display_numbers = 0; dview->show_cr = TRUE; dview->tab_size = 8; @@ -2550,14 +2474,16 @@ dview_init (WDiff * dview, const char *args, const char *file1, const char *file dview_set_codeset (dview); #endif dview->a[DIFF_LEFT] = g_array_new (FALSE, FALSE, sizeof (DIFFLN)); + g_array_set_clear_func (dview->a[DIFF_LEFT], cc_free_elt); dview->a[DIFF_RIGHT] = g_array_new (FALSE, FALSE, sizeof (DIFFLN)); + g_array_set_clear_func (dview->a[DIFF_RIGHT], cc_free_elt); ndiff = redo_diff (dview); if (ndiff < 0) { /* goto MSG_DESTROY stage: dview_fini() */ - f_close (f[DIFF_LEFT]); - f_close (f[DIFF_RIGHT]); + dview_fclose (f[DIFF_LEFT]); + dview_fclose (f[DIFF_RIGHT]); return -1; } @@ -2575,8 +2501,8 @@ dview_fini (WDiff * dview) { if (dview->dsrc != DATA_SRC_MEM) { - f_close (dview->f[DIFF_RIGHT]); - f_close (dview->f[DIFF_LEFT]); + dview_fclose (dview->f[DIFF_RIGHT]); + dview_fclose (dview->f[DIFF_LEFT]); } #ifdef HAVE_CHARSET @@ -2587,13 +2513,11 @@ dview_fini (WDiff * dview) destroy_hdiff (dview); if (dview->a[DIFF_LEFT] != NULL) { - g_array_foreach (dview->a[DIFF_LEFT], DIFFLN, cc_free_elt); g_array_free (dview->a[DIFF_LEFT], TRUE); dview->a[DIFF_LEFT] = NULL; } if (dview->a[DIFF_RIGHT] != NULL) { - g_array_foreach (dview->a[DIFF_RIGHT], DIFFLN, cc_free_elt); g_array_free (dview->a[DIFF_RIGHT], TRUE); dview->a[DIFF_RIGHT] = NULL; } @@ -2612,7 +2536,7 @@ dview_display_file (const WDiff * dview, diff_place_t ord, int r, int c, int hei char buf[BUFSIZ]; FBUF *f = dview->f[ord]; int skip = dview->skip_cols; - int display_symbols = dview->display_symbols; + gboolean display_symbols = dview->display_symbols; int display_numbers = dview->display_numbers; gboolean show_cr = dview->show_cr; int tab_size = 8; @@ -2620,7 +2544,9 @@ dview_display_file (const WDiff * dview, diff_place_t ord, int r, int c, int hei int nwidth = display_numbers; int xwidth; - xwidth = display_symbols + display_numbers; + xwidth = display_numbers; + if (display_symbols) + xwidth++; if (dview->tab_size > 0 && dview->tab_size < 9) tab_size = dview->tab_size; @@ -2629,9 +2555,9 @@ dview_display_file (const WDiff * dview, diff_place_t ord, int r, int c, int hei if (xwidth > width && display_symbols) { xwidth--; - display_symbols = 0; + display_symbols = FALSE; } - if (xwidth > width && display_numbers) + if (xwidth > width && display_numbers != 0) { xwidth = width; display_numbers = width; @@ -2652,7 +2578,9 @@ dview_display_file (const WDiff * dview, diff_place_t ord, int r, int c, int hei for (i = dview->skip_rows, j = 0; i < dview->a[ord]->len && j < height; j++, i++) { - int ch, next_ch = 0, col; + int ch; + int next_ch = 0; + int col; size_t cnt; p = (DIFFLN *) & g_array_index (dview->a[ord], DIFFLN, i); @@ -2665,7 +2593,7 @@ dview_display_file (const WDiff * dview, diff_place_t ord, int r, int c, int hei } if (p->line != 0) { - if (display_numbers) + if (display_numbers != 0) { tty_gotoyx (r + j, c - xwidth); g_snprintf (buf, display_numbers + 1, "%*d", nwidth, p->line); @@ -2755,19 +2683,17 @@ dview_display_file (const WDiff * dview, diff_place_t ord, int r, int c, int hei } else { - if (display_numbers) + if (display_numbers != 0) { tty_gotoyx (r + j, c - xwidth); - memset (buf, ' ', display_numbers); - buf[display_numbers] = '\0'; + fill_by_space (buf, display_numbers, TRUE); tty_print_string (buf); } if (ch == DEL_CH) tty_setcolor (DFF_DEL_COLOR); if (ch == CHG_CH) tty_setcolor (DFF_CHD_COLOR); - memset (buf, ' ', width); - buf[width] = '\0'; + fill_by_space (buf, width, TRUE); } tty_gotoyx (r + j, c); /* tty_print_nstring (buf, width); */ @@ -2797,10 +2723,8 @@ dview_display_file (const WDiff * dview, diff_place_t ord, int r, int c, int hei if (mc_global.utf8_display) { if (!dview->utf8) - { next_ch = convert_from_8bit_to_utf_c ((unsigned char) next_ch, dview->converter); - } } else if (dview->utf8) next_ch = convert_from_utf_to_current_c (next_ch, dview->converter); @@ -2817,8 +2741,7 @@ dview_display_file (const WDiff * dview, diff_place_t ord, int r, int c, int hei k = width; if (width < xwidth - 1) k = xwidth - 1; - memset (buf, ' ', k); - buf[k] = '\0'; + fill_by_space (buf, k, TRUE); for (; j < height; j++) { if (xwidth != 0) @@ -2873,7 +2796,7 @@ dview_status (const WDiff * dview, diff_place_t ord, int width, int c) static void dview_redo (WDiff * dview) { - if (dview->display_numbers) + if (dview->display_numbers != 0) { int old; @@ -2890,8 +2813,7 @@ static void dview_update (WDiff * dview) { int height = dview->height; - int width1; - int width2; + int width1, width2; int last; last = dview->a[DIFF_LEFT]->len - 1; @@ -2906,6 +2828,10 @@ dview_update (WDiff * dview) if (height < 2) return; + /* use an actual length of dview->a */ + if (dview->display_numbers != 0) + dview->display_numbers = calc_nwidth ((const GArray * const *) dview->a); + width1 = dview->half1 + dview->bias; width2 = dview->half2 - dview->bias; if (dview->full) @@ -2919,7 +2845,9 @@ dview_update (WDiff * dview) int xwidth; tty_setcolor (NORMAL_COLOR); - xwidth = dview->display_symbols + dview->display_numbers; + xwidth = dview->display_numbers; + if (dview->display_symbols) + xwidth++; if (width1 > 1) tty_draw_box (1, 0, height, width1, FALSE); if (width2 > 1) @@ -2955,8 +2883,11 @@ dview_update (WDiff * dview) } if (width2 > 2) { - dview_status (dview, dview->ord ^ 1, width2, width1); - dview_display_file (dview, dview->ord ^ 1, 2, width1 + 1, height - 2, width2 - 2); + diff_place_t ord; + + ord = dview->ord == DIFF_LEFT ? DIFF_RIGHT : DIFF_LEFT; + dview_status (dview, ord, width2, width1); + dview_display_file (dview, ord, 2, width1 + 1, height - 2, width2 - 2); } } @@ -3025,7 +2956,6 @@ dview_goto_cmd (WDiff * dview, diff_place_t ord) size_t i = 0; if (newline > 0) - { for (; i < dview->a[ord]->len; i++) { const DIFFLN *p; @@ -3034,9 +2964,10 @@ dview_goto_cmd (WDiff * dview, diff_place_t ord) if (p->line == newline) break; } - } + dview->skip_rows = dview->search.last_accessed_num_line = (ssize_t) i; } + g_free (input); } @@ -3146,7 +3077,7 @@ dview_execute_cmd (WDiff * dview, long command) switch (command) { case CK_ShowSymbols: - dview->display_symbols ^= 1; + dview->display_symbols = !dview->display_symbols; dview->new_frame = TRUE; break; case CK_ShowNumbers: @@ -3523,9 +3454,9 @@ while (0) #define UNGET_FILE(n) \ do \ { \ - if (use_copy##n) \ + if (use_copy##n != 0) \ { \ - int changed = 0; \ + gboolean changed = FALSE; \ if (use_copy##n > 0) \ { \ time_t mtime; \ @@ -3555,8 +3486,7 @@ dview_diff_cmd (const void *f0, const void *f1) /* run from panels */ const WPanel *panel0 = (const WPanel *) f0; const WPanel *panel1 = (const WPanel *) f1; - const file_entry_t *fe0; - const file_entry_t *fe1; + const file_entry_t *fe0, *fe1; fe0 = panel_current_entry (panel0); file0 = vfs_path_append_new (panel0->cwd_vpath, fe0->fname->str, (char *) NULL); @@ -3634,12 +3564,9 @@ dview_diff_cmd (const void *f0, const void *f1) rv = -1; if (file0 != NULL && file1 != NULL) { - int use_copy0; - int use_copy1; - struct stat st0; - struct stat st1; - vfs_path_t *real_file0; - vfs_path_t *real_file1; + int use_copy0, use_copy1; + struct stat st0, st1; + vfs_path_t *real_file0, *real_file1; GET_FILE_AND_STAMP (0); GET_FILE_AND_STAMP (1); diff --git a/mcsrc/src/editor/bookmark.c b/mcsrc/src/editor/bookmark.c index d530660..040a01b 100644 --- a/mcsrc/src/editor/bookmark.c +++ b/mcsrc/src/editor/bookmark.c @@ -1,7 +1,7 @@ /* Editor book mark handling - Copyright (C) 2001-2023 + Copyright (C) 2001-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/editor/edit-impl.h b/mcsrc/src/editor/edit-impl.h index 3d00545..98472ee 100644 --- a/mcsrc/src/editor/edit-impl.h +++ b/mcsrc/src/editor/edit-impl.h @@ -141,7 +141,7 @@ WEdit *edit_find_editor (const WDialog * h); gboolean edit_widget_is_editor (const Widget * w); gboolean edit_drop_hotkey_menu (WDialog * h, int key); void edit_menu_cmd (WDialog * h); -void user_menu (WEdit * edit, const char *menu_file, int selected_entry); +void edit_user_menu (WEdit * edit, const char *menu_file, int selected_entry); void edit_init_menu (WMenuBar * menubar); void edit_save_mode_cmd (void); off_t edit_move_forward3 (const WEdit * edit, off_t current, long cols, off_t upto); @@ -163,7 +163,7 @@ void edit_set_codeset (WEdit * edit); void edit_block_copy_cmd (WEdit * edit); void edit_block_move_cmd (WEdit * edit); -int edit_block_delete_cmd (WEdit * edit); +gboolean edit_block_delete_cmd (WEdit * edit); void edit_delete_line (WEdit * edit); int edit_delete (WEdit * edit, gboolean byte_delete); diff --git a/mcsrc/src/editor/edit.c b/mcsrc/src/editor/edit.c index 2dfeea2..2eceeed 100644 --- a/mcsrc/src/editor/edit.c +++ b/mcsrc/src/editor/edit.c @@ -1,7 +1,7 @@ /* Editor low level data handling and cursor fundamentals. - Copyright (C) 1996-2023 + Copyright (C) 1996-2024 Free Software Foundation, Inc. Written by: @@ -75,6 +75,7 @@ #endif /*** global variables ****************************************************************************/ + edit_options_t edit_options = { .word_wrap_line_length = DEFAULT_WRAP_LINE_LENGTH, .typewriter_wrap = FALSE, @@ -141,6 +142,7 @@ static const struct edit_filters { "lz4 -cd %s 2>&1", "lz4 > %s", ".lz4" }, { "lzip -cd %s 2>&1", "lzip > %s", ".lz"}, { "lzma -cd %s 2>&1", "lzma > %s", ".lzma" }, + { "lzop -cd %s 2>&1", "lzop > %s", ".lzo"}, { "bzip2 -cd %s 2>&1", "bzip2 > %s", ".bz2" }, { "gzip -cd %s 2>&1", "gzip > %s", ".gz" }, { "gzip -cd %s 2>&1", "gzip > %s", ".Z" } @@ -261,15 +263,20 @@ static char * edit_get_filter (const vfs_path_t * filename_vpath) { int i; - char *p, *quoted_name; + char *quoted_name; + char *p = NULL; i = edit_find_filter (filename_vpath); if (i < 0) return NULL; quoted_name = name_quote (vfs_path_as_str (filename_vpath), FALSE); - p = g_strdup_printf (all_filters[i].read, quoted_name); - g_free (quoted_name); + if (quoted_name != NULL) + { + p = g_strdup_printf (all_filters[i].read, quoted_name); + g_free (quoted_name); + } + return p; } @@ -478,6 +485,7 @@ edit_load_position (WEdit * edit, gboolean load_position) { long line, column; off_t offset; + off_t b; if (edit->filename_vpath == NULL || *(vfs_path_get_by_index (edit->filename_vpath, 0)->path) == '\0') @@ -502,7 +510,8 @@ edit_load_position (WEdit * edit, gboolean load_position) edit->search_start = edit->buffer.curs1; } - edit_move_to_prev_col (edit, edit_buffer_get_current_bol (&edit->buffer)); + b = edit_buffer_get_current_bol (&edit->buffer); + edit_move_to_prev_col (edit, b); edit_move_display (edit, line - (WIDGET (edit)->rect.lines / 2)); } @@ -636,7 +645,7 @@ edit_modification (WEdit * edit) edit->caches_valid = FALSE; /* raise lock when file modified */ - if (!edit->modified && !edit->delete_file) + if (edit->modified == 0 && edit->delete_file == 0) edit->locked = lock_file (edit->filename_vpath); edit->modified = 1; } @@ -678,12 +687,12 @@ is_blank (const edit_buffer_t * buf, off_t offset) off_t s, f; s = edit_buffer_get_bol (buf, offset); - f = edit_buffer_get_eol (buf, offset) - 1; - while (s <= f) + f = edit_buffer_get_eol (buf, offset); + for (; s < f; s++) { int c; - c = edit_buffer_get_byte (buf, s++); + c = edit_buffer_get_byte (buf, s); if (!isspace (c)) return FALSE; } @@ -696,7 +705,8 @@ is_blank (const edit_buffer_t * buf, off_t offset) static off_t edit_find_line (WEdit * edit, long line) { - long i, j = 0; + long i; + long j = 0; long m = 2000000000; /* what is the magic number? */ if (!edit->caches_valid) @@ -873,7 +883,10 @@ edit_move_to_bottom (WEdit * edit) static void edit_cursor_to_bol (WEdit * edit) { - edit_cursor_move (edit, edit_buffer_get_current_bol (&edit->buffer) - edit->buffer.curs1); + off_t b; + + b = edit_buffer_get_current_bol (&edit->buffer); + edit_cursor_move (edit, b - edit->buffer.curs1); edit->search_start = edit->buffer.curs1; edit->prev_col = edit_get_col (edit); edit->over_col = 0; @@ -885,7 +898,10 @@ edit_cursor_to_bol (WEdit * edit) static void edit_cursor_to_eol (WEdit * edit) { - edit_cursor_move (edit, edit_buffer_get_current_eol (&edit->buffer) - edit->buffer.curs1); + off_t b; + + b = edit_buffer_get_current_eol (&edit->buffer); + edit_cursor_move (edit, b - edit->buffer.curs1); edit->search_start = edit->buffer.curs1; edit->prev_col = edit_get_col (edit); edit->over_col = 0; @@ -896,8 +912,8 @@ edit_cursor_to_eol (WEdit * edit) static unsigned long my_type_of (int c) { - unsigned long x, r = 0; - const char *p, *q; + unsigned long r = 0; + const char *q; const char chars_move_whole_word[] = "!=&|<>^~ !:;, !'!`!.?!\"!( !) !{ !} !Aa0 !+-*/= |<> ![ !] !\\#! "; @@ -917,16 +933,21 @@ my_type_of (int c) else if (isspace (c)) c = ' '; q = strchr (chars_move_whole_word, c); - if (!q) + if (q == NULL) return 0xFFFFFFFFUL; + do { + unsigned long x; + const char *p; + for (x = 1, p = chars_move_whole_word; p < q; p++) if (*p == '!') x <<= 1; r |= x; } - while ((q = strchr (q + 1, c))); + while ((q = strchr (q + 1, c)) != NULL); + return r; } @@ -948,8 +969,10 @@ edit_left_word_move (WEdit * edit, int s) if (edit->buffer.curs1 == 0) break; c1 = edit_buffer_get_previous_byte (&edit->buffer); + if (c1 == '\n') + break; c2 = edit_buffer_get_current_byte (&edit->buffer); - if (c1 == '\n' || c2 == '\n') + if (c2 == '\n') break; if ((my_type_of (c1) & my_type_of (c2)) == 0) break; @@ -987,8 +1010,10 @@ edit_right_word_move (WEdit * edit, int s) if (edit->buffer.curs1 >= edit->buffer.size) break; c1 = edit_buffer_get_previous_byte (&edit->buffer); + if (c1 == '\n') + break; c2 = edit_buffer_get_current_byte (&edit->buffer); - if (c1 == '\n' || c2 == '\n') + if (c2 == '\n') break; if ((my_type_of (c1) & my_type_of (c2)) == 0) break; @@ -1117,8 +1142,10 @@ edit_right_delete_word (WEdit * edit) int c1, c2; c1 = edit_delete (edit, TRUE); + if (c1 == '\n') + break; c2 = edit_buffer_get_current_byte (&edit->buffer); - if (c1 == '\n' || c2 == '\n') + if (c2 == '\n') break; if ((isspace (c1) == 0) != (isspace (c2) == 0)) break; @@ -1137,8 +1164,10 @@ edit_left_delete_word (WEdit * edit) int c1, c2; c1 = edit_backspace (edit, TRUE); + if (c1 == '\n') + break; c2 = edit_buffer_get_previous_byte (&edit->buffer); - if (c1 == '\n' || c2 == '\n') + if (c2 == '\n') break; if ((isspace (c1) == 0) != (isspace (c2) == 0)) break; @@ -1161,8 +1190,11 @@ edit_do_undo (WEdit * edit) edit->undo_stack_disable = 1; /* don't record undo's onto undo stack! */ edit->over_col = 0; + while ((ac = edit_pop_undo_action (edit)) < KEY_PRESS) { + off_t b; + switch ((int) ac) { case STACK_BOTTOM: @@ -1198,16 +1230,14 @@ edit_do_undo (WEdit * edit) if (ac >= MARK_1 - 2 && ac < MARK_2 - 2) { edit->mark1 = ac - MARK_1; - edit->column1 = - (long) edit_move_forward3 (edit, edit_buffer_get_bol (&edit->buffer, edit->mark1), - 0, edit->mark1); + b = edit_buffer_get_bol (&edit->buffer, edit->mark1); + edit->column1 = (long) edit_move_forward3 (edit, b, 0, edit->mark1); } if (ac >= MARK_2 - 2 && ac < MARK_CURS - 2) { edit->mark2 = ac - MARK_2; - edit->column2 = - (long) edit_move_forward3 (edit, edit_buffer_get_bol (&edit->buffer, edit->mark2), - 0, edit->mark2); + b = edit_buffer_get_bol (&edit->buffer, edit->mark2); + edit->column2 = (long) edit_move_forward3 (edit, b, 0, edit->mark2); } else if (ac >= MARK_CURS - 2 && ac < KEY_PRESS) { @@ -1248,8 +1278,11 @@ edit_do_redo (WEdit * edit) return; edit->over_col = 0; + while ((ac = edit_pop_redo_action (edit)) < KEY_PRESS) { + off_t b; + switch ((int) ac) { case STACK_BOTTOM: @@ -1283,19 +1316,17 @@ edit_do_redo (WEdit * edit) if (ac >= MARK_1 - 2 && ac < MARK_2 - 2) { edit->mark1 = ac - MARK_1; - edit->column1 = - (long) edit_move_forward3 (edit, edit_buffer_get_bol (&edit->buffer, edit->mark1), - 0, edit->mark1); + b = edit_buffer_get_bol (&edit->buffer, edit->mark1); + edit->column1 = (long) edit_move_forward3 (edit, b, 0, edit->mark1); } else if (ac >= MARK_2 - 2 && ac < KEY_PRESS) { edit->mark2 = ac - MARK_2; - edit->column2 = - (long) edit_move_forward3 (edit, edit_buffer_get_bol (&edit->buffer, edit->mark2), - 0, edit->mark2); + b = edit_buffer_get_bol (&edit->buffer, edit->mark2); + edit->column2 = (long) edit_move_forward3 (edit, b, 0, edit->mark2); } /* more than one pop usually means something big */ - if (count++) + if (count++ != 0) edit->force |= REDRAW_PAGE; } @@ -1325,6 +1356,7 @@ edit_group_undo (WEdit * edit) { long ac = KEY_PRESS; long cur_ac = KEY_PRESS; + while (ac != STACK_BOTTOM && ac == cur_ac) { cur_ac = get_prev_undo_action (edit); @@ -1373,7 +1405,8 @@ is_aligned_on_a_tab (WEdit * edit) static gboolean right_of_four_spaces (WEdit * edit) { - int i, ch = 0; + int i; + int ch = 0; for (i = 1; i <= HALF_TAB_SIZE; i++) ch |= edit_buffer_get_byte (&edit->buffer, edit->buffer.curs1 - i); @@ -1441,14 +1474,8 @@ insert_spaces_tab (WEdit * edit, gboolean half) if (half) i /= 2; if (i != 0) - { - i = ((edit->curs_col / i) + 1) * i - edit->curs_col; - while (i > 0) - { + for (i = ((edit->curs_col / i) + 1) * i - edit->curs_col; i > 0; i -= space_width) edit_insert (edit, ' '); - i -= space_width; - } - } } /* --------------------------------------------------------------------------------------------- */ @@ -1608,6 +1635,8 @@ edit_move_block_to_right (WEdit * edit) do { + off_t b; + edit_cursor_move (edit, cur_bol - edit->buffer.curs1); if (!edit_line_is_blank (edit, edit->buffer.curs_line)) { @@ -1615,8 +1644,9 @@ edit_move_block_to_right (WEdit * edit) insert_spaces_tab (edit, edit_options.fake_half_tabs); else edit_insert (edit, '\t'); - edit_cursor_move (edit, - edit_buffer_get_bol (&edit->buffer, cur_bol) - edit->buffer.curs1); + + b = edit_buffer_get_bol (&edit->buffer, cur_bol); + edit_cursor_move (edit, b - edit->buffer.curs1); } if (cur_bol == 0) @@ -1686,10 +1716,10 @@ edit_move_block_to_left (WEdit * edit) static size_t edit_print_string (WEdit * e, const char *s) { - size_t i = 0; + size_t i; - while (s[i] != '\0') - edit_execute_cmd (e, CK_InsertChar, (unsigned char) s[i++]); + for (i = 0; s[i] != '\0'; i++) + edit_execute_cmd (e, CK_InsertChar, (unsigned char) s[i]); e->force |= REDRAW_COMPLETELY; edit_update_screen (e); return i; @@ -1771,10 +1801,10 @@ edit_insert_column_from_file (WEdit * edit, int file, off_t * start_pos, off_t * /** User edit menu, like user menu (F2) but only in editor. */ void -user_menu (WEdit * edit, const char *menu_file, int selected_entry) +edit_user_menu (WEdit * edit, const char *menu_file, int selected_entry) { char *block_file; - gboolean nomark; + gboolean mark; off_t curs; off_t start_mark, end_mark; struct stat status; @@ -1783,27 +1813,27 @@ user_menu (WEdit * edit, const char *menu_file, int selected_entry) block_file = mc_config_get_full_path (EDIT_HOME_BLOCK_FILE); block_file_vpath = vfs_path_from_str (block_file); curs = edit->buffer.curs1; - nomark = !eval_marks (edit, &start_mark, &end_mark); - if (!nomark) + mark = eval_marks (edit, &start_mark, &end_mark); + if (mark) edit_save_block (edit, block_file, start_mark, end_mark); /* run shell scripts from menu */ if (user_menu_cmd (CONST_WIDGET (edit), menu_file, selected_entry) && (mc_stat (block_file_vpath, &status) == 0) && (status.st_size != 0)) { - int rc = 0; + gboolean rc = FALSE; FILE *fd; /* i.e. we have marked block */ - if (!nomark) + if (mark) rc = edit_block_delete_cmd (edit); - if (rc == 0) + if (!rc) { off_t ins_len; ins_len = edit_insert_file (edit, block_file_vpath); - if (!nomark && ins_len > 0) + if (mark && ins_len > 0) edit_set_markers (edit, start_mark, start_mark + ins_len, 0, 0); } /* truncate block file */ @@ -1826,7 +1856,8 @@ edit_get_write_filter (const vfs_path_t * write_name_vpath, const vfs_path_t * f { int i; const char *write_name; - char *p, *write_name_quoted; + char *write_name_quoted; + char *p = NULL; i = edit_find_filter (filename_vpath); if (i < 0) @@ -1834,8 +1865,11 @@ edit_get_write_filter (const vfs_path_t * write_name_vpath, const vfs_path_t * f write_name = vfs_path_get_last_path_str (write_name_vpath); write_name_quoted = name_quote (write_name, FALSE); - p = g_strdup_printf (all_filters[i].write, write_name_quoted); - g_free (write_name_quoted); + if (write_name_quoted != NULL) + { + p = g_strdup_printf (all_filters[i].write, write_name_quoted); + g_free (write_name_quoted); + } return p; } @@ -1949,7 +1983,7 @@ edit_write_stream (WEdit * edit, FILE * f) gboolean is_break_char (char c) { - return (isspace (c) || strchr ("{}[]()<>=|/\\!?~-+`'\",.;:#$%^&*", c)); + return (isspace (c) || strchr ("{}[]()<>=|/\\!?~-+`'\",.;:#$%^&*", c) != NULL); } /* --------------------------------------------------------------------------------------------- */ @@ -2005,7 +2039,7 @@ edit_insert_file (WEdit * edit, const vfs_path_t * filename_vpath) { int file; off_t blocklen; - int vertical_insertion = 0; + gboolean vertical_insertion = FALSE; char *buf; file = mc_open (filename_vpath, O_RDONLY | O_BINARY); @@ -2018,7 +2052,7 @@ edit_insert_file (WEdit * edit, const vfs_path_t * filename_vpath) { /* if contain signature VERTICAL_MAGIC then it vertical block */ if (memcmp (buf, VERTICAL_MAGIC, sizeof (VERTICAL_MAGIC)) == 0) - vertical_insertion = 1; + vertical_insertion = TRUE; else mc_lseek (file, 0, SEEK_SET); } @@ -2376,6 +2410,7 @@ edit_push_undo_action (WEdit * edit, long c) && ((sp - 2) & edit->undo_stack_size_mask) != edit->undo_stack_bottom) { long d; + if (edit->undo_stack[spm1] < 0) { d = edit->undo_stack[(sp - 2) & edit->undo_stack_size_mask]; @@ -2456,6 +2491,7 @@ edit_push_redo_action (WEdit * edit, long c) && ((sp - 2) & edit->redo_stack_size_mask) != edit->redo_stack_bottom) { long d; + if (edit->redo_stack[spm1] < 0) { d = edit->redo_stack[(sp - 2) & edit->redo_stack_size_mask]; @@ -2847,8 +2883,10 @@ edit_get_cursor_offset (const WEdit * edit) long edit_get_col (const WEdit * edit) { - return (long) edit_move_forward3 (edit, edit_buffer_get_current_bol (&edit->buffer), 0, - edit->buffer.curs1); + off_t b; + + b = edit_buffer_get_current_bol (&edit->buffer); + return (long) edit_move_forward3 (edit, b, 0, edit->buffer.curs1); } /* --------------------------------------------------------------------------------------------- */ @@ -2866,8 +2904,10 @@ edit_update_curs_row (WEdit * edit) void edit_update_curs_col (WEdit * edit) { - edit->curs_col = (long) edit_move_forward3 (edit, edit_buffer_get_current_bol (&edit->buffer), - 0, edit->buffer.curs1); + off_t b; + + b = edit_buffer_get_current_bol (&edit->buffer); + edit->curs_col = (long) edit_move_forward3 (edit, b, 0, edit->buffer.curs1); } /* --------------------------------------------------------------------------------------------- */ @@ -2899,7 +2939,6 @@ edit_scroll_upward (WEdit * edit, long i) edit_update_curs_row (edit); } - /* --------------------------------------------------------------------------------------------- */ void @@ -2955,16 +2994,19 @@ edit_move_to_prev_col (WEdit * edit, off_t p) { long prev = edit->prev_col; long over = edit->over_col; + off_t b; edit_cursor_move (edit, edit_move_forward3 (edit, p, prev + edit->over_col, 0) - edit->buffer.curs1); if (edit_options.cursor_beyond_eol) { + off_t e; long line_len; - line_len = (long) edit_move_forward3 (edit, edit_buffer_get_current_bol (&edit->buffer), 0, - edit_buffer_get_current_eol (&edit->buffer)); + b = edit_buffer_get_current_bol (&edit->buffer); + e = edit_buffer_get_current_eol (&edit->buffer); + line_len = (long) edit_move_forward3 (edit, b, 0, e); if (line_len < prev + edit->over_col) { edit->over_col = prev + over - line_len; @@ -2973,9 +3015,9 @@ edit_move_to_prev_col (WEdit * edit, off_t p) } else { - edit->curs_col = prev + over; - edit->prev_col = edit->curs_col; edit->over_col = 0; + edit->prev_col = edit->curs_col; + edit->curs_col = prev + over; } } else @@ -2995,12 +3037,13 @@ edit_move_to_prev_col (WEdit * edit, off_t p) q = edit->curs_col; edit->curs_col -= (edit->curs_col % fake_half_tabs); p = edit_buffer_get_current_bol (&edit->buffer); - edit_cursor_move (edit, - edit_move_forward3 (edit, p, edit->curs_col, - 0) - edit->buffer.curs1); + b = edit_move_forward3 (edit, p, edit->curs_col, 0); + edit_cursor_move (edit, b - edit->buffer.curs1); if (!left_of_four_spaces (edit)) - edit_cursor_move (edit, - edit_move_forward3 (edit, p, q, 0) - edit->buffer.curs1); + { + b = edit_move_forward3 (edit, p, q, 0); + edit_cursor_move (edit, b - edit->buffer.curs1); + } } } } @@ -3068,6 +3111,71 @@ edit_set_markers (WEdit * edit, off_t m1, off_t m2, long c1, long c2) edit->column2 = c2; } +/* --------------------------------------------------------------------------------------------- */ +/** + if mark2 is -1 then marking is from mark1 to the cursor. + Otherwise its between the markers. This handles this. + Returns FALSE if no text is marked. + */ + +gboolean +eval_marks (WEdit * edit, off_t * start_mark, off_t * end_mark) +{ + long end_mark_curs; + + if (edit->mark1 == edit->mark2) + { + *start_mark = *end_mark = 0; + edit->column2 = edit->column1 = 0; + return FALSE; + } + + if (edit->end_mark_curs < 0) + end_mark_curs = edit->buffer.curs1; + else + end_mark_curs = edit->end_mark_curs; + + if (edit->mark2 >= 0) + { + *start_mark = MIN (edit->mark1, edit->mark2); + *end_mark = MAX (edit->mark1, edit->mark2); + } + else + { + *start_mark = MIN (edit->mark1, end_mark_curs); + *end_mark = MAX (edit->mark1, end_mark_curs); + edit->column2 = edit->curs_col + edit->over_col; + } + + if (edit->column_highlight + && ((edit->mark1 > end_mark_curs && edit->column1 < edit->column2) + || (edit->mark1 < end_mark_curs && edit->column1 > edit->column2))) + { + off_t start_bol, start_eol; + off_t end_bol, end_eol; + long col1, col2; + off_t diff1, diff2; + + start_bol = edit_buffer_get_bol (&edit->buffer, *start_mark); + start_eol = edit_buffer_get_eol (&edit->buffer, start_bol - 1) + 1; + end_bol = edit_buffer_get_bol (&edit->buffer, *end_mark); + end_eol = edit_buffer_get_eol (&edit->buffer, *end_mark); + col1 = MIN (edit->column1, edit->column2); + col2 = MAX (edit->column1, edit->column2); + + diff1 = edit_move_forward3 (edit, start_bol, col2, 0) - + edit_move_forward3 (edit, start_bol, col1, 0); + diff2 = edit_move_forward3 (edit, end_bol, col2, 0) - + edit_move_forward3 (edit, end_bol, col1, 0); + + *start_mark -= diff1; + *end_mark += diff2; + *start_mark = MAX (*start_mark, start_eol); + *end_mark = MIN (*end_mark, end_eol); + } + + return TRUE; +} /* --------------------------------------------------------------------------------------------- */ /** highlight marker toggle */ @@ -3363,7 +3471,6 @@ edit_execute_cmd (WEdit * edit, long command, int char_for_insertion) if (!mc_global.utf8_display || edit->charpoint == 0) #endif if (edit_buffer_get_current_byte (&edit->buffer) != '\n') - edit_delete (edit, FALSE); } if (edit_options.cursor_beyond_eol && edit->over_col > 0) @@ -3377,7 +3484,7 @@ edit_execute_cmd (WEdit * edit, long command, int char_for_insertion) && !mc_global.utf8_display) { unsigned char str[UTF8_CHAR_LEN + 1]; - size_t i = 0; + size_t i; int res; res = g_unichar_to_utf8 (char_for_insertion, (char *) str); @@ -3387,14 +3494,12 @@ edit_execute_cmd (WEdit * edit, long command, int char_for_insertion) str[1] = '\0'; } else - { str[res] = '\0'; - } - while (i <= UTF8_CHAR_LEN && str[i] != '\0') + + for (i = 0; i <= UTF8_CHAR_LEN && str[i] != '\0'; i++) { char_for_insertion = str[i]; edit_insert (edit, char_for_insertion); - i++; } } else @@ -3919,7 +4024,7 @@ edit_execute_cmd (WEdit * edit, long command, int char_for_insertion) edit_goto_matching_bracket (edit); break; case CK_UserMenu: - user_menu (edit, NULL, -1); + edit_user_menu (edit, NULL, -1); break; case CK_Sort: edit_sort_cmd (edit); diff --git a/mcsrc/src/editor/editbuffer.c b/mcsrc/src/editor/editbuffer.c index 24bc7ee..acc776a 100644 --- a/mcsrc/src/editor/editbuffer.c +++ b/mcsrc/src/editor/editbuffer.c @@ -1,7 +1,7 @@ /* Editor text keep buffer. - Copyright (C) 2013-2023 + Copyright (C) 2013-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/editor/editcmd.c b/mcsrc/src/editor/editcmd.c index 76e5460..20f1e39 100644 --- a/mcsrc/src/editor/editcmd.c +++ b/mcsrc/src/editor/editcmd.c @@ -1,7 +1,7 @@ /* Editor high level editing commands - Copyright (C) 1996-2023 + Copyright (C) 1996-2024 Free Software Foundation, Inc. Written by: @@ -479,22 +479,23 @@ edit_save_cmd (WEdit * edit) /* --------------------------------------------------------------------------------------------- */ static void -edit_delete_column_of_text (WEdit * edit) +edit_delete_column_of_text (WEdit * edit, off_t m1, off_t m2) { - off_t m1, m2; off_t n; + off_t r; long b, c, d; - eval_marks (edit, &m1, &m2); n = edit_buffer_get_forward_offset (&edit->buffer, m1, 0, m2) + 1; - c = (long) edit_move_forward3 (edit, edit_buffer_get_bol (&edit->buffer, m1), 0, m1); - d = (long) edit_move_forward3 (edit, edit_buffer_get_bol (&edit->buffer, m2), 0, m2); + r = edit_buffer_get_bol (&edit->buffer, m1); + c = (long) edit_move_forward3 (edit, r, 0, m1); + r = edit_buffer_get_bol (&edit->buffer, m2); + d = (long) edit_move_forward3 (edit, r, 0, m2); b = MAX (MIN (c, d), MIN (edit->column1, edit->column2)); c = MAX (c, MAX (edit->column1, edit->column2)); while (n-- != 0) { - off_t r, p, q; + off_t p, q; r = edit_buffer_get_current_bol (&edit->buffer); p = edit_move_forward3 (edit, r, b, 0); @@ -509,25 +510,22 @@ edit_delete_column_of_text (WEdit * edit) /* move to next line except on the last delete */ if (n != 0) - edit_cursor_move (edit, - edit_buffer_get_forward_offset (&edit->buffer, edit->buffer.curs1, 1, - 0) - edit->buffer.curs1); + { + r = edit_buffer_get_forward_offset (&edit->buffer, edit->buffer.curs1, 1, 0); + edit_cursor_move (edit, r - edit->buffer.curs1); + } } } /* --------------------------------------------------------------------------------------------- */ -/** if success return 0 */ +/** if success return TRUE */ -static int -edit_block_delete (WEdit * edit) +static gboolean +edit_block_delete (WEdit * edit, off_t start_mark, off_t end_mark) { - off_t start_mark, end_mark; off_t curs_pos; long curs_line, c1, c2; - if (!eval_marks (edit, &start_mark, &end_mark)) - return 0; - if (edit->column_highlight && edit->mark2 < 0) edit_mark_cmd (edit, FALSE); @@ -536,7 +534,7 @@ edit_block_delete (WEdit * edit) edit_query_dialog2 (_("Warning"), ("Block is large, you may not be able to undo this action"), _("C&ontinue"), _("&Cancel")) != 0) - return 1; + return FALSE; c1 = MIN (edit->column1, edit->column2); c2 = MAX (edit->column1, edit->column2); @@ -557,16 +555,18 @@ edit_block_delete (WEdit * edit) { if (edit->column_highlight) { + off_t b, e; off_t line_width; if (edit->mark2 < 0) edit_mark_cmd (edit, FALSE); - edit_delete_column_of_text (edit); + edit_delete_column_of_text (edit, start_mark, end_mark); /* move cursor to the saved position */ edit_move_to_line (edit, curs_line); /* calculate line width and cursor position before cut */ - line_width = edit_move_forward3 (edit, edit_buffer_get_current_bol (&edit->buffer), 0, - edit_buffer_get_current_eol (&edit->buffer)); + b = edit_buffer_get_current_bol (&edit->buffer); + e = edit_buffer_get_current_eol (&edit->buffer); + line_width = edit_move_forward3 (edit, b, 0, e); if (edit_options.cursor_beyond_eol && curs_pos > line_width) edit->over_col = curs_pos - line_width; } @@ -582,7 +582,7 @@ edit_block_delete (WEdit * edit) edit_set_markers (edit, 0, 0, 0, 0); edit->force |= REDRAW_PAGE; - return 0; + return TRUE; } /* --------------------------------------------------------------------------------------------- */ @@ -605,7 +605,8 @@ edit_get_block (WEdit * edit, off_t start, off_t finish, off_t * l) int c; off_t x; - x = edit_move_forward3 (edit, edit_buffer_get_bol (&edit->buffer, start), 0, start); + x = edit_buffer_get_bol (&edit->buffer, start); + x = edit_move_forward3 (edit, x, 0, start); c = edit_buffer_get_byte (&edit->buffer, start); if ((x >= edit->column1 && x < edit->column2) || (x >= edit->column2 && x < edit->column1) || c == '\n') @@ -650,15 +651,28 @@ static void pipe_mail (const edit_buffer_t * buf, char *to, char *subject, char *cc) { FILE *p = 0; - char *s; + char *s = NULL; to = name_quote (to, FALSE); - subject = name_quote (subject, FALSE); - cc = name_quote (cc, FALSE); - s = g_strconcat ("mail -s ", subject, *cc ? " -c " : "", cc, " ", to, (char *) NULL); - g_free (to); - g_free (subject); - g_free (cc); + if (to != NULL) + { + subject = name_quote (subject, FALSE); + if (subject != NULL) + { + cc = name_quote (cc, FALSE); + if (cc == NULL) + s = g_strdup_printf ("mail -s %s %s", subject, to); + else + { + s = g_strdup_printf ("mail -s %s -c %s %s", subject, cc, to); + g_free (cc); + } + + g_free (subject); + } + + g_free (to); + } if (s != NULL) { @@ -1289,72 +1303,6 @@ edit_close_cmd (WEdit * edit) return ret; } -/* --------------------------------------------------------------------------------------------- */ -/** - if mark2 is -1 then marking is from mark1 to the cursor. - Otherwise its between the markers. This handles this. - Returns FALSE if no text is marked. - */ - -gboolean -eval_marks (WEdit * edit, off_t * start_mark, off_t * end_mark) -{ - long end_mark_curs; - - if (edit->mark1 == edit->mark2) - { - *start_mark = *end_mark = 0; - edit->column2 = edit->column1 = 0; - return FALSE; - } - - if (edit->end_mark_curs < 0) - end_mark_curs = edit->buffer.curs1; - else - end_mark_curs = edit->end_mark_curs; - - if (edit->mark2 >= 0) - { - *start_mark = MIN (edit->mark1, edit->mark2); - *end_mark = MAX (edit->mark1, edit->mark2); - } - else - { - *start_mark = MIN (edit->mark1, end_mark_curs); - *end_mark = MAX (edit->mark1, end_mark_curs); - edit->column2 = edit->curs_col + edit->over_col; - } - - if (edit->column_highlight - && ((edit->mark1 > end_mark_curs && edit->column1 < edit->column2) - || (edit->mark1 < end_mark_curs && edit->column1 > edit->column2))) - { - off_t start_bol, start_eol; - off_t end_bol, end_eol; - long col1, col2; - off_t diff1, diff2; - - start_bol = edit_buffer_get_bol (&edit->buffer, *start_mark); - start_eol = edit_buffer_get_eol (&edit->buffer, start_bol - 1) + 1; - end_bol = edit_buffer_get_bol (&edit->buffer, *end_mark); - end_eol = edit_buffer_get_eol (&edit->buffer, *end_mark); - col1 = MIN (edit->column1, edit->column2); - col2 = MAX (edit->column1, edit->column2); - - diff1 = edit_move_forward3 (edit, start_bol, col2, 0) - - edit_move_forward3 (edit, start_bol, col1, 0); - diff2 = edit_move_forward3 (edit, end_bol, col2, 0) - - edit_move_forward3 (edit, end_bol, col1, 0); - - *start_mark -= diff1; - *end_mark += diff2; - *start_mark = MAX (*start_mark, start_eol); - *end_mark = MIN (*end_mark, end_eol); - } - - return TRUE; -} - /* --------------------------------------------------------------------------------------------- */ void @@ -1432,6 +1380,7 @@ edit_block_move_cmd (WEdit * edit) off_t size; long c1, c2, b_width; long x, x2; + off_t b1, b2; c1 = MIN (edit->column1, edit->column2); c2 = MAX (edit->column1, edit->column2); @@ -1443,8 +1392,9 @@ edit_block_move_cmd (WEdit * edit) x2 = x + edit->over_col; /* do nothing when cursor inside first line of selected area */ - if ((edit_buffer_get_eol (&edit->buffer, edit->buffer.curs1) == - edit_buffer_get_eol (&edit->buffer, start_mark)) && x2 > c1 && x2 <= c2) + b1 = edit_buffer_get_eol (&edit->buffer, edit->buffer.curs1); + b2 = edit_buffer_get_eol (&edit->buffer, start_mark); + if (b1 == b2 && x2 > c1 && x2 <= c2) return; if (edit->buffer.curs1 > start_mark @@ -1463,7 +1413,8 @@ edit_block_move_cmd (WEdit * edit) edit->over_col = MAX (0, edit->over_col - b_width); /* calculate the cursor pos after delete block */ - current = edit_move_forward3 (edit, edit_buffer_get_current_bol (&edit->buffer), x, 0); + b1 = edit_buffer_get_current_bol (&edit->buffer); + current = edit_move_forward3 (edit, b1, x, 0); edit_cursor_move (edit, current - edit->buffer.curs1); edit_scroll_screen_over_cursor (edit); @@ -1477,6 +1428,7 @@ edit_block_move_cmd (WEdit * edit) else { off_t count, count_orig; + off_t x; current = edit->buffer.curs1; copy_buf = g_malloc0 (end_mark - start_mark); @@ -1487,9 +1439,8 @@ edit_block_move_cmd (WEdit * edit) copy_buf[end_mark - count - 1] = edit_delete (edit, TRUE); edit_scroll_screen_over_cursor (edit); - edit_cursor_move (edit, - current - edit->buffer.curs1 - - (((current - edit->buffer.curs1) > 0) ? end_mark - start_mark : 0)); + x = current > edit->buffer.curs1 ? end_mark - start_mark : 0; + edit_cursor_move (edit, current - edit->buffer.curs1 - x); edit_scroll_screen_over_cursor (edit); count_orig = count; while (count-- > start_mark) @@ -1509,19 +1460,19 @@ edit_block_move_cmd (WEdit * edit) } /* --------------------------------------------------------------------------------------------- */ -/** returns 1 if canceelled by user */ +/** returns FALSE if canceelled by user */ -int +gboolean edit_block_delete_cmd (WEdit * edit) { off_t start_mark, end_mark; if (eval_marks (edit, &start_mark, &end_mark)) - return edit_block_delete (edit); + return edit_block_delete (edit, start_mark, end_mark); edit_delete_line (edit); - return 0; + return TRUE; } /* --------------------------------------------------------------------------------------------- */ @@ -1893,7 +1844,7 @@ edit_sort_cmd (WEdit * edit) edit->force |= REDRAW_COMPLETELY; - if (edit_block_delete_cmd (edit)) + if (!edit_block_delete_cmd (edit)) return 1; { @@ -1968,7 +1919,7 @@ edit_block_process_cmd (WEdit * edit, int macro_number) fname = g_strdup_printf ("%s.%i.sh", EDIT_HOME_MACRO_FILE, macro_number); macros_fname = g_build_filename (mc_config_get_data_path (), fname, (char *) NULL); - user_menu (edit, macros_fname, 0); + edit_user_menu (edit, macros_fname, 0); g_free (fname); g_free (macros_fname); edit->force |= REDRAW_COMPLETELY; @@ -1993,8 +1944,8 @@ edit_mail_dialog (WEdit * edit) INPUT_LAST_TEXT, "mail-dlg-input-3", &mail_to, NULL, FALSE, FALSE, INPUT_COMPLETE_USERNAMES), QUICK_LABELED_INPUT (N_("Subject"), input_label_above, - INPUT_LAST_TEXT, "mail-dlg-input-2", - &mail_subject, NULL, FALSE, FALSE, INPUT_COMPLETE_NONE), + INPUT_LAST_TEXT, "mail-dlg-input-2", + &mail_subject, NULL, FALSE, FALSE, INPUT_COMPLETE_NONE), QUICK_LABELED_INPUT (N_("Copies to"), input_label_above, INPUT_LAST_TEXT, "mail-dlg-input", &mail_cc, NULL, FALSE, FALSE, INPUT_COMPLETE_USERNAMES), diff --git a/mcsrc/src/editor/editcomplete.c b/mcsrc/src/editor/editcomplete.c index 06f304d..f3ea0e7 100644 --- a/mcsrc/src/editor/editcomplete.c +++ b/mcsrc/src/editor/editcomplete.c @@ -1,7 +1,7 @@ /* Editor word completion engine - Copyright (C) 2021-2023 + Copyright (C) 2021-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/editor/editdraw.c b/mcsrc/src/editor/editdraw.c index 2a56b70..c0fd1ab 100644 --- a/mcsrc/src/editor/editdraw.c +++ b/mcsrc/src/editor/editdraw.c @@ -1,7 +1,7 @@ /* Editor text drawing. - Copyright (C) 1996-2023 + Copyright (C) 1996-2024 Free Software Foundation, Inc. Written by: @@ -449,7 +449,6 @@ print_to_widget (WEdit * edit, long row, int start_col, int start_col_real, { int style; unsigned int textchar; - int color; if (cols_to_skip != 0) { @@ -459,8 +458,6 @@ print_to_widget (WEdit * edit, long row, int start_col, int start_col_real, style = p->style & 0xFF00; textchar = p->ch; - /* If non-printable - use black background */ - color = (style & MOD_ABNORMAL) != 0 ? 0 : p->style >> 16; if ((style & MOD_WHITESPACE) != 0) { @@ -476,8 +473,10 @@ print_to_widget (WEdit * edit, long row, int start_col, int start_col_real, tty_setcolor (EDITOR_BOLD_COLOR); else if ((style & MOD_MARKED) != 0) tty_setcolor (EDITOR_MARKED_COLOR); + else if ((style & MOD_ABNORMAL) != 0) + tty_setcolor (EDITOR_NONPRINTABLE_COLOR); else - tty_lowlevel_setcolor (color); + tty_lowlevel_setcolor (p->style >> 16); if (edit_options.show_right_margin) { @@ -952,9 +951,8 @@ render_edit_text (WEdit * edit, long start_row, long start_column, long end_row, if ((force & REDRAW_LINE_ABOVE) != 0 && curs_row >= 1) { row = curs_row - 1; - b = edit_buffer_get_backward_offset (&edit->buffer, - edit_buffer_get_current_bol (&edit->buffer), - 1); + b = edit_buffer_get_current_bol (&edit->buffer); + b = edit_buffer_get_backward_offset (&edit->buffer, b, 1); if (row >= start_row && row <= end_row) { if (key_pending (edit)) diff --git a/mcsrc/src/editor/editmacros.c b/mcsrc/src/editor/editmacros.c index f5e3bb8..5a23fd6 100644 --- a/mcsrc/src/editor/editmacros.c +++ b/mcsrc/src/editor/editmacros.c @@ -1,7 +1,7 @@ /* Editor macros engine - Copyright (C) 2001-2023 + Copyright (C) 2001-2024 Free Software Foundation, Inc. This file is part of the Midnight Commander. diff --git a/mcsrc/src/editor/editmenu.c b/mcsrc/src/editor/editmenu.c index 55590d7..128d518 100644 --- a/mcsrc/src/editor/editmenu.c +++ b/mcsrc/src/editor/editmenu.c @@ -1,7 +1,7 @@ /* Editor menu definitions and initialisation - Copyright (C) 1996-2023 + Copyright (C) 1996-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/editor/editoptions.c b/mcsrc/src/editor/editoptions.c index 75b3153..965c60c 100644 --- a/mcsrc/src/editor/editoptions.c +++ b/mcsrc/src/editor/editoptions.c @@ -1,7 +1,7 @@ /* Editor options dialog box - Copyright (C) 1996-2023 + Copyright (C) 1996-2024 Free Software Foundation, Inc. Written by: @@ -174,7 +174,8 @@ edit_options_dialog (WDialog * h) QUICK_CHECKBOX (N_("&Visible trailing spaces"), &edit_options.visible_tws, NULL), QUICK_CHECKBOX (N_("Visible &tabs"), &edit_options.visible_tabs, NULL), QUICK_CHECKBOX (N_("Synta&x highlighting"), &edit_options.syntax_highlighting, NULL), - QUICK_CHECKBOX (N_("C&ursor after inserted block"), &edit_options.cursor_after_inserted_block, NULL), + QUICK_CHECKBOX (N_("C&ursor after inserted block"), + &edit_options.cursor_after_inserted_block, NULL), QUICK_CHECKBOX (N_("Pers&istent selection"), &edit_options.persistent_selections, NULL), QUICK_CHECKBOX (N_("Cursor be&yond end of line"), &edit_options.cursor_beyond_eol, NULL), QUICK_CHECKBOX (N_("&Group undo"), &edit_options.group_undo, NULL), diff --git a/mcsrc/src/editor/editsearch.c b/mcsrc/src/editor/editsearch.c index fe23941..be80d6b 100644 --- a/mcsrc/src/editor/editsearch.c +++ b/mcsrc/src/editor/editsearch.c @@ -1,7 +1,7 @@ /* Search & replace engine of MCEditor. - Copyright (C) 2021-2023 + Copyright (C) 2021-2024 Free Software Foundation, Inc. Written by: @@ -29,7 +29,7 @@ #include "lib/global.h" #include "lib/search.h" -#include "lib/mcconfig.h" /* mc_config_history_get */ +#include "lib/mcconfig.h" /* mc_config_history_get_recent_item() */ #ifdef HAVE_CHARSET #include "lib/charsets.h" /* cp_source */ #endif @@ -336,8 +336,8 @@ edit_dialog_replace_prompt_show (WEdit * edit, char *from_text, char *to_text, i #if defined(WIN32) //WIN32, quick qc = XQUICK_LABEL (qc, repl_from, NULL); qc = XQUICK_LABEL (qc, N_("Replace with:"), NULL); - qc = XQUICK_LABEL (qc, repl_to, NULL); - qc = XQUICK_START_BUTTONS (qc, TRUE, TRUE); + qc = XQUICK_LABEL (qc, repl_to, NULL); + qc = XQUICK_START_BUTTONS (qc, TRUE, TRUE); qc = XQUICK_BUTTON (qc, N_("&Replace"), B_ENTER, NULL, NULL); qc = XQUICK_BUTTON (qc, N_("A&ll"), B_REPLACE_ALL, NULL, NULL); qc = XQUICK_BUTTON (qc, N_("&Skip"), B_SKIP_REPLACE, NULL, NULL); @@ -865,16 +865,12 @@ edit_search_cmd (WEdit * edit, gboolean again) else { /* find last search string in history */ - GList *history; + char *s; - history = mc_config_history_get (MC_HISTORY_SHARED_SEARCH); - if (history != NULL) + s = mc_config_history_get_recent_item (MC_HISTORY_SHARED_SEARCH); + if (s != NULL) { - /* FIXME: is it possible that history->data == NULL? */ - edit->last_search_string = (char *) history->data; - history->data = NULL; - history = g_list_first (history); - g_list_free_full (history, g_free); + edit->last_search_string = s; if (edit_search_init (edit, edit->last_search_string)) { @@ -962,7 +958,8 @@ edit_replace_cmd (WEdit * edit, gboolean again) edit->search = NULL; } - input2_str = g_string_new (input2); + input2_str = g_string_new_take (input2); + input2 = NULL; if (edit->search == NULL) { diff --git a/mcsrc/src/editor/editwidget.c b/mcsrc/src/editor/editwidget.c index 1b2312f..86cff63 100644 --- a/mcsrc/src/editor/editwidget.c +++ b/mcsrc/src/editor/editwidget.c @@ -1,7 +1,7 @@ /* Editor initialisation and callback handler. - Copyright (C) 1996-2023 + Copyright (C) 1996-2024 Free Software Foundation, Inc. Written by: @@ -156,7 +156,7 @@ edit_about (void) QUICK_LABEL (N_("A user friendly text editor\n" "written for the Midnight Commander."), NULL), QUICK_SEPARATOR (FALSE), - QUICK_LABEL (N_("Copyright (C) 1996-2023 the Free Software Foundation"), NULL), + QUICK_LABEL (N_("Copyright (C) 1996-2024 the Free Software Foundation"), NULL), QUICK_START_BUTTONS (TRUE, TRUE), QUICK_BUTTON (N_("&OK"), B_ENTER, NULL, NULL), QUICK_END @@ -178,7 +178,7 @@ edit_about (void) qc = XQUICK_LABEL (qc, N_("A user friendly text editor\n" "written for the Midnight Commander."), NULL), qc = XQUICK_SEPARATOR (qc, FALSE), - qc = XQUICK_LABEL (qc, N_("Copyright (C) 1996-2023 the Free Software Foundation"), NULL), + qc = XQUICK_LABEL (qc, N_("Copyright (C) 1996-2024 the Free Software Foundation"), NULL), qc = XQUICK_START_BUTTONS (qc, TRUE, TRUE), qc = XQUICK_BUTTON (qc, N_("&OK"), B_ENTER, NULL, NULL), qc = XQUICK_END (qc); @@ -202,9 +202,10 @@ edit_about (void) */ static void -edit_help (void) +edit_help (const WDialog * h) { - ev_help_t event_data = { NULL, "[Internal File Editor]" }; + ev_help_t event_data = { NULL, h->help_ctx }; + mc_event_raise (MCEVENT_GROUP_CORE, "help", &event_data); } @@ -446,8 +447,7 @@ edit_dialog_command_execute (WDialog * h, long command) dlg_close (h); break; case CK_Help: - edit_help (); - /* edit->force |= REDRAW_COMPLETELY; */ + edit_help (h); break; case CK_Menu: edit_menu_cmd (h); diff --git a/mcsrc/src/editor/etags.c b/mcsrc/src/editor/etags.c index 7b570d6..ddc5ca8 100644 --- a/mcsrc/src/editor/etags.c +++ b/mcsrc/src/editor/etags.c @@ -6,7 +6,7 @@ or, if etags utility not installed: $ find . -type f -name "*.[ch]" | ctags --c-kinds=+p --fields=+iaS --extra=+q -e -L- - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/editor/format.c b/mcsrc/src/editor/format.c index 3193067..9dc5d72 100644 --- a/mcsrc/src/editor/format.c +++ b/mcsrc/src/editor/format.c @@ -1,7 +1,7 @@ /* Dynamic paragraph formatting. - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Copyright (C) 1996 Paul Sheer diff --git a/mcsrc/src/editor/spell.c b/mcsrc/src/editor/spell.c index aa9153f..eff8c47 100644 --- a/mcsrc/src/editor/spell.c +++ b/mcsrc/src/editor/spell.c @@ -1,7 +1,7 @@ /* Editor spell checker - Copyright (C) 2012-2023 + Copyright (C) 2012-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/editor/syntax.c b/mcsrc/src/editor/syntax.c index 30d71f4..de24457 100644 --- a/mcsrc/src/editor/syntax.c +++ b/mcsrc/src/editor/syntax.c @@ -1,7 +1,7 @@ /* Editor syntax highlighting. - Copyright (C) 1996-2023 + Copyright (C) 1996-2024 Free Software Foundation, Inc. Written by: @@ -248,7 +248,8 @@ compare_word_to_right (const WEdit * edit, off_t i, const GString * text, const unsigned char *p, *q; int c, d, j; - c = xx_tolower (edit, edit_buffer_get_byte (&edit->buffer, i - 1)); + c = edit_buffer_get_byte (&edit->buffer, i - 1); + c = xx_tolower (edit, c); if ((line_start && c != '\n') || (whole_left != NULL && strchr (whole_left, c) != NULL)) return -1; @@ -261,7 +262,8 @@ compare_word_to_right (const WEdit * edit, off_t i, const GString * text, return -1; while (TRUE) { - c = xx_tolower (edit, edit_buffer_get_byte (&edit->buffer, i)); + c = edit_buffer_get_byte (&edit->buffer, i); + c = xx_tolower (edit, c); if (*p == '\0' && whole_right != NULL && strchr (whole_right, c) == NULL) break; if (c == *p) @@ -277,7 +279,8 @@ compare_word_to_right (const WEdit * edit, off_t i, const GString * text, j = 0; while (TRUE) { - c = xx_tolower (edit, edit_buffer_get_byte (&edit->buffer, i)); + c = edit_buffer_get_byte (&edit->buffer, i); + c = xx_tolower (edit, c); if (c == *p) { j = i; @@ -308,7 +311,8 @@ compare_word_to_right (const WEdit * edit, off_t i, const GString * text, while (TRUE) { d = c; - c = xx_tolower (edit, edit_buffer_get_byte (&edit->buffer, i)); + c = edit_buffer_get_byte (&edit->buffer, i); + c = xx_tolower (edit, c); for (j = 0; p[j] != SYNTAX_TOKEN_BRACKET && p[j] != '\0'; j++) if (c == p[j]) goto found_char2; @@ -327,7 +331,8 @@ compare_word_to_right (const WEdit * edit, off_t i, const GString * text, case SYNTAX_TOKEN_BRACE: if (++p > q) return -1; - c = xx_tolower (edit, edit_buffer_get_byte (&edit->buffer, i)); + c = edit_buffer_get_byte (&edit->buffer, i); + c = xx_tolower (edit, c); for (; *p != SYNTAX_TOKEN_BRACE && *p != '\0'; p++) if (c == *p) goto found_char3; @@ -337,13 +342,18 @@ compare_word_to_right (const WEdit * edit, off_t i, const GString * text, p++; break; default: - if (*p != xx_tolower (edit, edit_buffer_get_byte (&edit->buffer, i))) + c = edit_buffer_get_byte (&edit->buffer, i); + if (*p != xx_tolower (edit, c)) return -1; } } - return (whole_right != NULL && - strchr (whole_right, - xx_tolower (edit, edit_buffer_get_byte (&edit->buffer, i))) != NULL) ? -1 : i; + + if (whole_right == NULL) + return i; + + c = edit_buffer_get_byte (&edit->buffer, i); + c = xx_tolower (edit, c); + return strchr (whole_right, c) != NULL ? -1 : i; } /* --------------------------------------------------------------------------------------------- */ @@ -371,7 +381,8 @@ apply_rules_going_right (WEdit * edit, off_t i) off_t end = 0; edit_syntax_rule_t _rule = edit->rule; - c = xx_tolower (edit, edit_buffer_get_byte (&edit->buffer, i)); + c = edit_buffer_get_byte (&edit->buffer, i); + c = xx_tolower (edit, c); if (c == 0) return; @@ -801,44 +812,44 @@ get_args (char *l, char **args, int args_size) /* --------------------------------------------------------------------------------------------- */ static int -this_try_alloc_color_pair (const char *fg, const char *bg, const char *attrs) +this_try_alloc_color_pair (tty_color_pair_t * color) { char f[80], b[80], a[80], *p; - if (bg != NULL && *bg == '\0') - bg = NULL; - if (fg != NULL && *fg == '\0') - fg = NULL; - if (attrs != NULL && *attrs == '\0') - attrs = NULL; + if (color->bg != NULL && *color->bg == '\0') + color->bg = NULL; + if (color->fg != NULL && *color->fg == '\0') + color->fg = NULL; + if (color->attrs != NULL && *color->attrs == '\0') + color->attrs = NULL; - if ((fg == NULL) && (bg == NULL)) + if (color->fg == NULL && color->bg == NULL) return EDITOR_NORMAL_COLOR; - if (fg != NULL) + if (color->fg != NULL) { - g_strlcpy (f, fg, sizeof (f)); + g_strlcpy (f, color->fg, sizeof (f)); p = strchr (f, '/'); if (p != NULL) *p = '\0'; - fg = f; + color->fg = f; } - if (bg != NULL) + if (color->bg != NULL) { - g_strlcpy (b, bg, sizeof (b)); + g_strlcpy (b, color->bg, sizeof (b)); p = strchr (b, '/'); if (p != NULL) *p = '\0'; - bg = b; + color->bg = b; } - if ((fg == NULL) || (bg == NULL)) + if (color->fg == NULL || color->bg == NULL) { /* get colors from skin */ char *editnormal; editnormal = mc_skin_get ("editor", "_default_", "default;default"); - if (fg == NULL) + if (color->fg == NULL) { g_strlcpy (f, editnormal, sizeof (f)); p = strchr (f, ';'); @@ -846,24 +857,24 @@ this_try_alloc_color_pair (const char *fg, const char *bg, const char *attrs) *p = '\0'; if (f[0] == '\0') g_strlcpy (f, "default", sizeof (f)); - fg = f; + color->fg = f; } - if (bg == NULL) + if (color->bg == NULL) { p = strchr (editnormal, ';'); if ((p != NULL) && (*(++p) != '\0')) g_strlcpy (b, p, sizeof (b)); else g_strlcpy (b, "default", sizeof (b)); - bg = b; + color->bg = b; } g_free (editnormal); } - if (attrs != NULL) + if (color->attrs != NULL) { - g_strlcpy (a, attrs, sizeof (a)); + g_strlcpy (a, color->attrs, sizeof (a)); p = strchr (a, '/'); if (p != NULL) *p = '\0'; @@ -871,9 +882,10 @@ this_try_alloc_color_pair (const char *fg, const char *bg, const char *attrs) p = a; while ((p = strchr (p, SYNTAX_TOKEN_PLUS)) != NULL) *p++ = '+'; - attrs = a; + color->attrs = a; } - return tty_try_alloc_color_pair (fg, bg, attrs); + + return tty_try_alloc_color_pair (color, TRUE); } /* --------------------------------------------------------------------------------------------- */ @@ -923,7 +935,7 @@ static int edit_read_syntax_rules (WEdit * edit, FILE * f, char **args, int args_size) { FILE *g = NULL; - char *fg, *bg, *attrs; + tty_color_pair_t color; char last_fg[32] = "", last_bg[32] = "", last_attrs[64] = ""; char whole_right[512]; char whole_left[512]; @@ -1089,19 +1101,19 @@ edit_read_syntax_rules (WEdit * edit, FILE * f, char **args, int args_size) g_ptr_array_add (c->keyword, k); no_words = FALSE; subst_defines (edit->defines, a, &args[ARGS_LEN]); - fg = *a; + color.fg = *a; if (*a != NULL) a++; - bg = *a; + color.bg = *a; if (*a != NULL) a++; - attrs = *a; + color.attrs = *a; if (*a != NULL) a++; - g_strlcpy (last_fg, fg != NULL ? fg : "", sizeof (last_fg)); - g_strlcpy (last_bg, bg != NULL ? bg : "", sizeof (last_bg)); - g_strlcpy (last_attrs, attrs != NULL ? attrs : "", sizeof (last_attrs)); - k->color = this_try_alloc_color_pair (fg, bg, attrs); + g_strlcpy (last_fg, color.fg != NULL ? color.fg : "", sizeof (last_fg)); + g_strlcpy (last_bg, color.bg != NULL ? color.bg : "", sizeof (last_bg)); + g_strlcpy (last_attrs, color.attrs != NULL ? color.attrs : "", sizeof (last_attrs)); + k->color = this_try_alloc_color_pair (&color); k->keyword = g_string_new (" "); check_not_a; } @@ -1153,22 +1165,22 @@ edit_read_syntax_rules (WEdit * edit, FILE * f, char **args, int args_size) k->keyword = g_string_new (*a++); subst_defines (edit->defines, a, &args[ARGS_LEN]); - fg = *a; + color.fg = *a; if (*a != NULL) a++; - bg = *a; + color.bg = *a; if (*a != NULL) a++; - attrs = *a; + color.attrs = *a; if (*a != NULL) a++; - if (fg == NULL) - fg = last_fg; - if (bg == NULL) - bg = last_bg; - if (attrs == NULL) - attrs = last_attrs; - k->color = this_try_alloc_color_pair (fg, bg, attrs); + if (color.fg == NULL) + color.fg = last_fg; + if (color.bg == NULL) + color.bg = last_bg; + if (color.attrs == NULL) + color.attrs = last_attrs; + k->color = this_try_alloc_color_pair (&color); check_not_a; } else if (*(args[0]) == '#') @@ -1481,7 +1493,7 @@ edit_free_syntax_rules (WEdit * edit) g_ptr_array_free (edit->rules, TRUE); edit->rules = NULL; g_clear_slist (&edit->syntax_marker, g_free); - tty_color_free_all_tmp (); + tty_color_free_temp (); } /* --------------------------------------------------------------------------------------------- */ diff --git a/mcsrc/src/events_init.c b/mcsrc/src/events_init.c index 53473e5..b29678c 100644 --- a/mcsrc/src/events_init.c +++ b/mcsrc/src/events_init.c @@ -1,7 +1,7 @@ /* Event callbacks initialization - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/execute.c b/mcsrc/src/execute.c index c220774..21095a2 100644 --- a/mcsrc/src/execute.c +++ b/mcsrc/src/execute.c @@ -1,7 +1,7 @@ /* Execution routines for GNU Midnight Commander - Copyright (C) 2003-2023 + Copyright (C) 2003-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/file_history.c b/mcsrc/src/file_history.c index e46985e..f4989e7 100644 --- a/mcsrc/src/file_history.c +++ b/mcsrc/src/file_history.c @@ -1,7 +1,7 @@ /* Load and show history of edited and viewed files - Copyright (C) 2020-2023 + Copyright (C) 2020-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/filemanager/Makefile.am b/mcsrc/src/filemanager/Makefile.am index 534d8dc..0b3c365 100644 --- a/mcsrc/src/filemanager/Makefile.am +++ b/mcsrc/src/filemanager/Makefile.am @@ -35,6 +35,4 @@ AM_CPPFLAGS = -I$(top_srcdir) $(GLIB_CFLAGS) if ENABLE_EXT2FS_ATTR libmcfilemanager_la_SOURCES += \ chattr.c - -AM_CPPFLAGS += @EXT2FS_CFLAGS@ @E2P_CFLAGS@ endif diff --git a/mcsrc/src/filemanager/achown.c b/mcsrc/src/filemanager/achown.c index dca3eca..717a645 100644 --- a/mcsrc/src/filemanager/achown.c +++ b/mcsrc/src/filemanager/achown.c @@ -1,7 +1,7 @@ /* Chown-advanced command -- for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. This file is part of the Midnight Commander. diff --git a/mcsrc/src/filemanager/boxes.c b/mcsrc/src/filemanager/boxes.c index c8cc673..5d45e59 100644 --- a/mcsrc/src/filemanager/boxes.c +++ b/mcsrc/src/filemanager/boxes.c @@ -1,7 +1,7 @@ /* Some misc dialog boxes for the program. - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/filemanager/cd.c b/mcsrc/src/filemanager/cd.c index e54e0ae..65b1f62 100644 --- a/mcsrc/src/filemanager/cd.c +++ b/mcsrc/src/filemanager/cd.c @@ -1,7 +1,7 @@ /* cd_to() function. - Copyright (C) 1995-2023 + Copyright (C) 1995-2024 Free Software Foundation, Inc. Written by: @@ -182,13 +182,13 @@ handle_cdpath (const char *path) cdpath = g_strdup (getenv ("CDPATH")); p = cdpath; - c = (p == NULL) ? '\0' : PATH_ENV_SEP; + c = (p == NULL) ? '\0' : ':'; - while (!result && c == PATH_ENV_SEP) + while (!result && c == ':') { char *s; - s = strchr (p, PATH_ENV_SEP); + s = strchr (p, ':'); if (s == NULL) s = strchr (p, '\0'); c = *s; diff --git a/mcsrc/src/filemanager/chattr.c b/mcsrc/src/filemanager/chattr.c index 08a5a99..b5de12a 100644 --- a/mcsrc/src/filemanager/chattr.c +++ b/mcsrc/src/filemanager/chattr.c @@ -1,7 +1,7 @@ /* Chattr command -- for the Midnight Commander - Copyright (C) 2020-2023 + Copyright (C) 2020-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/filemanager/chmod.c b/mcsrc/src/filemanager/chmod.c index c93bcbc..bac3d99 100644 --- a/mcsrc/src/filemanager/chmod.c +++ b/mcsrc/src/filemanager/chmod.c @@ -1,7 +1,7 @@ /* Chmod command -- for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. This file is part of the Midnight Commander. diff --git a/mcsrc/src/filemanager/chown.c b/mcsrc/src/filemanager/chown.c index 1ce769f..ff84a4f 100644 --- a/mcsrc/src/filemanager/chown.c +++ b/mcsrc/src/filemanager/chown.c @@ -1,7 +1,7 @@ /* Chown command -- for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. This file is part of the Midnight Commander. diff --git a/mcsrc/src/filemanager/cmd.c b/mcsrc/src/filemanager/cmd.c index 8c33fd8..0ef7184 100644 --- a/mcsrc/src/filemanager/cmd.c +++ b/mcsrc/src/filemanager/cmd.c @@ -2,7 +2,7 @@ Routines invoked by a function key They normally operate on the current panel. - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: @@ -1199,15 +1199,15 @@ sftplink_cmd (void) /* --------------------------------------------------------------------------------------------- */ -#ifdef ENABLE_VFS_FISH +#ifdef ENABLE_VFS_SHELL void -fishlink_cmd (void) +shelllink_cmd (void) { nice_cd (_("Shell link to machine"), _(machine_str), "[FIle transfer over SHell filesystem]", ":fishlink_cmd: Shell link to machine ", "sh://", 1, TRUE); } -#endif /* ENABLE_VFS_FISH */ +#endif /* ENABLE_VFS_SHELL */ /* --------------------------------------------------------------------------------------------- */ diff --git a/mcsrc/src/filemanager/cmd.h b/mcsrc/src/filemanager/cmd.h index 26bfdb7..30b309c 100644 --- a/mcsrc/src/filemanager/cmd.h +++ b/mcsrc/src/filemanager/cmd.h @@ -35,8 +35,8 @@ void ftplink_cmd (void); #ifdef ENABLE_VFS_SFTP void sftplink_cmd (void); #endif -#ifdef ENABLE_VFS_FISH -void fishlink_cmd (void); +#ifdef ENABLE_VFS_SHELL +void shelllink_cmd (void); #endif void undelete_cmd (void); void help_cmd (void); diff --git a/mcsrc/src/filemanager/command.c b/mcsrc/src/filemanager/command.c index 47d2d75..360f104 100644 --- a/mcsrc/src/filemanager/command.c +++ b/mcsrc/src/filemanager/command.c @@ -4,7 +4,7 @@ with all the magic of the command input line, we depend on some help from the program's callback. - Copyright (C) 1995-2023 + Copyright (C) 1995-2024 Free Software Foundation, Inc. Written by: @@ -139,8 +139,11 @@ enter (WInput * lc_cmdline) char *s; s = expand_format (NULL, cmd[++i], TRUE); - g_string_append (command, s); - g_free (s); + if (s != NULL) + { + g_string_append (command, s); + g_free (s); + } } } @@ -248,8 +251,11 @@ command_insert (WInput * in, const char *text, gboolean insert_extra_space) char *quoted_text; quoted_text = name_quote (text, TRUE); - input_insert (in, quoted_text, insert_extra_space); - g_free (quoted_text); + if (quoted_text != NULL) + { + input_insert (in, quoted_text, insert_extra_space); + g_free (quoted_text); + } } /* --------------------------------------------------------------------------------------------- */ diff --git a/mcsrc/src/filemanager/dir.c b/mcsrc/src/filemanager/dir.c index 0931819..b405131 100644 --- a/mcsrc/src/filemanager/dir.c +++ b/mcsrc/src/filemanager/dir.c @@ -1,7 +1,7 @@ /* Directory routines - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/filemanager/ext.c b/mcsrc/src/filemanager/ext.c index 7b528a1..f7e0bd0 100644 --- a/mcsrc/src/filemanager/ext.c +++ b/mcsrc/src/filemanager/ext.c @@ -1,7 +1,7 @@ /* Extension dependent execution. - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: @@ -340,15 +340,19 @@ exec_make_shell_string (const char *lc_data, const vfs_path_t * filename_vpath) } } - if (!is_cd) - g_string_append (shell_string, text); - else + if (text != NULL) { - strcpy (pbuffer, text); - pbuffer = strchr (pbuffer, 0); + if (!is_cd) + g_string_append (shell_string, text); + else + { + strcpy (pbuffer, text); + pbuffer = strchr (pbuffer, '\0'); + } + + g_free (text); } - g_free (text); written_nonspace = TRUE; } } @@ -680,14 +684,18 @@ get_file_type_local (const vfs_path_t * filename_vpath, char *buf, int buflen) return 1; #else - int ret; - char *tmp; + char *filename_quoted; + int ret = 0; - tmp = name_quote (vfs_path_get_last_path_str (filename_vpath), FALSE); - ret = get_popen_information (FILE_CMD, tmp, buf, buflen); - g_free (tmp); + filename_quoted = name_quote (vfs_path_get_last_path_str (filename_vpath), FALSE); + if (filename_quoted != NULL) + { + ret = get_popen_information (FILE_CMD, filename_quoted, buf, buflen); + g_free (filename_quoted); + } return ret; + #endif } @@ -699,7 +707,7 @@ get_file_type_local (const vfs_path_t * filename_vpath, char *buf, int buflen) #ifdef HAVE_CHARSET static int -get_file_encoding_local (const vfs_path_t * filename_vpath, char *encoding_id, int encoding_id_len) +get_file_encoding_local (const vfs_path_t * filename_vpath, char *buf, int buflen) { #if defined(HAVE_LIBENCA) unsigned char sample[4096]; @@ -719,7 +727,7 @@ get_file_encoding_local (const vfs_path_t * filename_vpath, char *encoding_id, i if (lang && NULL != (analyser = enca_analyser_alloc (lang))) { EncaEncoding encoding = enca_analyse (analyser, sample, sample_len); - snprintf (encoding_id, encoding_id_len-1, "%s", enca_charset_name (encoding.charset, ENCA_NAME_STYLE_HUMAN)); + snprintf (buf, buflen-1, "%s", enca_charset_name (encoding.charset, ENCA_NAME_STYLE_HUMAN)); enca_analyser_free(analyser); return 1; } @@ -727,18 +735,28 @@ get_file_encoding_local (const vfs_path_t * filename_vpath, char *encoding_id, i return 0; #else - char *tmp, *lang, *args; - int ret; + char *filename_quoted; + int ret = 0; - tmp = name_quote (vfs_path_get_last_path_str (filename_vpath), FALSE); - lang = name_quote (autodetect_codeset, FALSE); - args = g_strconcat (" -L", lang, " -i ", tmp, (char *) NULL); + filename_quoted = name_quote (vfs_path_get_last_path_str (filename_vpath), FALSE); + if (filename_quoted != NULL) + { + char *lang; - ret = get_popen_information ("enca", args, encoding_id, encoding_id_len); + lang = name_quote (autodetect_codeset, FALSE); + if (lang != NULL) + { + char *args; - g_free (args); - g_free (lang); - g_free (tmp); + args = g_strdup_printf (" -L %s -i %s", lang, filename_quoted); + g_free (lang); + + ret = get_popen_information ("enca", args, buf, buflen); + g_free (args); + } + + g_free (filename_quoted); + } return ret; #endif @@ -786,6 +804,7 @@ regex_check_type (const vfs_path_t * filename_vpath, const char *ptr, gboolean c return FALSE; } + #ifdef HAVE_CHARSET got_encoding_data = is_autodetect_codeset_enabled ? get_file_encoding_local (localfile_vpath, encoding_id, sizeof (encoding_id)) : 0; diff --git a/mcsrc/src/filemanager/file.c b/mcsrc/src/filemanager/file.c index fa2ef44..92f342f 100644 --- a/mcsrc/src/filemanager/file.c +++ b/mcsrc/src/filemanager/file.c @@ -1,7 +1,7 @@ /* File management. - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: @@ -556,7 +556,11 @@ make_symlink (file_op_context_t * ctx, const vfs_path_t * src_vpath, const vfs_p { const char *r; +#if defined(WIN32) //WIN32, path + r = strrchr2 (src_path, PATH_SEP, PATH_SEP2); +#else r = strrchr (src_path, PATH_SEP); +#endif if (r != NULL) { size_t slen; @@ -1521,7 +1525,7 @@ recursive_erase (file_op_total_context_t * tctx, file_op_context_t * ctx, const * * ATTENTION! Be careful when modifying this function (like commit 25e419ba0886f)! * Some implementations of readdir() in MC VFS (for example, vfs_s_readdir(), which is used - * in FISH) don't return "." and ".." entries. + * in SHELL) don't return "." and ".." entries. */ static int check_dir_is_empty (const vfs_path_t * vpath) @@ -2765,9 +2769,12 @@ copy_file_file (file_op_total_context_t * tctx, file_op_context_t * ctx, /* Query to remove short file */ if (query_dialog (Q_ ("DialogTitle|Copy"), _("Incomplete file was retrieved"), D_ERROR, 2, _("&Delete"), _("&Keep")) == 0) - mc_unlink (dst_vpath); + dst_status = DEST_SHORT_DELETE; + else + dst_status = DEST_SHORT_KEEP; } - else if (dst_status == DEST_SHORT_DELETE) + + if (dst_status == DEST_SHORT_DELETE) mc_unlink (dst_vpath); else if (dst_status == DEST_FULL && !appending) { @@ -2812,9 +2819,11 @@ copy_file_file (file_op_total_context_t * tctx, file_op_context_t * ctx, src_mode = 0100666 & ~src_mode; mc_chmod (dst_vpath, (src_mode & ctx->umask_kill)); } + } + /* Always sync timestamps */ + if (dst_status == DEST_FULL || dst_status == DEST_SHORT_KEEP) mc_utime (dst_vpath, ×); - } if (return_status == FILE_CONT) return_status = progress_update_one (tctx, ctx, file_size); diff --git a/mcsrc/src/filemanager/filegui.c b/mcsrc/src/filemanager/filegui.c index 27ca8fa..d220e07 100644 --- a/mcsrc/src/filemanager/filegui.c +++ b/mcsrc/src/filemanager/filegui.c @@ -10,7 +10,7 @@ Janne Kukonlehto added much error recovery to them for being used in an interactive program. - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: @@ -1496,7 +1496,11 @@ file_mask_dialog (file_op_context_t * ctx, gboolean only_one, const char *format g_free (tmp); vpath = vfs_path_from_str (dest_dir); +#if defined(WIN32) //WIN32, path + ctx->dest_mask = strrchr2 (dest_dir, PATH_SEP, PATH_SEP2); +#else ctx->dest_mask = strrchr (dest_dir, PATH_SEP); +#endif if (ctx->dest_mask == NULL) ctx->dest_mask = dest_dir; else diff --git a/mcsrc/src/filemanager/filemanager.c b/mcsrc/src/filemanager/filemanager.c index 0be83aa..cac3944 100644 --- a/mcsrc/src/filemanager/filemanager.c +++ b/mcsrc/src/filemanager/filemanager.c @@ -1,7 +1,7 @@ /* Main dialog (file panels) of the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: @@ -214,8 +214,8 @@ create_panel_menu (void) #ifdef ENABLE_VFS_FTP entries = g_list_prepend (entries, menu_entry_new (_("FT&P link..."), CK_ConnectFtp)); #endif -#ifdef ENABLE_VFS_FISH - entries = g_list_prepend (entries, menu_entry_new (_("S&hell link..."), CK_ConnectFish)); +#ifdef ENABLE_VFS_SHELL + entries = g_list_prepend (entries, menu_entry_new (_("S&hell link..."), CK_ConnectShell)); #endif #ifdef ENABLE_VFS_SFTP entries = g_list_prepend (entries, menu_entry_new (_("SFTP li&nk..."), CK_ConnectSftp)); @@ -1250,9 +1250,9 @@ midnight_execute_cmd (Widget * sender, long command) case CK_Find: find_cmd (current_panel); break; -#ifdef ENABLE_VFS_FISH - case CK_ConnectFish: - fishlink_cmd (); +#ifdef ENABLE_VFS_SHELL + case CK_ConnectShell: + shelllink_cmd (); break; #endif #ifdef ENABLE_VFS_FTP diff --git a/mcsrc/src/filemanager/filenot.c b/mcsrc/src/filemanager/filenot.c index 2bfc76a..0ceed42 100644 --- a/mcsrc/src/filemanager/filenot.c +++ b/mcsrc/src/filemanager/filenot.c @@ -3,7 +3,7 @@ tree about the changes made to the directory structure. - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Author: diff --git a/mcsrc/src/filemanager/fileopctx.c b/mcsrc/src/filemanager/fileopctx.c index a37d999..dce6c36 100644 --- a/mcsrc/src/filemanager/fileopctx.c +++ b/mcsrc/src/filemanager/fileopctx.c @@ -1,7 +1,7 @@ /* File operation contexts for the Midnight Commander - Copyright (C) 1999-2023 + Copyright (C) 1999-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/filemanager/find.c b/mcsrc/src/filemanager/find.c index c0d2cf9..93f89b1 100644 --- a/mcsrc/src/filemanager/find.c +++ b/mcsrc/src/filemanager/find.c @@ -1,7 +1,7 @@ /* Find file command for the Midnight Commander - Copyright (C) 1995-2023 + Copyright (C) 1995-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/filemanager/hotlist.c b/mcsrc/src/filemanager/hotlist.c index b925ae2..1a23a07 100644 --- a/mcsrc/src/filemanager/hotlist.c +++ b/mcsrc/src/filemanager/hotlist.c @@ -1,7 +1,7 @@ /* Directory hotlist -- for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/filemanager/info.c b/mcsrc/src/filemanager/info.c index 790f820..584bc2a 100644 --- a/mcsrc/src/filemanager/info.c +++ b/mcsrc/src/filemanager/info.c @@ -1,7 +1,7 @@ /* Panel managing. - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/filemanager/layout.c b/mcsrc/src/filemanager/layout.c index 7ec7494..8df3045 100644 --- a/mcsrc/src/filemanager/layout.c +++ b/mcsrc/src/filemanager/layout.c @@ -1,7 +1,7 @@ /* Panel layout module for the Midnight Commander - Copyright (C) 1995-2023 + Copyright (C) 1995-2024 Free Software Foundation, Inc. Written by: @@ -1016,8 +1016,7 @@ setup_cmdline (void) #ifdef ENABLE_SUBSHELL if (mc_global.tty.use_subshell) { - subshell_prompt = g_string_new (tmp_prompt); - g_free (tmp_prompt); + subshell_prompt = g_string_new_take (tmp_prompt); mc_prompt = subshell_prompt->str; } #endif diff --git a/mcsrc/src/filemanager/listmode.c b/mcsrc/src/filemanager/listmode.c index b2f18e2..d7b1879 100644 --- a/mcsrc/src/filemanager/listmode.c +++ b/mcsrc/src/filemanager/listmode.c @@ -1,7 +1,7 @@ /* Directory panel listing format editor -- for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/filemanager/mountlist.c b/mcsrc/src/filemanager/mountlist.c index 756c28b..bab6aa1 100644 --- a/mcsrc/src/filemanager/mountlist.c +++ b/mcsrc/src/filemanager/mountlist.c @@ -1,7 +1,7 @@ /* Return a list of mounted file systems - Copyright (C) 1991-2023 + Copyright (C) 1991-2024 Free Software Foundation, Inc. This file is part of the Midnight Commander. @@ -1353,6 +1353,7 @@ get_fs_usage (char const *file, char const *disk, struct fs_usage *fsp) fsp->fsu_blocksize = (vfsd.f_frsize ? PROPAGATE_ALL_ONES (vfsd.f_frsize) : PROPAGATE_ALL_ONES (vfsd.f_bsize)); + fsp->fsu_blocks = PROPAGATE_ALL_ONES (vfsd.f_blocks); fsp->fsu_bfree = PROPAGATE_ALL_ONES (vfsd.f_bfree); fsp->fsu_bavail = PROPAGATE_TOP_BIT (vfsd.f_bavail); diff --git a/mcsrc/src/filemanager/panel.c b/mcsrc/src/filemanager/panel.c index 1b14c39..995d672 100644 --- a/mcsrc/src/filemanager/panel.c +++ b/mcsrc/src/filemanager/panel.c @@ -1,7 +1,7 @@ /* Panel managing. - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: @@ -2353,8 +2353,7 @@ goto_parent_dir (WPanel * panel) mc_build_filename (vfs_path_as_str (panel->panelized_descr->root_vpath), fname->str, (char *) NULL); - fname = g_string_new (fname2); - g_free (fname2); + fname = g_string_new_take (fname2); } bname = x_basename (fname->str); @@ -2759,11 +2758,13 @@ panel_select_invert_files (WPanel * panel) static void panel_do_set_filter (WPanel * panel) { + /* *INDENT-OFF* */ #if defined(__WATCOMC__) file_filter_t ff = {NULL, NULL, 0); ff.flags = panel->filter.flags; #else - file_filter_t ff = {.value = NULL,.handler = NULL,.flags = panel->filter.flags }; + file_filter_t ff = { .value = NULL, .handler = NULL, .flags = panel->filter.flags }; #endif + /* *INDENT-ON* */ ff.handler = panel_select_unselect_files_dialog (&ff.flags, _("Filter"), MC_HISTORY_FM_PANEL_FILTER, @@ -2943,6 +2944,7 @@ static gboolean do_enter_on_file_entry (WPanel * panel, file_entry_t * fe) { const char *fname = fe->fname->str; + char *fname_quoted; vfs_path_t *full_name_vpath; gboolean ok; @@ -2993,12 +2995,14 @@ do_enter_on_file_entry (WPanel * panel, file_entry_t * fe) return confirm_execute || (ret == 0); } + fname_quoted = name_quote (fname, FALSE); + if (fname_quoted != NULL) { - char *tmp, *cmd; + char *cmd; + + cmd = g_strconcat ("." PATH_SEP_STR, fname_quoted, (char *) NULL); + g_free (fname_quoted); - tmp = name_quote (fname, FALSE); - cmd = g_strconcat (".", PATH_SEP_STR, tmp, (char *) NULL); - g_free (tmp); shell_execute (cmd, 0); g_free (cmd); } @@ -5260,8 +5264,7 @@ panel_panelize_cd (void) tmp_vpath = vfs_path_append_new (pdescr->root_vpath, plist->list[i].fname->str, (char *) NULL); - list->list[i].fname = g_string_new (vfs_path_as_str (tmp_vpath)); - vfs_path_free (tmp_vpath, TRUE); + list->list[i].fname = g_string_new_take (vfs_path_free (tmp_vpath, FALSE)); } list->list[i].f.link_to_dir = plist->list[i].f.link_to_dir; list->list[i].f.stale_link = plist->list[i].f.stale_link; diff --git a/mcsrc/src/filemanager/panelize.c b/mcsrc/src/filemanager/panelize.c index e90076c..b1c87ca 100644 --- a/mcsrc/src/filemanager/panelize.c +++ b/mcsrc/src/filemanager/panelize.c @@ -1,7 +1,7 @@ /* External panelize - Copyright (C) 1995-2023 + Copyright (C) 1995-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/filemanager/tree.c b/mcsrc/src/filemanager/tree.c index fd50407..6f86693 100644 --- a/mcsrc/src/filemanager/tree.c +++ b/mcsrc/src/filemanager/tree.c @@ -6,7 +6,7 @@ created and destroyed. This is required for the future vfs layer, it will be possible to have tree views over virtual file systems. - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: @@ -985,6 +985,16 @@ tree_toggle_navig (WTree * tree) /* --------------------------------------------------------------------------------------------- */ +static void +tree_help (void) +{ + ev_help_t event_data = { NULL, "[Directory Tree]" }; + + mc_event_raise (MCEVENT_GROUP_CORE, "help", &event_data); +} + +/* --------------------------------------------------------------------------------------------- */ + static cb_ret_t tree_execute_cmd (WTree * tree, long command) { @@ -996,10 +1006,7 @@ tree_execute_cmd (WTree * tree, long command) switch (command) { case CK_Help: - { - ev_help_t event_data = { NULL, "[Directory Tree]" }; - mc_event_raise (MCEVENT_GROUP_CORE, "help", &event_data); - } + tree_help (); break; case CK_Forget: tree_forget (tree); diff --git a/mcsrc/src/filemanager/treestore.c b/mcsrc/src/filemanager/treestore.c index 2d23c93..984bb92 100644 --- a/mcsrc/src/filemanager/treestore.c +++ b/mcsrc/src/filemanager/treestore.c @@ -8,7 +8,7 @@ created and destroyed. This is required for the future vfs layer, it will be possible to have tree views over virtual file systems. - Copyright (C) 1999-2023 + Copyright (C) 1999-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/help.c b/mcsrc/src/help.c index a14744a..f36704c 100644 --- a/mcsrc/src/help.c +++ b/mcsrc/src/help.c @@ -1,7 +1,7 @@ /* Hypertext file browser. - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. This file is part of the Midnight Commander. @@ -126,21 +126,20 @@ static const char * search_string (const char *start, const char *text) { const char *result = NULL; - char *local_text = g_strdup (text); - char *d = local_text; + char *local_text; + char *d; const char *e = start; + local_text = g_strdup (text); + /* fmt sometimes replaces a space with a newline in the help file */ /* Replace the newlines in the link name with spaces to correct the situation */ - while (*d != '\0') - { + for (d = local_text; *d != '\0'; str_next_char (&d)) if (*d == '\n') *d = ' '; - str_next_char (&d); - } /* Do search */ - for (d = local_text; *e; e++) + for (d = local_text; *e != '\0'; e++) { if (*d == *e) d++; @@ -166,11 +165,12 @@ search_string (const char *start, const char *text) static const char * search_string_node (const char *start, const char *text) { - const char *d = text; - const char *e = start; - if (start != NULL) - for (; *e && *e != CHAR_NODE_END; e++) + { + const char *d = text; + const char *e; + + for (e = start; *e != '\0' && *e != CHAR_NODE_END; e++) { if (*d == *e) d++; @@ -179,6 +179,7 @@ search_string_node (const char *start, const char *text) if (*d == '\0') return e + 1; } + } return NULL; } @@ -271,7 +272,7 @@ move_backward (int i) static void move_to_top (void) { - while (((int) (currentpoint > fdata) > 0) && (*currentpoint != CHAR_NODE_END)) + while (((int) (currentpoint - fdata) > 0) && (*currentpoint != CHAR_NODE_END)) currentpoint--; while (*currentpoint != ']') @@ -301,7 +302,7 @@ help_follow_link (const char *start, const char *lc_selected_item) if (lc_selected_item == NULL) return start; - for (p = lc_selected_item; *p && *p != CHAR_NODE_END && *p != CHAR_LINK_POINTER; p++) + for (p = lc_selected_item; *p != '\0' && *p != CHAR_NODE_END && *p != CHAR_LINK_POINTER; p++) ; if (*p == CHAR_LINK_POINTER) { @@ -309,7 +310,8 @@ help_follow_link (const char *start, const char *lc_selected_item) char link_name[MAXLINKNAME]; link_name[0] = '['; - for (i = 1; *p != CHAR_LINK_END && *p && *p != CHAR_NODE_END && i < MAXLINKNAME - 3;) + for (i = 1; + *p != CHAR_LINK_END && *p != '\0' && *p != CHAR_NODE_END && i < MAXLINKNAME - 3;) link_name[i++] = *++p; link_name[i - 1] = ']'; link_name[i] = '\0'; @@ -447,10 +449,7 @@ help_print_word (WDialog * h, GString * word, int *col, int *line, gboolean add_ static void help_show (WDialog * h, const char *paint_start) { - const char *p, *n; - int col, line, c; gboolean painting = TRUE; - gboolean acs; /* Flag: Alternate character set active? */ gboolean repeat_paint; int active_col, active_line; /* Active link position */ char buff[MB_LEN_MAX + 1]; @@ -461,9 +460,15 @@ help_show (WDialog * h, const char *paint_start) tty_setcolor (HELP_NORMAL_COLOR); do { - line = col = active_col = active_line = 0; + int line = 0; + int col = 0; + gboolean acs = FALSE; /* Flag: Is alternate character set active? */ + const char *p, *n; + + active_col = 0; + active_line = 0; + repeat_paint = FALSE; - acs = FALSE; clear_link_areas (); if ((int) (selected_item - paint_start) < 0) @@ -473,6 +478,8 @@ help_show (WDialog * h, const char *paint_start) n = paint_start; while ((n[0] != '\0') && (n[0] != CHAR_NODE_END) && (line < help_lines)) { + int c; + p = n; n = str_cget_next_char (p); memcpy (buff, p, n - p); @@ -597,7 +604,7 @@ help_show (WDialog * h, const char *paint_start) g_string_free (word, TRUE); /* Position the cursor over a nice link */ - if (active_col) + if (active_col != 0) widget_gotoyx (h, active_line, active_col); } @@ -1143,9 +1150,8 @@ help_interactive_display (const gchar * event_group_name, const gchar * event_na selected_item = search_string_node (main_node, STRING_LINK_START) - 1; currentpoint = main_node + 1; /* Skip the newline following the start of the node */ - for (history_ptr = HISTORY_SIZE; history_ptr;) + for (history_ptr = HISTORY_SIZE - 1; history_ptr >= 0; history_ptr--) { - history_ptr--; history[history_ptr].page = currentpoint; history[history_ptr].link = selected_item; } diff --git a/mcsrc/src/keymap.c b/mcsrc/src/keymap.c index 95372c0..5d71f0a 100644 --- a/mcsrc/src/keymap.c +++ b/mcsrc/src/keymap.c @@ -1,7 +1,7 @@ /* Default values and initialization of keybinding engine - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/learn.c b/mcsrc/src/learn.c index c704ce1..f42aebf 100644 --- a/mcsrc/src/learn.c +++ b/mcsrc/src/learn.c @@ -1,7 +1,7 @@ /* Learn keys - Copyright (C) 1995-2023 + Copyright (C) 1995-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/main.c b/mcsrc/src/main.c index 75af017..da91305 100644 --- a/mcsrc/src/main.c +++ b/mcsrc/src/main.c @@ -1,7 +1,7 @@ /* Main program for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: @@ -257,21 +257,74 @@ check_sid (void) /*** public functions ****************************************************************************/ /* --------------------------------------------------------------------------------------------- */ +#if defined(WIN32) //WIN32, config +extern void WIN32_Setup(void); +#endif //WIN32 + int main (int argc, char *argv[]) { -#if defined(WIN32) //WIN32, config - extern void WIN32_Setup(void); -#endif //WIN32 GError *mcerror = NULL; int exit_code = EXIT_FAILURE; mc_global.run_from_parent_mc = !check_sid (); - /* We had LC_CTYPE before, LC_ALL includs LC_TYPE as well */ +#if (0) + { + extern void OutputDebugPrintA(const char *, ...); + extern void OutputDebugPrintW(const wchar_t *, ...); + wchar_t iso639[16] = { 0 }, iso3166[16] = { 0 }, displayname[256] = { 0 }; + LCID lcid; + + lcid = GetSystemDefaultLCID(); + OutputDebugPrintA("LCID: system %u/0x%x\n", lcid, lcid); + lcid = GetUserDefaultLCID(); + OutputDebugPrintA("LCID: user %u/0x%x\n", lcid, lcid); + lcid = GetThreadLocale(); + OutputDebugPrintA("LCID: thread %u/0x%x\n", lcid, lcid); + if (GetLocaleInfoW(lcid, LOCALE_SISO639LANGNAME, iso639, _countof(iso639)) && + GetLocaleInfoW(lcid, LOCALE_SISO3166CTRYNAME, iso3166, _countof(iso3166))) { + GetLocaleInfoW(lcid, LOCALE_SLOCALIZEDCOUNTRYNAME, displayname, _countof(displayname)); + OutputDebugPrintW(L"LCID: name %s_%s (%s)\n", iso639, iso3166, displayname); // "9_9 (displayname)" + } + OutputDebugPrintA("OEMCP: %u/0x%x\n", GetOEMCP(), GetOEMCP()); + OutputDebugPrintA("ACP: %u/0x%x\n", GetACP(), GetACP()); + OutputDebugPrintA("ICP: %u/0x%x\n", GetConsoleCP(), GetConsoleCP()); + OutputDebugPrintA("OCP: %u/0x%x\n", GetConsoleOutputCP(), GetConsoleOutputCP()); + + //////////////////////////// + + SetThreadLocale(MAKELCID(MAKELANGID(LANG_ITALIAN, SUBLANG_ITALIAN), SORT_DEFAULT)); // or SUBLANG_ITALIAN_SWISS + SetThreadUILanguage(MAKELANGID(LANG_ITALIAN, SUBLANG_ITALIAN)); + OutputDebugPrintA("LCID: set LANG_ITALIAN, SUBLANG_ITALIAN\n"); + + lcid = GetUserDefaultLCID(); + OutputDebugPrintA("LCID: user %u/0x%x\n", lcid, lcid); + lcid = GetThreadLocale(); + OutputDebugPrintA("LCID: thread %u/0x%x\n", lcid, lcid); + if (GetLocaleInfoW(lcid, LOCALE_SISO639LANGNAME, iso639, _countof(iso639)) && + GetLocaleInfoW(lcid, LOCALE_SISO3166CTRYNAME, iso3166, _countof(iso3166))) { + GetLocaleInfoW(lcid, LOCALE_SLOCALIZEDCOUNTRYNAME, displayname, _countof(displayname)); + OutputDebugPrintW(L"LCID: name %s_%s (%s)\n", iso639, iso3166, displayname); // "9_9 (displayname)" + } + OutputDebugPrintA("OEMCP: %u/0x%x\n", GetOEMCP(), GetOEMCP()); + OutputDebugPrintA("ACP: %u/0x%x\n", GetACP(), GetACP()); + + SetConsoleCP(GetACP()); + SetConsoleOutputCP(GetACP()); + OutputDebugPrintA("IP: %u/0x%x\n", GetConsoleCP(), GetConsoleCP()); + OutputDebugPrintA("OCP: %u/0x%x\n", GetConsoleOutputCP(), GetConsoleOutputCP()); + } + #ifdef HAVE_SETLOCALE - (void) setlocale (LC_ALL, ""); + (void) setlocale (LC_ALL, "it-IT"); +#endif +#else +#ifdef HAVE_SETLOCALE + (void) setlocale (LC_ALL, ""); /* We had LC_CTYPE before, LC_ALL includs LC_TYPE as well */ +#endif #endif + (void) bindtextdomain (PACKAGE, LOCALEDIR); (void) textdomain (PACKAGE); @@ -295,6 +348,13 @@ main (int argc, char *argv[]) return exit_code; } + /* check terminal type + * $TERM must be set and not empty + * mc_global.tty.xterm_flag is used in init_key() and tty_init() + * Do this after mc_args_parse() where mc_args__force_xterm is set up. + */ + mc_global.tty.xterm_flag = tty_check_term (mc_args__force_xterm); + /* do this before mc_args_show_info () to view paths in the --datadir-info output */ OS_Setup (); @@ -362,13 +422,6 @@ main (int argc, char *argv[]) vfs_path_free (vpath, TRUE); } - /* check terminal type - * $TERM must be set and not empty - * mc_global.tty.xterm_flag is used in init_key() and tty_init() - * Do this after mc_args_handle() where mc_args__force_xterm is set up. - */ - mc_global.tty.xterm_flag = tty_check_term (mc_args__force_xterm); - /* NOTE: This has to be called before tty_init or whatever routine calls any define_sequence */ init_key (); diff --git a/mcsrc/src/man2hlp/man2hlp.in b/mcsrc/src/man2hlp/man2hlp.in index 8aa7131..16e5e7b 100644 --- a/mcsrc/src/man2hlp/man2hlp.in +++ b/mcsrc/src/man2hlp/man2hlp.in @@ -1,8 +1,7 @@ #! @PERL_FOR_BUILD@ # # Man page to help file converter -# Copyright (C) 1994, 1995, 1998, 2000, 2001, 2002, 2003, 2004, 2005, -# 2007, 2010, 2011 +# Copyright (C) 1994-2024 # The Free Software Foundation, Inc. # # Originally written by: diff --git a/mcsrc/src/selcodepage.c b/mcsrc/src/selcodepage.c index c8a3cdc..067ad67 100644 --- a/mcsrc/src/selcodepage.c +++ b/mcsrc/src/selcodepage.c @@ -3,7 +3,7 @@ Copyright (C) 2001 Walery Studennikov - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/setup.c b/mcsrc/src/setup.c index 646404f..84fbbdd 100644 --- a/mcsrc/src/setup.c +++ b/mcsrc/src/setup.c @@ -1,7 +1,7 @@ /* Setup loading/saving. - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. This file is part of the Midnight Commander. @@ -44,8 +44,8 @@ #ifdef ENABLE_VFS_FTP #include "src/vfs/ftpfs/ftpfs.h" #endif -#ifdef ENABLE_VFS_FISH -#include "src/vfs/fish/fish.h" +#ifdef ENABLE_VFS_SHELL +#include "src/vfs/shell/shell.h" #endif #ifdef HAVE_CHARSET @@ -231,7 +231,7 @@ GArray *macros_list; /*** file scope variables ************************************************************************/ static char *profile_name = NULL; /* ${XDG_CONFIG_HOME}/mc/ini */ -static char *panels_profile_name = NULL; /* ${XDG_CACHE_HOME}/mc/panels.ini */ +static char *panels_profile_name = NULL; /* ${XDG_CONFIG_HOME}/mc/panels.ini */ /* *INDENT-OFF* */ static const struct @@ -396,9 +396,9 @@ static const struct { "ftpfs_directory_timeout", &ftpfs_directory_timeout }, { "ftpfs_retry_seconds", &ftpfs_retry_seconds }, #endif /* ENABLE_VFS_FTP */ -#ifdef ENABLE_VFS_FISH - { "fish_directory_timeout", &fish_directory_timeout }, -#endif /* ENABLE_VFS_FISH */ +#ifdef ENABLE_VFS_SHELL + { "shell_directory_timeout", &shell_directory_timeout }, +#endif /* ENABLE_VFS_SHELL */ #endif /* ENABLE_VFS */ /* option_tab_spacing is used in internal viewer */ { "editor_tab_spacing", &option_tab_spacing }, diff --git a/mcsrc/src/subshell/common.c b/mcsrc/src/subshell/common.c index 3ea4b5f..1c432fd 100644 --- a/mcsrc/src/subshell/common.c +++ b/mcsrc/src/subshell/common.c @@ -1,7 +1,7 @@ /* Concurrent shell support for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/subshell/proxyfunc.c b/mcsrc/src/subshell/proxyfunc.c index 3f180d3..b1c20a9 100644 --- a/mcsrc/src/subshell/proxyfunc.c +++ b/mcsrc/src/subshell/proxyfunc.c @@ -1,7 +1,7 @@ /* Proxy functions for getting access to public variables into 'filemanager' module. - Copyright (C) 2015-2023 + Copyright (C) 2015-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/textconf.c b/mcsrc/src/textconf.c index 943e08a..4dcbc34 100644 --- a/mcsrc/src/textconf.c +++ b/mcsrc/src/textconf.c @@ -1,7 +1,7 @@ /* Print features specific for this build - Copyright (C) 2000-2023 + Copyright (C) 2000-2024 Free Software Foundation, Inc. This file is part of the Midnight Commander. @@ -75,8 +75,8 @@ static const char *const vfs_supported[] = { #ifdef ENABLE_VFS_SFTP "sftpfs", #endif -#ifdef ENABLE_VFS_FISH - "fish", +#ifdef ENABLE_VFS_SHELL + "shell", #endif NULL }; @@ -218,15 +218,15 @@ show_datadirs_extended (void) PRINTF_SECTION (_("File extension handlers:"), EXTHELPERSDIR); -#if defined ENABLE_VFS_EXTFS || defined ENABLE_VFS_FISH +#if defined ENABLE_VFS_EXTFS || defined ENABLE_VFS_SHELL PRINTF_SECTION (_("VFS plugins and scripts:"), LIBEXECDIR); #ifdef ENABLE_VFS_EXTFS PRINTF2 ("extfs.d:", LIBEXECDIR, MC_EXTFS_DIR PATH_SEP_STR); #endif -#ifdef ENABLE_VFS_FISH - PRINTF2 ("fish:", LIBEXECDIR, FISH_PREFIX PATH_SEP_STR); +#ifdef ENABLE_VFS_SHELL + PRINTF2 ("shell:", LIBEXECDIR, VFS_SHELL_PREFIX PATH_SEP_STR); #endif -#endif /* ENABLE_VFS_EXTFS || defiined ENABLE_VFS_FISH */ +#endif /* ENABLE_VFS_EXTFS || defiined ENABLE_VFS_SHELL */ #if defined(HAVE_LIBMAGIC) //WIN32, libmagic PRINTF2 ("magic:", mc_MAGICPATH(), ""); #endif @@ -241,8 +241,8 @@ show_datadirs_extended (void) #ifdef ENABLE_VFS_EXTFS PRINTF ("extfs.d:", mc_config_get_data_path (), MC_EXTFS_DIR PATH_SEP_STR); #endif -#ifdef ENABLE_VFS_FISH - PRINTF ("fish:", mc_config_get_data_path (), FISH_PREFIX PATH_SEP_STR); +#ifdef ENABLE_VFS_SHELL + PRINTF ("shell:", mc_config_get_data_path (), VFS_SHELL_PREFIX PATH_SEP_STR); #endif #ifdef USE_INTERNAL_EDIT PRINTF ("mcedit macros:", mc_config_get_data_path (), MC_MACRO_FILE); diff --git a/mcsrc/src/usermenu.c b/mcsrc/src/usermenu.c index 3e36b49..6c4943b 100644 --- a/mcsrc/src/usermenu.c +++ b/mcsrc/src/usermenu.c @@ -1,7 +1,7 @@ /* User Menu implementation - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: @@ -86,20 +86,24 @@ static char *menu = NULL; static char * strip_ext (char *ss) { - char *s = ss; + char *s; char *e = NULL; - while (*s != '\0') + if (ss == NULL) + return NULL; + + for (s = ss; *s != '\0'; s++) { if (*s == '.') e = s; if (IS_PATH_SEP (*s) && e != NULL) e = NULL; /* '.' in *directory* name */ - s++; } + if (e != NULL) *e = '\0'; - return ss; + + return (*ss == '\0' ? NULL : ss); } /* --------------------------------------------------------------------------------------------- */ @@ -501,8 +505,11 @@ execute_menu_command (const Widget * edit_widget, const char *commands, gboolean char *tmp; tmp = name_quote (parameter, FALSE); - fputs (tmp, cmd_file); - g_free (tmp); + if (tmp != NULL) + { + fputs (tmp, cmd_file); + g_free (tmp); + } } else fputs (parameter, cmd_file); @@ -528,8 +535,11 @@ execute_menu_command (const Widget * edit_widget, const char *commands, gboolean char *text; text = expand_format (edit_widget, *commands, do_quote); - fputs (text, cmd_file); - g_free (text); + if (text != NULL) + { + fputs (text, cmd_file); + g_free (text); + } } } else if (*commands == '%') @@ -779,7 +789,7 @@ expand_format (const Widget * edit_widget, char c, gboolean do_quote) else { if (get_other_type () != view_listing) - return g_strdup (""); + return NULL; panel = other_panel; } @@ -800,7 +810,7 @@ expand_format (const Widget * edit_widget, char c, gboolean do_quote) default: /* other modes don't use formats */ - return g_strdup (""); + return NULL; } if (do_quote) @@ -822,16 +832,13 @@ expand_format (const Widget * edit_widget, char c, gboolean do_quote) case 'd': { const char *cwd; - char *qstr; if (panel != NULL) cwd = vfs_path_as_str (panel->cwd_vpath); else cwd = vfs_get_current_dir (); - qstr = quote_func (cwd, FALSE); - - result = qstr; + result = quote_func (cwd, FALSE); goto ret; } case 'c': @@ -914,31 +921,37 @@ expand_format (const Widget * edit_widget, char c, gboolean do_quote) case 't': case 'u': { - GString *block; + GString *block = NULL; int i; if (panel == NULL) { - result = g_strdup (""); + result = NULL; goto ret; } - block = g_string_sized_new (16); - for (i = 0; i < panel->dir.len; i++) if (panel->dir.list[i].f.marked != 0) { char *tmp; tmp = quote_func (panel->dir.list[i].fname->str, FALSE); - g_string_append (block, tmp); - g_string_append_c (block, ' '); - g_free (tmp); + if (tmp != NULL) + { + if (block == NULL) + block = g_string_new_take (tmp); + else + { + g_string_append (block, tmp); + g_free (tmp); + } + g_string_append_c (block, ' '); + } if (c_lc == 'u') do_file_mark (panel, i, 0); } - result = g_string_free (block, FALSE); + result = block == NULL ? NULL : g_string_free (block, block->len == 0); goto ret; } /* sub case block */ default: diff --git a/mcsrc/src/util.c b/mcsrc/src/util.c index 36159a9..bc590fb 100644 --- a/mcsrc/src/util.c +++ b/mcsrc/src/util.c @@ -1,7 +1,7 @@ /* Various non-library utilities - Copyright (C) 2003-2023 + Copyright (C) 2003-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/vfs/Makefile.am b/mcsrc/src/vfs/Makefile.am index 1441953..4adde8e 100644 --- a/mcsrc/src/vfs/Makefile.am +++ b/mcsrc/src/vfs/Makefile.am @@ -16,9 +16,9 @@ SUBDIRS += extfs libmc_vfs_la_LIBADD += extfs/libvfs-extfs.la endif -if ENABLE_VFS_FISH -SUBDIRS += fish -libmc_vfs_la_LIBADD += fish/libvfs-fish.la +if ENABLE_VFS_SHELL +SUBDIRS += shell +libmc_vfs_la_LIBADD += shell/libvfs-shell.la endif if ENABLE_VFS_FTP diff --git a/mcsrc/src/vfs/cpio/cpio.c b/mcsrc/src/vfs/cpio/cpio.c index 447d1f6..1b904c5 100644 --- a/mcsrc/src/vfs/cpio/cpio.c +++ b/mcsrc/src/vfs/cpio/cpio.c @@ -1,7 +1,7 @@ /* Virtual File System: GNU Tar file system. - Copyright (C) 2000-2023 + Copyright (C) 2000-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/vfs/extfs/extfs.c b/mcsrc/src/vfs/extfs/extfs.c index 73ad49f..2485ae4 100644 --- a/mcsrc/src/vfs/extfs/extfs.c +++ b/mcsrc/src/vfs/extfs/extfs.c @@ -1,7 +1,7 @@ /* Virtual File System: External file system. - Copyright (C) 1995-2023 + Copyright (C) 1995-2024 Free Software Foundation, Inc. Written by: @@ -936,13 +936,9 @@ extfs_cmd (const char *str_extfs_cmd, const struct extfs_super_t *archive, { char *file; char *quoted_file; - char *quoted_localname; char *archive_name, *quoted_archive_name; const extfs_plugin_info_t *info; -#if defined(WIN32) // WIN32, cmd-quoting - char *quoted_cmd; -#endif - char *cmd; + char *cmd = NULL; int retval = 0; GError *error = NULL; mc_pipe_t *pip; @@ -951,28 +947,60 @@ extfs_cmd (const char *str_extfs_cmd, const struct extfs_super_t *archive, quoted_file = name_quote (file, FALSE); g_free (file); + if (quoted_file == NULL) + { + message (D_ERROR, MSG_ERROR, _("EXTFS virtual file system:\nwrong file name")); + return (-1); + } + /* Skip leading "./" (if present) added in name_quote() */ file = extfs_skip_leading_dotslash (quoted_file); archive_name = extfs_get_archive_name (archive); quoted_archive_name = name_quote (archive_name, FALSE); g_free (archive_name); - quoted_localname = name_quote (localname, FALSE); + + if (quoted_archive_name == NULL) + { + message (D_ERROR, MSG_ERROR, _("EXTFS virtual file system:\nwrong archive name")); + return (-1); + } + info = &g_array_index (extfs_plugins, extfs_plugin_info_t, archive->fstype); + if (localname == NULL || *localname == '\0') + cmd = g_strconcat (info->path, info->prefix, str_extfs_cmd, quoted_archive_name, " ", + file, (char *) NULL); + else + { + char *quoted_localname; #if defined(WIN32) // WIN32, cmd-quoting - quoted_cmd = name_quote (g_strconcat (info->path, info->prefix, NULL), FALSE); - cmd = g_strconcat (quoted_cmd, str_extfs_cmd, + char *quoted_cmd; +#endif + + quoted_localname = name_quote (localname, FALSE); + +#if defined(WIN32) // WIN32, cmd-quoting + quoted_cmd = name_quote (g_strconcat (info->path, info->prefix, NULL), FALSE); + cmd = g_strconcat (quoted_cmd, str_extfs_cmd, quoted_archive_name, " ", file, " ", quoted_localname, (char *) NULL); - g_free (quoted_cmd); + g_free (quoted_cmd); #else - cmd = g_strconcat (info->path, info->prefix, str_extfs_cmd, - quoted_archive_name, " ", file, " ", quoted_localname, (char *) NULL); + cmd = g_strconcat (info->path, info->prefix, str_extfs_cmd, quoted_archive_name, " ", + file, " ", quoted_localname, (char *) NULL); #endif + g_free (quoted_localname); + } + g_free (quoted_file); - g_free (quoted_localname); g_free (quoted_archive_name); + if (cmd == NULL) + { + message (D_ERROR, MSG_ERROR, _("EXTFS virtual file system:\ncannot build command")); + return (-1); + } + /* don't read stdout */ pip = mc_popen (cmd, FALSE, TRUE, &error); g_free (cmd); diff --git a/mcsrc/src/vfs/extfs/helpers/iso9660.in b/mcsrc/src/vfs/extfs/helpers/iso9660.in index 5f22887..310618f 100644 --- a/mcsrc/src/vfs/extfs/helpers/iso9660.in +++ b/mcsrc/src/vfs/extfs/helpers/iso9660.in @@ -132,6 +132,7 @@ mcisofs_list () { *.lz) MYCAT="lzip -dc";; *.lz4) MYCAT="lz4 -dc";; *.lzma) MYCAT="lzma -dc";; + *.lzo) MYCAT="lzop -dc";; *.xz) MYCAT="xz -dc";; *.zst) MYCAT="zstd -dc";; *.bz2) MYCAT="bzip2 -dc";; diff --git a/mcsrc/src/vfs/extfs/helpers/lslR.in b/mcsrc/src/vfs/extfs/helpers/lslR.in index 69b663b..f568c02 100644 --- a/mcsrc/src/vfs/extfs/helpers/lslR.in +++ b/mcsrc/src/vfs/extfs/helpers/lslR.in @@ -15,6 +15,7 @@ case "$1" in *.lz) MYCAT="lzip -dc";; *.lz4) MYCAT="lz4 -dc";; *.lzma) MYCAT="lzma -dc";; + *.lzo) MYCAT="lzop -dc";; *.xz) MYCAT="xz -dc";; *.zst) MYCAT="zstd -dc";; *.bz2) MYCAT="bzip2 -dc";; diff --git a/mcsrc/src/vfs/extfs/helpers/mailfs.in b/mcsrc/src/vfs/extfs/helpers/mailfs.in index 5bb373b..20cfae3 100644 --- a/mcsrc/src/vfs/extfs/helpers/mailfs.in +++ b/mcsrc/src/vfs/extfs/helpers/mailfs.in @@ -11,6 +11,7 @@ $bzcat="bzip2 -dc"; # bunzip2 to stdout $lzipcat="lzip -dc"; # unlzip to stdout $lz4cat="lz4 -dc"; # unlz4 to stdout $lzcat="lzma -dc"; # unlzma to stdout +$lzocat="lzop -dc"; # unlzo to stdout $xzcat="xz -dc"; # unxz to stdout $zstdcat="zstd -dc"; # unzstd to stdout $file="file"; # "file" command @@ -194,6 +195,8 @@ if (/gzip/) { exit 1 unless (open IN, "$lz4cat $mbox_qname|"); } elsif (/lzma/) { exit 1 unless (open IN, "$lzcat $mbox_qname|"); +} elsif (/lzo/) { + exit 1 unless (open IN, "$lzocat $mbox_qname|"); } elsif (/xz/) { exit 1 unless (open IN, "$xzcat $mbox_qname|"); } elsif (/zst/) { diff --git a/mcsrc/src/vfs/extfs/helpers/patchfs.in b/mcsrc/src/vfs/extfs/helpers/patchfs.in index ee1e651..59fdde1 100644 --- a/mcsrc/src/vfs/extfs/helpers/patchfs.in +++ b/mcsrc/src/vfs/extfs/helpers/patchfs.in @@ -17,6 +17,7 @@ use File::Temp 'tempfile'; my $lzip = 'lzip'; my $lz4 = 'lz4'; my $lzma = 'lzma'; +my $lzo = 'lzop'; my $xz = 'xz'; my $zstd = 'zstd'; my $bzip = 'bzip2'; @@ -88,6 +89,8 @@ sub myin return "$lzip -dc $qfname"; } elsif (/^'*lzma/) { return "$lzma -dc $qfname"; + } elsif (/^'*lzo/) { + return "$lzo -dc $qfname"; } elsif (/^'*xz/) { return "$xz -dc $qfname"; } elsif (/^'*zst/) { @@ -114,6 +117,8 @@ sub myout return "$lzip -c $sep $qfname"; } elsif (/^'*lzma/) { return "$lzma -c $sep $qfname"; + } elsif (/^'*lzo/) { + return "$lzo -c $sep $qfname"; } elsif (/^'*xz/) { return "$xz -c $sep $qfname"; } elsif (/^'*zst/) { diff --git a/mcsrc/src/vfs/extfs/helpers/s3+.in b/mcsrc/src/vfs/extfs/helpers/s3+.in index f5e4b90..6436ba7 100644 --- a/mcsrc/src/vfs/extfs/helpers/s3+.in +++ b/mcsrc/src/vfs/extfs/helpers/s3+.in @@ -153,16 +153,16 @@ def threadmap(fun, iterable, maxthreads=16): Propagates exception safely. """ from threading import Thread - import Queue + import queue items = list(iterable) nitems = len(items) if nitems < 2: - return map(fun, items) + return list(map(fun, items)) # Create and fill input queue - input = Queue.Queue() - output = Queue.Queue() + input = queue.Queue() + output = queue.Queue() for i,item in enumerate(items): input.put( (i,item) ) @@ -181,7 +181,7 @@ def threadmap(fun, iterable, maxthreads=16): output.put( (i,result) ) except: output.put( (None,sys.exc_info()) ) - except Queue.Empty: + except queue.Empty: return # Start threads @@ -196,8 +196,8 @@ def threadmap(fun, iterable, maxthreads=16): try: i,res = output.get() if i == None: - raise res[0],res[1],res[2] - except Queue.Empty: + raise res[0](res[1]).with_traceback(res[2]) + except queue.Empty: break ret.append(res) @@ -241,7 +241,7 @@ def get_bucket(name): b = s3.get_bucket(name, validate=False) b.get_location() # just to raise an exception on error return b - except boto.exception.S3ResponseError, e: + except boto.exception.S3ResponseError as e: # Seems this is the only proper way to switch to the bucket's region. # Requesting of the default region for "?location" does not work unfortunately. m = re.search(r'(.*?)', e.body) @@ -340,7 +340,7 @@ if cmd == 'list': expr = re.compile(r'^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})\.\d{3}Z$') def convDate(awsdatetime): m = expr.match(awsdatetime) - ye,mo,da,ho,mi,se = map(int,m.groups()) + ye,mo,da,ho,mi,se = list(map(int,m.groups())) dt = datetime.datetime(ye,mo,da,ho,mi,se, tzinfo=pytz.utc) return dt.astimezone(tz).strftime('%m-%d-%Y %H:%M') diff --git a/mcsrc/src/vfs/extfs/helpers/uc1541 b/mcsrc/src/vfs/extfs/helpers/uc1541 index dc15b42..abb86ea 100644 --- a/mcsrc/src/vfs/extfs/helpers/uc1541 +++ b/mcsrc/src/vfs/extfs/helpers/uc1541 @@ -1,24 +1,25 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """ UC1541 Virtual filesystem Author: Roman 'gryf' Dobosz -Date: 2019-09-20 -Version: 3.3 +Date: 2023-10-04 +Version: 3.6 Licence: BSD source: https://bitbucket.org/gryf/uc1541 mirror: https://github.com/gryf/uc1541 """ - -import sys -import re -import os +import argparse import gzip -from subprocess import Popen, PIPE +import logging +import os +import re +import subprocess +import sys + +LOG = logging.getLogger('UC1541') if os.getenv('UC1541_DEBUG'): - import logging - LOG = logging.getLogger('UC1541') LOG.setLevel(logging.DEBUG) FILE_HANDLER = logging.FileHandler("/tmp/uc1541.log") FILE_FORMATTER = logging.Formatter("%(asctime)s %(levelname)-8s " @@ -26,47 +27,11 @@ if os.getenv('UC1541_DEBUG'): FILE_HANDLER.setFormatter(FILE_FORMATTER) FILE_HANDLER.setLevel(logging.DEBUG) LOG.addHandler(FILE_HANDLER) -else: - class LOG(object): - """ - Dummy logger object. Does nothing. - """ - @classmethod - def debug(*args, **kwargs): - pass - - @classmethod - def info(*args, **kwargs): - pass - - @classmethod - def warning(*args, **kwargs): - pass - - @classmethod - def error(*args, **kwargs): - pass - - @classmethod - def critical(*args, **kwargs): - pass SECLEN = 256 -def _ord(string_or_int): - """ - Return an int value for the (possible) string passed in argument. This - function is for compatibility between python2 and python3, where single - element in byte string array is a string or an int respectively. - """ - try: - return ord(string_or_int) - except TypeError: - return string_or_int - - def _get_raw(dimage): """ Try to get contents of the D64 image either it's gzip compressed or not. @@ -160,10 +125,10 @@ class Disk(object): filename = list() for chr_ in string: - if _ord(chr_) == 160: # shift+space character; $a0 + if chr_ == 160: # shift+space character; $a0 break - character = D64.CHAR_MAP.get(_ord(chr_), '?') + character = D64.CHAR_MAP.get(chr_, '?') filename.append(character) # special cases @@ -204,8 +169,8 @@ class Disk(object): if not self.current_sector_data: return False - self.next_track = _ord(self.current_sector_data[0]) - self.next_sector = _ord(self.current_sector_data[1]) + self.next_track = self.current_sector_data[0] + self.next_sector = self.current_sector_data[1] if (self.next_track, self.next_sector) in self._already_done: # Just a failsafe. Endless loop is not what is expected. @@ -239,7 +204,7 @@ class Disk(object): sector = self.current_sector_data for dummy in range(8): entry = sector[:32] - ftype = _ord(entry[2]) + ftype = entry[2] if ftype == 0: # deleted sector = sector[32:] @@ -247,12 +212,12 @@ class Disk(object): type_verbose = self._get_ftype(ftype) - protect = _ord(entry[2]) & 64 and "<" or " " + protect = entry[2] & 64 and "<" or " " fname = entry[5:21] if ftype == 'rel': - size = _ord(entry[23]) + size = entry[23] else: - size = _ord(entry[30]) + _ord(entry[31]) * 226 + size = entry[30] + entry[31] * 226 self._dir_contents.append({'fname': self._map_filename(fname), 'ftype': type_verbose, @@ -392,7 +357,7 @@ class Uc1541(object): """ Class for interact with c1541 program and MC """ - PRG = re.compile(r'(\d+)\s+"([^"]*)".+?\s(del|prg|rel|seq|usr)([\s<])') + PRG = re.compile(r'(\d+)\s+"([^"]*)".+?(del|prg|rel|seq|usr)([\s<])') def __init__(self, archname): self.arch = archname @@ -430,11 +395,7 @@ class Uc1541(object): """ LOG.info("Removing file %s", dst) dst = self._get_masked_fname(dst) - - if not self._call_command('delete', dst=dst): - return self._show_error() - - return 0 + return self._call_command('delete', dst=dst) def copyin(self, dst, src): """ @@ -442,11 +403,7 @@ class Uc1541(object): """ LOG.info("Copy into D64 %s as %s", src, dst) dst = self._correct_fname(dst) - - if not self._call_command('write', src=src, dst=dst): - return self._show_error() - - return 0 + return self._call_command('write', src=src, dst=dst) def copyout(self, src, dst): """ @@ -459,10 +416,7 @@ class Uc1541(object): src = self._get_masked_fname(src) - if not self._call_command('read', src=src, dst=dst): - return self._show_error() - - return 0 + return self._call_command('read', src=src, dst=dst) def mkdir(self, dirname): """Not supported""" @@ -523,8 +477,9 @@ class Uc1541(object): uid = os.getuid() gid = os.getgid() - if not self._call_command('list'): - return self._show_error() + res = self._call_command('list') + if res != 0: + return res idx = 0 for line in self.out.split("\n"): @@ -540,7 +495,7 @@ class Uc1541(object): if '/' in display_name: display_name = display_name.replace('/', '|') - # workaround for space and dash at the beginning of the + # workaround for space and dash at the beggining of the # filename char_map = {' ': '~', '-': '_'} @@ -593,13 +548,16 @@ class Uc1541(object): universal_newlines = True if cmd in ['delete', 'write']: universal_newlines = False - self.out, self.err = Popen(command, - universal_newlines=universal_newlines, - stdout=PIPE, stderr=PIPE).communicate() + (self.out, + self.err) = subprocess.Popen(command, + universal_newlines=universal_newlines, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE).communicate() if self.err: LOG.debug('an err: %s', self.err) - return not self.err + return self._show_error() + return 0 CALL_MAP = {'list': lambda a: Uc1541(a.arch).list(), @@ -612,7 +570,7 @@ CALL_MAP = {'list': lambda a: Uc1541(a.arch).list(), def parse_args(): """Use ArgumentParser to check for script arguments and execute.""" - parser = ArgumentParser() + parser = argparse.ArgumentParser() subparsers = parser.add_subparsers(help='supported commands', dest='subcommand') subparsers.required = True @@ -659,44 +617,6 @@ def parse_args(): return args.func(args) -def no_parse(): - """Failsafe argument "parsing". Note, that it blindly takes positional - arguments without checking them. In case of wrong arguments it will - silently exit""" - try: - if sys.argv[1] not in ('list', 'copyin', 'copyout', 'rm', 'mkdir', - "run"): - sys.exit(2) - except IndexError: - sys.exit(2) - - class Arg(object): - """Mimic argparse object""" - dst = None - src = None - arch = None - - arg = Arg() - - try: - arg.arch = sys.argv[2] - if sys.argv[1] in ('copyin', 'copyout'): - arg.src = sys.argv[3] - arg.dst = sys.argv[4] - elif sys.argv[1] in ('rm', 'run', 'mkdir'): - arg.dst = sys.argv[3] - except IndexError: - sys.exit(2) - - return CALL_MAP[sys.argv[1]](arg) - - if __name__ == "__main__": LOG.debug("Script params: %s", str(sys.argv)) - try: - from argparse import ArgumentParser - PARSE_FUNC = parse_args - except ImportError: - PARSE_FUNC = no_parse - - sys.exit(PARSE_FUNC()) + sys.exit(parse_args()) diff --git a/mcsrc/src/vfs/fish/helpers/Makefile.am b/mcsrc/src/vfs/fish/helpers/Makefile.am deleted file mode 100644 index e3ba15d..0000000 --- a/mcsrc/src/vfs/fish/helpers/Makefile.am +++ /dev/null @@ -1,10 +0,0 @@ -fishdir = $(libexecdir)/@PACKAGE@/fish - -# Files to install and distribute other than fish scripts -FISH_MISC = README.fish - -# Install and distribute FISH helper scripts w/o shebang & executable bit as data -fish_DATA = $(FISH_MISC) ls mkdir fexists unlink chown chmod rmdir ln mv hardlink get send append info utime -fishconfdir = $(sysconfdir)/@PACKAGE@ - -EXTRA_DIST = $(fish_DATA) diff --git a/mcsrc/src/vfs/fish/helpers/README.fish b/mcsrc/src/vfs/fish/helpers/README.fish deleted file mode 100644 index ac319c8..0000000 --- a/mcsrc/src/vfs/fish/helpers/README.fish +++ /dev/null @@ -1,217 +0,0 @@ - - FIles transferred over SHell protocol (V 0.0.3) - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -This protocol was designed for transferring files over a remote shell -connection (rsh and compatibles). It can be as well used for transfers over -rsh, and there may be other uses. - -Client sends requests of following form: - -#FISH_COMMAND -equivalent shell commands, -which may be multiline - -Only fish commands are defined here, shell equivalents are for your -information only and will probably vary from implementation to -implementation. Fish commands always have priority: server is -expected to execute fish command if it understands it. If it does not, -however, it can try the luck and execute shell command. - -Since version 4.7.3, the scripts that FISH sends to host machines after -a command is transmitted are no longer hardwired in the Midnight -Commander source code. - -First, mc looks for system-wide set of scripts, then it checks whether -current user has host-specific overrides in his per-user mc -configuration directory. User-defined overrides take priority over -sytem-wide scripts if they exist. The order in which the directories are -traversed is as follows: - - /usr/libexec/mc/fish - ~/.local/share/mc/fish// - -Server's reply is multiline, but always ends with - -### 000 - -line. ### is prefix to mark this line, 000 is return code. Return -codes are superset to those used in ftp. - -There are few new exit codes defined: - -000 don't know; if there were no previous lines, this marks COMPLETE -success, if they were, it marks failure. - -001 don't know; if there were no previous lines, this marks -PRELIMinary success, if they were, it marks failure - - Connecting - ~~~~~~~~~~ -Client uses "echo FISH:;/bin/sh" as command executed on remote -machine. This should make it possible for server to distinguish FISH -connections from normal rsh/ssh. - - Commands - ~~~~~~~~ -#FISH -echo; start_fish_server; echo '### 200' - -This command is sent at the beginning. It marks that client wishes to -talk via FISH protocol. #VER command must follow. If server -understands FISH protocol, it has option to put FISH server somewhere -on system path and name it start_fish_server. - -#VER 0.0.2 <...> -echo '### 000' - -This command is the second one. It sends client version and extensions -to the server. Server should reply with protocol version to be used, -and list of extensions accepted. - -VER 0.0.0 -### 200 - -#PWD -pwd; echo '### 200' - -Server should reply with current directory (in form /abc/def/ghi) -followed by line indicating success. - -#LIST /directory -ls -lLa $1 | grep '^[^cbt]' | ( while read p x u g s m d y n; do echo "P$p $u.$g -S$s -d$m $d $y -:$n -"; done ) -ls -lLa $1 | grep '^[cb]' | ( while read p x u g a i m d y n; do echo "P$p $u.$g -E$a$i -dD$m $d $y -:$n -"; done ) -echo '### 200' - -This allows client to list directory or get status information about -single file. Output is in following form (any line except : -may be omitted): - -P . -S -d<3-letters month name> -D [.1234] -E, -: -L - - -Unix permissions are of form X--------- where X is type of -file. Currently, '-' means regular file, 'd' means directory, 'c', 'b' -means character and block device, 'l' means symbolic link, 'p' means -FIFO and 's' means socket. - -'d' has three fields: month (one of strings Jan Feb Mar Apr May Jun -Jul Aug Sep Oct Nov Dec), day of month, and third is either single -number indicating year, or HH:MM field (assume current year in such -case). As you've probably noticed, this is pretty broken; it is for -compatibility with ls listing. - -#RETR /some/name -ls -l /some/name | ( read a b c d x e; echo $x ); echo '### 100'; cat /some/name; echo '### 200' - -Server sends line with filesize on it, followed by line with ### 100 -indicating partial success, then it sends binary data (exactly -filesize bytes) and follows them with (with no preceding newline) ### -200. - -Note that there's no way to abort running RETR command - except -closing the connection. - -#STOR /file/name -> /file/name; echo '### 001'; ( dd bs=4096 count=; dd bs= count=1 ) 2>/dev/null | ( cat > %s; cat > /dev/null ); echo '### 200' - -This command is for storing /file/name, which is exactly size bytes -big. You probably think I went crazy. Well, I did not: that strange -cat > /dev/null has purpose to discard any extra data which was not -written to disk (due to for example out of space condition). - -[Why? Imagine uploading file with "rm -rf /" line in it.] - -#CWD /somewhere -cd /somewhere; echo '### 000' - -It is specified here, but I'm not sure how wise idea is to use this -one: it breaks stateless-ness of the protocol. - -Following commands should be rather self-explanatory: - -#CHMOD 1234 file -chmod 1234 file; echo '### 000' - -#DELE /some/path -rm -f /some/path; echo '### 000' - -#MKD /some/path -mkdir /some/path; echo '### 000' - -#RMD /some/path -rmdir /some/path; echo '### 000' - -#RENAME /path/a /path/b -mv /path/a /path/b; echo '### 000' - -#LINK /path/a /path/b -ln /path/a /path/b; echo '### 000' - -#SYMLINK /path/a /path/b -ln -s /path/a /path/b; echo '### 000' - -#CHOWN user /file/name -chown user /file/name; echo '### 000' - -#CHGRP group /file/name -chgrp group /file/name; echo '### 000' - -#INFO -...collect info about host into $result ... -echo $result -echo '### 200' - -#READ /path/and/filename -cat /path/and/filename | ( dd bs=4096 count= > /dev/null; -dd bs= count=1 > /dev/null; -dd bs=4096 count=; -dd bs= count=1; ) - -Returns ### 200 on successful exit, ### 291 on successful exit when -reading ended at eof, ### 292 on successful exit when reading did not -end at eof. - -#WRITE /path/and/filename - -Hmm, shall we define these ones if we know our client is not going to -use them? - -you can use follow parameters: -FISH_FILESIZE -FISH_FILENAME -FISH_FILEMODE -FISH_FILEOWNER -FISH_FILEGROUPE -FISH_FILEFROM -FISH_FILETO - -NB: -'FISH_FILESIZE' used if we operate with single file name in 'unlink', 'rmdir', 'chmod', etc... -'FISH_FILEFROM','FISH_FILETO' used if we operate with two files in 'ln', 'hardlink', 'mv' etc... -'FISH_FILEOWNER', 'FISH_FILEGROUPE' is a new user/group in chown - -also flags: -FISH_HAVE_HEAD -FISH_HAVE_SED -FISH_HAVE_AWK -FISH_HAVE_PERL -FISH_HAVE_LSQ -FISH_HAVE_DATE_MDYT - -That's all, folks! - pavel@ucw.cz diff --git a/mcsrc/src/vfs/fish/helpers/append b/mcsrc/src/vfs/fish/helpers/append deleted file mode 100644 index 81ded44..0000000 --- a/mcsrc/src/vfs/fish/helpers/append +++ /dev/null @@ -1,16 +0,0 @@ -#APPE $FISH_FILESIZE $FISH_FILENAME -FILENAME="/${FISH_FILENAME}" -echo "### 001" -{ - bss=4096 - bsl=4095 - if [ $FISH_FILESIZE -lt $bss ]; then - bss=1; - bsl=0; - fi - while [ $FISH_FILESIZE -gt 0 ]; do - cnt=`expr \\( $FISH_FILESIZE + $bsl \\) / $bss` - n=`dd bs=$bss count=$cnt | tee -a "${FILENAME}" | wc -c` - FISH_FILESIZE=`expr $FISH_FILESIZE - $n` - done -}; echo "### 200" diff --git a/mcsrc/src/vfs/fish/helpers/chmod b/mcsrc/src/vfs/fish/helpers/chmod deleted file mode 100644 index a5a88b4..0000000 --- a/mcsrc/src/vfs/fish/helpers/chmod +++ /dev/null @@ -1,6 +0,0 @@ -#CHMOD $FISH_FILEMODE $FISH_FILENAME -if chmod ${FISH_FILEMODE} "/${FISH_FILENAME}" 2>/dev/null; then - echo "### 000" -else - echo "### 500" -fi diff --git a/mcsrc/src/vfs/fish/helpers/chown b/mcsrc/src/vfs/fish/helpers/chown deleted file mode 100644 index 469fdc1..0000000 --- a/mcsrc/src/vfs/fish/helpers/chown +++ /dev/null @@ -1,6 +0,0 @@ -#CHOWN $FISH_FILEOWNER:$FISH_FILEGROUP $FISH_FILENAME -if chown ${FISH_FILEOWNER}:${FISH_FILEGROUP} "/${FISH_FILENAME}" ; then - echo "### 000" -else - echo "### 500" -fi diff --git a/mcsrc/src/vfs/fish/helpers/fexists b/mcsrc/src/vfs/fish/helpers/fexists deleted file mode 100644 index cf03b15..0000000 --- a/mcsrc/src/vfs/fish/helpers/fexists +++ /dev/null @@ -1,3 +0,0 @@ -#ISEXISTS $FISH_FILENAME -ls -l "/${FISH_FILENAME}" >/dev/null 2>/dev/null -echo '### '$? diff --git a/mcsrc/src/vfs/fish/helpers/mkdir b/mcsrc/src/vfs/fish/helpers/mkdir deleted file mode 100644 index b32e995..0000000 --- a/mcsrc/src/vfs/fish/helpers/mkdir +++ /dev/null @@ -1,6 +0,0 @@ -#MKD $FISH_FILENAME -if mkdir "/$FISH_FILENAME" 2>/dev/null; then - echo "### 000" -else - echo "### 500" -fi diff --git a/mcsrc/src/vfs/fish/helpers/mv b/mcsrc/src/vfs/fish/helpers/mv deleted file mode 100644 index c8cf70c..0000000 --- a/mcsrc/src/vfs/fish/helpers/mv +++ /dev/null @@ -1,6 +0,0 @@ -#RENAME $FISH_FILEFROM $FISH_FILETO -if mv "/${FISH_FILEFROM}" "/${FISH_FILETO}" 2>/dev/null; then - echo "### 000" -else - echo "### 500" -fi diff --git a/mcsrc/src/vfs/fish/helpers/rmdir b/mcsrc/src/vfs/fish/helpers/rmdir deleted file mode 100644 index 0f99bf6..0000000 --- a/mcsrc/src/vfs/fish/helpers/rmdir +++ /dev/null @@ -1,6 +0,0 @@ -#RMD $FISH_FILENAME -if rmdir "/${FISH_FILENAME}" 2>/dev/null; then - echo "### 000" -else - echo "### 500" -fi diff --git a/mcsrc/src/vfs/fish/helpers/send b/mcsrc/src/vfs/fish/helpers/send deleted file mode 100644 index 80dd22b..0000000 --- a/mcsrc/src/vfs/fish/helpers/send +++ /dev/null @@ -1,17 +0,0 @@ -#STOR $FISH_FILESIZE $FISH_FILENAME -FILENAME="/${FISH_FILENAME}" -echo "### 001" -{ - > "${FILENAME}" - bss=4096 - bsl=4095 - if [ $FISH_FILESIZE -lt $bss ]; then - bss=1; - bsl=0; - fi - while [ $FISH_FILESIZE -gt 0 ]; do - cnt=`expr \\( $FISH_FILESIZE + $bsl \\) / $bss` - n=`dd bs=$bss count=$cnt | tee -a "${FILENAME}" | wc -c` - FISH_FILESIZE=`expr $FISH_FILESIZE - $n` - done -}; echo "### 200" diff --git a/mcsrc/src/vfs/fish/helpers/unlink b/mcsrc/src/vfs/fish/helpers/unlink deleted file mode 100644 index 79b9ad0..0000000 --- a/mcsrc/src/vfs/fish/helpers/unlink +++ /dev/null @@ -1,6 +0,0 @@ -#DELE $FISH_FILENAME -if rm -f "/${FISH_FILENAME}" 2>/dev/null; then - echo "### 000" -else - echo "### 500" -fi diff --git a/mcsrc/src/vfs/fish/helpers/utime b/mcsrc/src/vfs/fish/helpers/utime deleted file mode 100644 index 94395b4..0000000 --- a/mcsrc/src/vfs/fish/helpers/utime +++ /dev/null @@ -1,13 +0,0 @@ -#UTIME "$FISH_TOUCHATIME_W_NSEC" "$FISH_TOUCHMTIME_W_NSEC" "$FISH_FILENAME" -if TZ=UTC touch -h -m -d "$FISH_TOUCHMTIME_W_NSEC" "/${FISH_FILENAME}" 2>/dev/null && \ - TZ=UTC touch -h -a -d "$FISH_TOUCHATIME_W_NSEC" "/${FISH_FILENAME}" 2>/dev/null; then - echo "### 000" -elif TZ=UTC touch -h -m -t $FISH_TOUCHMTIME "/${FISH_FILENAME}" 2>/dev/null && \ - TZ=UTC touch -h -a -t $FISH_TOUCHATIME "/${FISH_FILENAME}" 2>/dev/null; then - echo "### 000" -elif [ -n "$FISH_HAVE_PERL" ] && - perl -e 'utime '$FISH_FILEATIME','$FISH_FILEMTIME',@ARGV;' "/${FISH_FILENAME}" 2>/dev/null; then - echo "### 000" -else - echo "### 500" -fi diff --git a/mcsrc/src/vfs/ftpfs/ftpfs.c b/mcsrc/src/vfs/ftpfs/ftpfs.c index 8bf6996..bba05c6 100644 --- a/mcsrc/src/vfs/ftpfs/ftpfs.c +++ b/mcsrc/src/vfs/ftpfs/ftpfs.c @@ -1,7 +1,7 @@ /* Virtual File System: FTP file system. - Copyright (C) 1995-2023 + Copyright (C) 1995-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/vfs/ftpfs/ftpfs_parse_ls.c b/mcsrc/src/vfs/ftpfs/ftpfs_parse_ls.c index 5db79e0..a9ee58c 100644 --- a/mcsrc/src/vfs/ftpfs/ftpfs_parse_ls.c +++ b/mcsrc/src/vfs/ftpfs/ftpfs_parse_ls.c @@ -1,7 +1,7 @@ /* Virtual File System: FTP file system - Copyright (C) 2015-2023 + Copyright (C) 2015-2024 The Free Software Foundation, Inc. Written by: Andrew Borodin , 2013 diff --git a/mcsrc/src/vfs/local/local.c b/mcsrc/src/vfs/local/local.c index a777c84..193fb6b 100644 --- a/mcsrc/src/vfs/local/local.c +++ b/mcsrc/src/vfs/local/local.c @@ -1,7 +1,7 @@ /* Virtual File System: local file system. - Copyright (C) 1995-2023 + Copyright (C) 1995-2024 Free Software Foundation, Inc. This file is part of the Midnight Commander. diff --git a/mcsrc/src/vfs/plugins_init.c b/mcsrc/src/vfs/plugins_init.c index 767e284..da13a12 100644 --- a/mcsrc/src/vfs/plugins_init.c +++ b/mcsrc/src/vfs/plugins_init.c @@ -1,7 +1,7 @@ /* Init VFS plugins. - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: @@ -46,8 +46,8 @@ #include "extfs/extfs.h" #endif -#ifdef ENABLE_VFS_FISH -#include "fish/fish.h" +#ifdef ENABLE_VFS_SHELL +#include "shell/shell.h" #endif #ifdef ENABLE_VFS_FTP @@ -115,9 +115,9 @@ vfs_plugins_init (void) #ifdef ENABLE_VFS_SFTP vfs_init_sftpfs (); #endif /* ENABLE_VFS_SFTP */ -#ifdef ENABLE_VFS_FISH - vfs_init_fish (); -#endif /* ENABLE_VFS_FISH */ +#ifdef ENABLE_VFS_SHELL + vfs_init_shell (); +#endif /* ENABLE_VFS_SHELL */ } /* --------------------------------------------------------------------------------------------- */ diff --git a/mcsrc/src/vfs/sfs/sfs.c b/mcsrc/src/vfs/sfs/sfs.c index f8eea36..b1b607d 100644 --- a/mcsrc/src/vfs/sfs/sfs.c +++ b/mcsrc/src/vfs/sfs/sfs.c @@ -1,7 +1,7 @@ /* Single File fileSystem - Copyright (C) 1998-2023 + Copyright (C) 1998-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/vfs/sfs/sfs.ini b/mcsrc/src/vfs/sfs/sfs.ini index d817dc9..a7b059b 100644 --- a/mcsrc/src/vfs/sfs/sfs.ini +++ b/mcsrc/src/vfs/sfs/sfs.ini @@ -16,6 +16,8 @@ lz4/1 lz4 < %1 > %3 ulz4/1 lz4 -d < %1 > %3 lzma/1 lzma < %1 > %3 ulzma/1 lzma -d < %1 > %3 +lzo/1 lzop < %1 > %3 +ulzo/1 lzop -d < %1 > %3 xz/1 xz < %1 > %3 uxz/1 xz -d < %1 > %3 zst/1 zstd < %1 > %3 diff --git a/mcsrc/src/vfs/sftpfs/config_parser.c b/mcsrc/src/vfs/sftpfs/config_parser.c index b5cc9ff..842f3d6 100644 --- a/mcsrc/src/vfs/sftpfs/config_parser.c +++ b/mcsrc/src/vfs/sftpfs/config_parser.c @@ -1,7 +1,7 @@ /* Virtual File System: SFTP file system. The SSH config parser - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/vfs/sftpfs/connection.c b/mcsrc/src/vfs/sftpfs/connection.c index b650b7a..d1445ab 100644 --- a/mcsrc/src/vfs/sftpfs/connection.c +++ b/mcsrc/src/vfs/sftpfs/connection.c @@ -1,7 +1,7 @@ /* Virtual File System: SFTP file system. The internal functions: connections - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: @@ -74,6 +74,37 @@ static const char *const hostkey_method_ssh_ecdsa_256 = "ecdsa-sha2-nistp256"; static const char *const hostkey_method_ssh_rsa = "ssh-rsa"; static const char *const hostkey_method_ssh_dss = "ssh-dss"; +/* *INDENT-OFF* */ +static const char *default_hostkey_methods = +#ifdef LIBSSH2_KNOWNHOST_KEY_ECDSA_256 + "ecdsa-sha2-nistp256," +#endif +#ifdef LIBSSH2_KNOWNHOST_KEY_ECDSA_384 + "ecdsa-sha2-nistp384," +#endif +#ifdef LIBSSH2_KNOWNHOST_KEY_ECDSA_521 + "ecdsa-sha2-nistp521," +#endif +#ifdef LIBSSH2_KNOWNHOST_KEY_ECDSA_256 + "ecdsa-sha2-nistp256-cert-v01@openssh.com," +#endif +#ifdef LIBSSH2_KNOWNHOST_KEY_ECDSA_384 + "ecdsa-sha2-nistp384-cert-v01@openssh.com," +#endif +#ifdef LIBSSH2_KNOWNHOST_KEY_ECDSA_521 + "ecdsa-sha2-nistp521-cert-v01@openssh.com," +#endif +#ifdef LIBSSH2_KNOWNHOST_KEY_ED25519 + "ssh-ed25519," + "ssh-ed25519-cert-v01@openssh.com," +#endif + "rsa-sha2-256," + "rsa-sha2-512," + "ssh-rsa," + "ssh-rsa-cert-v01@openssh.com," + "ssh-dss"; +/* *INDENT-ON* */ + /** * * The current implementation of know host key checking has following limitations: @@ -260,8 +291,10 @@ sftpfs_read_known_hosts (struct vfs_s_super *super, GError ** mcerror) continue; if (store->name == NULL) - found = TRUE; - else if (store->name[0] != '[') + /* Ignore hashed hostnames. Currently, libssh2 offers no way for us to match it */ + continue; + + if (store->name[0] != '[') found = strcmp (store->name, super->path_element->host) == 0; else { @@ -288,6 +321,7 @@ sftpfs_read_known_hosts (struct vfs_s_super *super, GError ** mcerror) { int mask; const char *hostkey_method = NULL; + char *hostkey_methods; mask = store->typemask & LIBSSH2_KNOWNHOST_KEY_MASK; @@ -329,8 +363,15 @@ sftpfs_read_known_hosts (struct vfs_s_super *super, GError ** mcerror) return FALSE; } + /* Append the default hostkey methods (with lower priority). + * Since we ignored hashed hostnames, the actual matching host + * key might have different type than the one found in + * known_hosts for non-hashed hostname. Methods not supported + * by libssh2 it are ignored. */ + hostkey_methods = g_strdup_printf ("%s,%s", hostkey_method, default_hostkey_methods); rc = libssh2_session_method_pref (sftpfs_super->session, LIBSSH2_METHOD_HOSTKEY, - hostkey_method); + hostkey_methods); + g_free (hostkey_methods); if (rc < 0) goto err; } diff --git a/mcsrc/src/vfs/sftpfs/dir.c b/mcsrc/src/vfs/sftpfs/dir.c index a19a31f..53cb553 100644 --- a/mcsrc/src/vfs/sftpfs/dir.c +++ b/mcsrc/src/vfs/sftpfs/dir.c @@ -1,7 +1,7 @@ /* Virtual File System: SFTP file system. The internal functions: dirs - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/vfs/sftpfs/file.c b/mcsrc/src/vfs/sftpfs/file.c index 5c82258..6c11de5 100644 --- a/mcsrc/src/vfs/sftpfs/file.c +++ b/mcsrc/src/vfs/sftpfs/file.c @@ -1,7 +1,7 @@ /* Virtual File System: SFTP file system. The internal functions: files - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/vfs/sftpfs/internal.c b/mcsrc/src/vfs/sftpfs/internal.c index 4a92051..1f206f6 100644 --- a/mcsrc/src/vfs/sftpfs/internal.c +++ b/mcsrc/src/vfs/sftpfs/internal.c @@ -1,7 +1,7 @@ /* Virtual File System: SFTP file system. The internal functions - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/vfs/sftpfs/sftpfs.c b/mcsrc/src/vfs/sftpfs/sftpfs.c index f2cc592..ba7d169 100644 --- a/mcsrc/src/vfs/sftpfs/sftpfs.c +++ b/mcsrc/src/vfs/sftpfs/sftpfs.c @@ -1,7 +1,7 @@ /* Virtual File System: SFTP file system. The interface function - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/vfs/fish/Makefile.am b/mcsrc/src/vfs/shell/Makefile.am similarity index 59% rename from mcsrc/src/vfs/fish/Makefile.am rename to mcsrc/src/vfs/shell/Makefile.am index 4f3ca87..a4cb725 100644 --- a/mcsrc/src/vfs/fish/Makefile.am +++ b/mcsrc/src/vfs/shell/Makefile.am @@ -6,8 +6,8 @@ AM_CPPFLAGS = \ $(GLIB_CFLAGS) \ -I$(top_srcdir) -noinst_LTLIBRARIES = libvfs-fish.la +noinst_LTLIBRARIES = libvfs-shell.la -libvfs_fish_la_SOURCES = \ - fish.c fish.h \ - fishdef.h +libvfs_shell_la_SOURCES = \ + shell.c shell.h \ + shelldef.h diff --git a/mcsrc/src/vfs/shell/helpers/Makefile.am b/mcsrc/src/vfs/shell/helpers/Makefile.am new file mode 100644 index 0000000..aa0db25 --- /dev/null +++ b/mcsrc/src/vfs/shell/helpers/Makefile.am @@ -0,0 +1,10 @@ +shelldir = $(libexecdir)/@PACKAGE@/shell + +# Files to install and distribute other than shell scripts +SHELL_MISC = README.shell + +# Install and distribute SHELL helper scripts w/o shebang & executable bit as data +shell_DATA = $(SHELL_MISC) ls mkdir fexists unlink chown chmod rmdir ln mv hardlink get send append info utime +shellconfdir = $(sysconfdir)/@PACKAGE@ + +EXTRA_DIST = $(shell_DATA) diff --git a/mcsrc/src/vfs/shell/helpers/README.shell b/mcsrc/src/vfs/shell/helpers/README.shell new file mode 100644 index 0000000..8cc5347 --- /dev/null +++ b/mcsrc/src/vfs/shell/helpers/README.shell @@ -0,0 +1,227 @@ + + FIles transferred over SSH + ~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This protocol was designed for transferring files over a remote shell +connection (rsh and compatibles). It can be as well used for transfers over +rsh, and there may be other uses. + +Since version 4.8.31 Midnight Commander doesn't support FISH commands with form + +#FISH_COMMAND [arg1] [arg2] ... [argN] + +and sends requests as shell scripts only. + +First, MC looks for system-wide set of scripts, then it checks whether +current user has host-specific overrides in his per-user MC configuration +directory. User-defined overrides take priority over sytem-wide scripts +if they exist. The order in which the directories are traversed is as follows: + + /usr/libexec/mc/shell + ~/.local/share/mc/shell// + +Server's reply is multiline, but always ends with + +### 000 + +line. ### is prefix to mark this line, 000 is return code. Return +codes are superset to those used in ftp. + +There are few new exit codes defined: + +000 don't know; if there were no previous lines, this marks COMPLETE +success, if they were, it marks failure. + +001 don't know; if there were no previous lines, this marks +PRELIMinary success, if they were, it marks failure + + Connecting + ~~~~~~~~~~ +MC uses "echo SHELL:;/bin/sh" as command executed on remote machine. + + Actions + ~~~~~~~ + +Get info about host into $result + + echo $result + echo '### 200' + +Script: info + +-------------------------------------------------------------------------------- + +List directory or get status information about single file. + + ls -lLa $1 | grep '^[^cbt]' | ( while read p x u g s m d y n; do echo "P$p $u.$g + S$s + d$m $d $y + :$n + "; done ) + ls -lLa $1 | grep '^[cb]' | ( while read p x u g a i m d y n; do echo "P$p $u.$g + E$a$i + dD$m $d $y + :$n + "; done ) + echo '### 200' + +Output is in following form (any line except : may be omitted): + +P . +S +d<3-letters month name> +D [.1234] +E, +: +L + + +Unix permissions are of form X--------- +where X is type of file: + '-' a regular file + 'd' a directory + 'c' a character device + 'b' a block device + 'l' a symbolic link + 'p' a FIFO + 's' a socket. + +'d' has three fields: + month (one of strings Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec) + day of month + single number indicating year, or HH:MM field (assume current year in such + case). As you've probably noticed, this is pretty broken; it is for + compatibility with ls listing. + +Script: ls + +-------------------------------------------------------------------------------- + +Get file + + ls -l /some/name | ( read a b c d x e; echo $x ); echo '### 100'; cat /some/name; echo '### 200' + +Server sends line with filesize on it, followed by line with ### 100 +indicating partial success, then it sends binary data (exactly filesize bytes) +and follows them with (with no preceding newline) ### 200. + +Note that there's no way to abort running RETR command - except closing +the connection. + +Script: get + +-------------------------------------------------------------------------------- + +Put file + + > /file/name; echo '### 001'; ( dd bs=4096 count=; dd bs= count=1 ) 2>/dev/null | ( cat > %s; cat > /dev/null ); echo '### 200' + +This command is for storing /file/name, which is exactly size bytes big. +You probably think I went crazy. Well, I did not: that strange cat > /dev/null +has purpose to discard any extra data which was not written to disk (due to for +example out of space condition). + +[Why? Imagine uploading file with "rm -rf /" line in it.] + +Script: send + +-------------------------------------------------------------------------------- + +Change directory + + cd /somewhere; echo '### 000' + +It is specified here, but I'm not sure how wise idea is to use this one: +it breaks stateless-ness of the protocol. + +-------------------------------------------------------------------------------- + +Change mode + + chmod 1234 file; echo '### 000' + +Script: chmod + +-------------------------------------------------------------------------------- + +Change own + + chown user /file/name; echo '### 000' + +Script: chown + +-------------------------------------------------------------------------------- + +Remove file + + rm -f /some/path; echo '### 000' + +Sctipt: unlink + +-------------------------------------------------------------------------------- + +Make directory: + + mkdir /some/path; echo '### 000' + +Script: mkdir + +-------------------------------------------------------------------------------- + +Remove directory + + rmdir /some/path; echo '### 000' + +Script: rmdir + +-------------------------------------------------------------------------------- + +Rename/move file + + mv /path/a /path/b; echo '### 000' + +Script: mv + +-------------------------------------------------------------------------------- + +Make link + + ln /path/a /path/b; echo '### 000' + +Script: hardlink + +-------------------------------------------------------------------------------- + +Make symbolic link: + + ln -s /path/a /path/b; echo '### 000' + +Script: ln + +-------------------------------------------------------------------------------- + +You can use following parameters: +SHELL_FILESIZE +SHELL_FILENAME +SHELL_FILEMODE +SHELL_FILEOWNER +SHELL_FILEGROUPE +SHELL_FILEFROM +SHELL_FILETO + +NB: +'SHELL_FILESIZE' is used if we operate with single file name in 'unlink', 'rmdir', 'chmod', etc... +'SHELL_FILEFROM','SHELL_FILETO' are used if we operate with two files in 'ln', 'hardlink', 'mv' etc... +'SHELL_FILEOWNER', 'SHELL_FILEGROUPE' are a new user/group in chown + +and flags: +SHELL_HAVE_HEAD +SHELL_HAVE_SED +SHELL_HAVE_AWK +SHELL_HAVE_PERL +SHELL_HAVE_LSQ +SHELL_HAVE_DATE_MDYT + +That's all, folks! + pavel@ucw.cz + aborodin@vmail.ru diff --git a/mcsrc/src/vfs/shell/helpers/append b/mcsrc/src/vfs/shell/helpers/append new file mode 100644 index 0000000..a73d2cd --- /dev/null +++ b/mcsrc/src/vfs/shell/helpers/append @@ -0,0 +1,15 @@ +FILENAME="/${SHELL_FILENAME}" +echo "### 001" +{ + bss=4096 + bsl=4095 + if [ $SHELL_FILESIZE -lt $bss ]; then + bss=1; + bsl=0; + fi + while [ $SHELL_FILESIZE -gt 0 ]; do + cnt=`expr \\( $SHELL_FILESIZE + $bsl \\) / $bss` + n=`dd bs=$bss count=$cnt | tee -a "${FILENAME}" | wc -c` + SHELL_FILESIZE=`expr $SHELL_FILESIZE - $n` + done +}; echo "### 200" diff --git a/mcsrc/src/vfs/shell/helpers/chmod b/mcsrc/src/vfs/shell/helpers/chmod new file mode 100644 index 0000000..75ea024 --- /dev/null +++ b/mcsrc/src/vfs/shell/helpers/chmod @@ -0,0 +1,5 @@ +if chmod ${SHELL_FILEMODE} "/${SHELL_FILENAME}" 2>/dev/null; then + echo "### 000" +else + echo "### 500" +fi diff --git a/mcsrc/src/vfs/shell/helpers/chown b/mcsrc/src/vfs/shell/helpers/chown new file mode 100644 index 0000000..c2fc2b1 --- /dev/null +++ b/mcsrc/src/vfs/shell/helpers/chown @@ -0,0 +1,5 @@ +if chown ${SHELL_FILEOWNER}:${SHELL_FILEGROUP} "/${SHELL_FILENAME}" ; then + echo "### 000" +else + echo "### 500" +fi diff --git a/mcsrc/src/vfs/shell/helpers/fexists b/mcsrc/src/vfs/shell/helpers/fexists new file mode 100644 index 0000000..3d11574 --- /dev/null +++ b/mcsrc/src/vfs/shell/helpers/fexists @@ -0,0 +1,2 @@ +ls -l "/${SHELL_FILENAME}" >/dev/null 2>/dev/null +echo '### '$? diff --git a/mcsrc/src/vfs/fish/helpers/get b/mcsrc/src/vfs/shell/helpers/get similarity index 84% rename from mcsrc/src/vfs/fish/helpers/get rename to mcsrc/src/vfs/shell/helpers/get index 762267a..b633a45 100644 --- a/mcsrc/src/vfs/fish/helpers/get +++ b/mcsrc/src/vfs/shell/helpers/get @@ -1,7 +1,6 @@ -#RETR $FISH_FILENAME $FISH_START_OFFSET LC_TIME=C export LC_TIME -fish_get_perl () +shell_get_perl () { FILENAME=$1 OFFSET=$2 @@ -35,7 +34,7 @@ exit 0 ' "${FILENAME}" $OFFSET } -fish_get_tail () +shell_get_tail () { FILENAME=$1 OFFSET=$2 @@ -67,7 +66,7 @@ else fi } -fish_get_dd () +shell_get_dd () { FILENAME=$1 OFFSET=$2 @@ -96,10 +95,10 @@ else fi } -if [ -n "${FISH_HAVE_PERL}" ]; then - fish_get_perl "/${FISH_FILENAME}" ${FISH_START_OFFSET} -elif [ -n "${FISH_HAVE_TAIL}" ]; then - fish_get_tail "/${FISH_FILENAME}" ${FISH_START_OFFSET} +if [ -n "${SHELL_HAVE_PERL}" ]; then + shell_get_perl "/${SHELL_FILENAME}" ${SHELL_START_OFFSET} +elif [ -n "${SHELL_HAVE_TAIL}" ]; then + shell_get_tail "/${SHELL_FILENAME}" ${SHELL_START_OFFSET} else - fish_get_dd "/${FISH_FILENAME}" ${FISH_START_OFFSET} + shell_get_dd "/${SHELL_FILENAME}" ${SHELL_START_OFFSET} fi diff --git a/mcsrc/src/vfs/fish/helpers/hardlink b/mcsrc/src/vfs/shell/helpers/hardlink similarity index 51% rename from mcsrc/src/vfs/fish/helpers/hardlink rename to mcsrc/src/vfs/shell/helpers/hardlink index 4f36b3f..f92b332 100644 --- a/mcsrc/src/vfs/fish/helpers/hardlink +++ b/mcsrc/src/vfs/shell/helpers/hardlink @@ -1,6 +1,5 @@ -#LINK $FISH_FILEFROM $FISH_FILETO -FILEFROM="/${FISH_FILEFROM}" -FILETO="/${FISH_FILETO}" +FILEFROM="/${SHELL_FILEFROM}" +FILETO="/${SHELL_FILETO}" if ln "${FILEFROM}" "${FILETO}" 2>/dev/null; then echo "### 000" else diff --git a/mcsrc/src/vfs/fish/helpers/info b/mcsrc/src/vfs/shell/helpers/info similarity index 80% rename from mcsrc/src/vfs/fish/helpers/info rename to mcsrc/src/vfs/shell/helpers/info index b85b0a7..053423a 100644 --- a/mcsrc/src/vfs/fish/helpers/info +++ b/mcsrc/src/vfs/shell/helpers/info @@ -1,12 +1,12 @@ LC_TIME=C export LC_TIME -#FISH_HAVE_HEAD 1 -#FISH_HAVE_SED 2 -#FISH_HAVE_AWK 4 -#FISH_HAVE_PERL 8 -#FISH_HAVE_LSQ 16 -#FISH_HAVE_DATE_MDYT 32 -#FISH_HAVE_TAIL 64 +#SHELL_HAVE_HEAD 1 +#SHELL_HAVE_SED 2 +#SHELL_HAVE_AWK 4 +#SHELL_HAVE_PERL 8 +#SHELL_HAVE_LSQ 16 +#SHELL_HAVE_DATE_MDYT 32 +#SHELL_HAVE_TAIL 64 res=0 if `echo yes| head -c 1 > /dev/null 2>&1` ; then res=`expr $res + 1` diff --git a/mcsrc/src/vfs/fish/helpers/ln b/mcsrc/src/vfs/shell/helpers/ln similarity index 51% rename from mcsrc/src/vfs/fish/helpers/ln rename to mcsrc/src/vfs/shell/helpers/ln index a8445d8..15a20cd 100644 --- a/mcsrc/src/vfs/fish/helpers/ln +++ b/mcsrc/src/vfs/shell/helpers/ln @@ -1,6 +1,5 @@ -#SYMLINK $FISH_FILEFROM $FISH_FILETO -FILEFROM="${FISH_FILEFROM}" -FILETO="/${FISH_FILETO}" +FILEFROM="${SHELL_FILEFROM}" +FILETO="/${SHELL_FILETO}" if ln -s "${FILEFROM}" "${FILETO}" 2>/dev/null; then echo "### 000" else diff --git a/mcsrc/src/vfs/fish/helpers/ls b/mcsrc/src/vfs/shell/helpers/ls similarity index 77% rename from mcsrc/src/vfs/fish/helpers/ls rename to mcsrc/src/vfs/shell/helpers/ls index 7165b51..c7701d6 100644 --- a/mcsrc/src/vfs/fish/helpers/ls +++ b/mcsrc/src/vfs/shell/helpers/ls @@ -1,11 +1,10 @@ -#LIST /${FISH_DIR} LC_TIME=C export LC_TIME perl_res="1" -fish_list_lsq () +shell_list_lsq () { -FISH_DIR="$1" -ls -Qlan "${FISH_DIR}" 2>/dev/null | grep '^[^cbt]' | ( +SHELL_DIR="$1" +ls -Qlan "${SHELL_DIR}" 2>/dev/null | grep '^[^cbt]' | ( while read p l u g s m d y n; do echo "P$p $u.$g" echo "S$s" @@ -15,7 +14,7 @@ while read p l u g s m d y n; do done ) -ls -Qlan "${FISH_DIR}" 2>/dev/null | grep '^[cb]' | ( +ls -Qlan "${SHELL_DIR}" 2>/dev/null | grep '^[cb]' | ( while read p l u g a i m d y n; do echo "P$p $u.$g" echo "E$a$i" @@ -27,13 +26,13 @@ done echo '### 200' } -fish_list_sed () +shell_list_sed () { -FISH_DIR="$1" -ls -lan "${FISH_DIR}" 2>/dev/null | grep '^[^cbt]' | ( +SHELL_DIR="$1" +ls -lan "${SHELL_DIR}" 2>/dev/null | grep '^[^cbt]' | ( while read p l u g s rec; do if [ -n "$g" ]; then - if [ -n "$FISH_HAVE_DATE_MDYT" ]; then + if [ -n "$SHELL_HAVE_DATE_MDYT" ]; then filename=`echo "$rec"| sed 's/[^[:space:]]\+ \+[^[:space:]]\+ \+[^[:space:]]\+ //'` filedate=`echo "$rec"| sed 's/\([^[:space:]]\+ \+[^[:space:]]\+ \+[^[:space:]]\+\) .*/\1/'` else @@ -43,7 +42,7 @@ while read p l u g s rec; do pfile=\"`echo "$filename" | sed -e 's#^\(.*\) -> \(.*\)#\1" -> "\2#'`\" echo "P$p $u.$g" echo "S$s" - if [ -n "$FISH_HAVE_DATE_MDYT" ]; then + if [ -n "$SHELL_HAVE_DATE_MDYT" ]; then echo "d$filedate" else echo "D$filedate" @@ -53,10 +52,10 @@ while read p l u g s rec; do fi done ) -ls -lan "${FISH_DIR}" 2>/dev/null | grep '^[cb]' | ( +ls -lan "${SHELL_DIR}" 2>/dev/null | grep '^[cb]' | ( while read p l u g a i rec; do if [ -n "$g" ]; then - if [ -n "$FISH_HAVE_DATE_MDYT" ]; then + if [ -n "$SHELL_HAVE_DATE_MDYT" ]; then filename=`echo "$rec"| sed 's/[^[:space:]]\+ \+[^[:space:]]\+ \+[^[:space:]]\+ //'` filedate=`echo "$rec"| sed 's/\([^[:space:]]\+ \+[^[:space:]]\+ \+[^[:space:]]\+\) .*/\1/'` else @@ -66,7 +65,7 @@ while read p l u g a i rec; do pfile=\"`echo "$filename" | sed -e 's#^\(.*\) -> \(.*\)#\1" -> "\2#'`\" echo "P$p $u.$g" echo "E$a$i" - if [ -n "$FISH_HAVE_DATE_MDYT" ]; then + if [ -n "$SHELL_HAVE_DATE_MDYT" ]; then echo "d$filedate" else echo "D$filedate" @@ -79,10 +78,10 @@ done echo '### 200' } -fish_list_poor_ls () +shell_list_poor_ls () { -FISH_DIR="$1" -ls -lan "${FISH_DIR}" 2>/dev/null | grep '^[^cbt]' | ( +SHELL_DIR="$1" +ls -lan "${SHELL_DIR}" 2>/dev/null | grep '^[^cbt]' | ( while read p l u g s m d y n n2 n3; do if [ -n "$g" ]; then if [ "$m" = "0" ]; then @@ -98,7 +97,7 @@ while read p l u g s m d y n n2 n3; do fi done ) -ls -lan "${FISH_DIR}" 2>/dev/null | grep '^[cb]' | ( +ls -lan "${SHELL_DIR}" 2>/dev/null | grep '^[cb]' | ( while read p l u g a i m d y n n2 n3; do if [ -n "$g" ]; then if [ "$a" = "0" ]; then @@ -117,15 +116,14 @@ done echo '### 200' } -fish_list_perl () +shell_list_perl () { -FISH_DIR=$1 +SHELL_DIR=$1 perl -e ' use strict; use POSIX; -use Fcntl; -use POSIX ":fcntl_h"; #S_ISLNK was here until 5.6 -import Fcntl ":mode" unless defined &S_ISLNK; #and is now here +use Fcntl ":mode"; # S_ISLNK, S_IFMT, S_IMODE are here +use POSIX ":fcntl_h"; # S_ISLNK might be here as well my $dirname = $ARGV[0]; if (opendir (DIR, $dirname)) { while((my $filename = readdir (DIR))){ @@ -152,19 +150,19 @@ while((my $filename = readdir (DIR))){ printf("### 500\n"); } exit 0 -' "/${FISH_DIR}" +' "/${SHELL_DIR}" perl_res=$? } -if [ -n "${FISH_HAVE_PERL}" ]; then - fish_list_perl "/${FISH_FILENAME}" +if [ -n "${SHELL_HAVE_PERL}" ]; then + shell_list_perl "/${SHELL_FILENAME}" fi if [ "${perl_res}" != "0" ]; then - if [ -n "${FISH_HAVE_LSQ}" ]; then - fish_list_lsq "/${FISH_FILENAME}" - elif [ -n "${FISH_HAVE_SED}" ]; then - fish_list_sed "/${FISH_FILENAME}" + if [ -n "${SHELL_HAVE_LSQ}" ]; then + shell_list_lsq "/${SHELL_FILENAME}" + elif [ -n "${SHELL_HAVE_SED}" ]; then + shell_list_sed "/${SHELL_FILENAME}" else - fish_list_poor_ls "/${FISH_FILENAME}" + shell_list_poor_ls "/${SHELL_FILENAME}" fi fi diff --git a/mcsrc/src/vfs/shell/helpers/mkdir b/mcsrc/src/vfs/shell/helpers/mkdir new file mode 100644 index 0000000..b05f125 --- /dev/null +++ b/mcsrc/src/vfs/shell/helpers/mkdir @@ -0,0 +1,5 @@ +if mkdir "/$SHELL_FILENAME" 2>/dev/null; then + echo "### 000" +else + echo "### 500" +fi diff --git a/mcsrc/src/vfs/shell/helpers/mv b/mcsrc/src/vfs/shell/helpers/mv new file mode 100644 index 0000000..1fd2327 --- /dev/null +++ b/mcsrc/src/vfs/shell/helpers/mv @@ -0,0 +1,5 @@ +if mv "/${SHELL_FILEFROM}" "/${SHELL_FILETO}" 2>/dev/null; then + echo "### 000" +else + echo "### 500" +fi diff --git a/mcsrc/src/vfs/shell/helpers/rmdir b/mcsrc/src/vfs/shell/helpers/rmdir new file mode 100644 index 0000000..88172c4 --- /dev/null +++ b/mcsrc/src/vfs/shell/helpers/rmdir @@ -0,0 +1,5 @@ +if rmdir "/${SHELL_FILENAME}" 2>/dev/null; then + echo "### 000" +else + echo "### 500" +fi diff --git a/mcsrc/src/vfs/shell/helpers/send b/mcsrc/src/vfs/shell/helpers/send new file mode 100644 index 0000000..66c2a1c --- /dev/null +++ b/mcsrc/src/vfs/shell/helpers/send @@ -0,0 +1,16 @@ +FILENAME="/${SHELL_FILENAME}" +echo "### 001" +{ + > "${FILENAME}" + bss=4096 + bsl=4095 + if [ $SHELL_FILESIZE -lt $bss ]; then + bss=1; + bsl=0; + fi + while [ $SHELL_FILESIZE -gt 0 ]; do + cnt=`expr \\( $SHELL_FILESIZE + $bsl \\) / $bss` + n=`dd bs=$bss count=$cnt | tee -a "${FILENAME}" | wc -c` + SHELL_FILESIZE=`expr $SHELL_FILESIZE - $n` + done +}; echo "### 200" diff --git a/mcsrc/src/vfs/shell/helpers/unlink b/mcsrc/src/vfs/shell/helpers/unlink new file mode 100644 index 0000000..f02f4d3 --- /dev/null +++ b/mcsrc/src/vfs/shell/helpers/unlink @@ -0,0 +1,5 @@ +if rm -f "/${SHELL_FILENAME}" 2>/dev/null; then + echo "### 000" +else + echo "### 500" +fi diff --git a/mcsrc/src/vfs/shell/helpers/utime b/mcsrc/src/vfs/shell/helpers/utime new file mode 100644 index 0000000..a563431 --- /dev/null +++ b/mcsrc/src/vfs/shell/helpers/utime @@ -0,0 +1,12 @@ +if TZ=UTC touch -h -m -d "$SHELL_TOUCHMTIME_W_NSEC" "/${SHELL_FILENAME}" 2>/dev/null && \ + TZ=UTC touch -h -a -d "$SHELL_TOUCHATIME_W_NSEC" "/${SHELL_FILENAME}" 2>/dev/null; then + echo "### 000" +elif TZ=UTC touch -h -m -t $SHELL_TOUCHMTIME "/${SHELL_FILENAME}" 2>/dev/null && \ + TZ=UTC touch -h -a -t $SHELL_TOUCHATIME "/${SHELL_FILENAME}" 2>/dev/null; then + echo "### 000" +elif [ -n "$SHELL_HAVE_PERL" ] && + perl -e 'utime '$SHELL_FILEATIME','$SHELL_FILEMTIME',@ARGV;' "/${SHELL_FILENAME}" 2>/dev/null; then + echo "### 000" +else + echo "### 500" +fi diff --git a/mcsrc/src/vfs/fish/fish.c b/mcsrc/src/vfs/shell/shell.c similarity index 67% rename from mcsrc/src/vfs/fish/fish.c rename to mcsrc/src/vfs/shell/shell.c index c0f5cab..52cbd24 100644 --- a/mcsrc/src/vfs/fish/fish.c +++ b/mcsrc/src/vfs/shell/shell.c @@ -1,8 +1,8 @@ /* - Virtual File System: FISH implementation for transferring files over + Virtual File System: SHELL implementation for transferring files over shell connections. - Copyright (C) 1998-2023 + Copyright (C) 1998-2024 Free Software Foundation, Inc. Written by: @@ -32,20 +32,20 @@ /** * \file - * \brief Source: Virtual File System: FISH implementation for transferring files over + * \brief Source: Virtual File System: SHELL implementation for transferring files over * shell connections * \author Pavel Machek * \author Michal Svec * \date 1998, 2000 * * Derived from ftpfs.c - * Read README.fish for protocol specification. + * Read README.shell for protocol specification. * * Syntax of path is: \verbatim sh://user@host[:Cr]/path \endverbatim * where C means you want compressed connection, * and r means you want to use rsh * - * Namespace: fish_vfs_ops exported. + * Namespace: shell_vfs_ops exported. */ /* Define this if your ssh can take -I option */ @@ -65,7 +65,7 @@ #include "lib/fileloc.h" #include "lib/util.h" /* my_exit() */ #include "lib/mcconfig.h" -#if defined(WIN32) //WIN32, fish +#if defined(WIN32) //WIN32, shell #include "lib/widget.h" #include "win32_misc.h" #endif @@ -78,12 +78,12 @@ #include "lib/vfs/xdirentry.h" #include "lib/vfs/gc.h" /* vfs_stamp_create */ -#include "fish.h" -#include "fishdef.h" +#include "shell.h" +#include "shelldef.h" /*** global variables ****************************************************************************/ -int fish_directory_timeout = 900; +int shell_directory_timeout = 900; /*** file scope macro definitions ****************************************************************/ @@ -91,8 +91,8 @@ int fish_directory_timeout = 900; #define DO_OPEN 2 #define DO_FREE_RESOURCE 4 -#define FISH_FLAG_COMPRESSED 1 -#define FISH_FLAG_RSH 2 +#define SHELL_FLAG_COMPRESSED 1 +#define SHELL_FLAG_RSH 2 #define OPT_FLUSH 1 #define OPT_IGNORE_ERROR 2 @@ -115,16 +115,16 @@ int fish_directory_timeout = 900; #define WANT_STRING 0x02 /* environment flags */ -#define FISH_HAVE_HEAD 1 -#define FISH_HAVE_SED 2 -#define FISH_HAVE_AWK 4 -#define FISH_HAVE_PERL 8 -#define FISH_HAVE_LSQ 16 -#define FISH_HAVE_DATE_MDYT 32 -#define FISH_HAVE_TAIL 64 +#define SHELL_HAVE_HEAD 1 +#define SHELL_HAVE_SED 2 +#define SHELL_HAVE_AWK 4 +#define SHELL_HAVE_PERL 8 +#define SHELL_HAVE_LSQ 16 +#define SHELL_HAVE_DATE_MDYT 32 +#define SHELL_HAVE_TAIL 64 -#define FISH_SUPER(super) ((fish_super_t *) (super)) -#define FISH_FILE_HANDLER(fh) ((fish_file_handler_t *) fh) +#define SHELL_SUPER(super) ((shell_super_t *) (super)) +#define SHELL_FILE_HANDLER(fh) ((shell_file_handler_t *) fh) /*** file scope type declarations ****************************************************************/ @@ -160,7 +160,7 @@ typedef struct char *scr_info; int host_flags; GString *scr_env; -} fish_super_t; +} shell_super_t; typedef struct { @@ -169,7 +169,7 @@ typedef struct off_t got; off_t total; gboolean append; -} fish_file_handler_t; +} shell_file_handler_t; /*** forward declarations (file scope functions) *************************************************/ @@ -177,15 +177,15 @@ typedef struct static char reply_str[80]; -static struct vfs_s_subclass fish_subclass; -static struct vfs_class *vfs_fish_ops = VFS_CLASS (&fish_subclass); +static struct vfs_s_subclass shell_subclass; +static struct vfs_class *vfs_shell_ops = VFS_CLASS (&shell_subclass); /* --------------------------------------------------------------------------------------------- */ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ static void -fish_set_blksize (struct stat *s) +shell_set_blksize (struct stat *s) { #ifdef HAVE_STRUCT_STAT_ST_BLKSIZE /* redefine block size */ @@ -196,12 +196,12 @@ fish_set_blksize (struct stat *s) /* --------------------------------------------------------------------------------------------- */ static struct stat * -fish_default_stat (struct vfs_class *me) +shell_default_stat (struct vfs_class *me) { struct stat *s; s = vfs_s_default_stat (me, S_IFDIR | 0755); - fish_set_blksize (s); + shell_set_blksize (s); vfs_adjust_stat (s); return s; @@ -210,15 +210,16 @@ fish_default_stat (struct vfs_class *me) /* --------------------------------------------------------------------------------------------- */ static char * -fish_load_script_from_file (const char *hostname, const char *script_name, const char *def_content) +shell_load_script_from_file (const char *hostname, const char *script_name, const char *def_content) { char *scr_filename = NULL; char *scr_content; gsize scr_len = 0; /* 1st: scan user directory */ - scr_filename = g_build_path (PATH_SEP_STR, mc_config_get_data_path (), FISH_PREFIX, hostname, - script_name, (char *) NULL); + scr_filename = + g_build_path (PATH_SEP_STR, mc_config_get_data_path (), VFS_SHELL_PREFIX, hostname, + script_name, (char *) NULL); /* silent about user dir */ g_file_get_contents (scr_filename, &scr_content, &scr_len, NULL); g_free (scr_filename); @@ -226,7 +227,7 @@ fish_load_script_from_file (const char *hostname, const char *script_name, const if (scr_content == NULL) { scr_filename = - g_build_path (PATH_SEP_STR, LIBEXECDIR, FISH_PREFIX, script_name, (char *) NULL); + g_build_path (PATH_SEP_STR, LIBEXECDIR, VFS_SHELL_PREFIX, script_name, (char *) NULL); g_file_get_contents (scr_filename, &scr_content, &scr_len, NULL); g_free (scr_filename); } @@ -240,7 +241,7 @@ fish_load_script_from_file (const char *hostname, const char *script_name, const /* --------------------------------------------------------------------------------------------- */ static int -fish_decode_reply (char *s, gboolean was_garbage) +shell_decode_reply (char *s, gboolean was_garbage) { int code; @@ -259,7 +260,7 @@ fish_decode_reply (char *s, gboolean was_garbage) /* Returns a reply code, check /usr/include/arpa/ftp.h for possible values */ static int -fish_get_reply (struct vfs_class *me, int sock, char *string_buf, int string_len) +shell_get_reply (struct vfs_class *me, int sock, char *string_buf, int string_len) { char answer[BUF_1K]; gboolean was_garbage = FALSE; @@ -274,7 +275,7 @@ fish_get_reply (struct vfs_class *me, int sock, char *string_buf, int string_len } if (strncmp (answer, "### ", 4) == 0) - return fish_decode_reply (answer + 4, was_garbage ? 1 : 0); + return shell_decode_reply (answer + 4, was_garbage ? 1 : 0); was_garbage = TRUE; if (string_buf != NULL) @@ -285,8 +286,8 @@ fish_get_reply (struct vfs_class *me, int sock, char *string_buf, int string_len /* --------------------------------------------------------------------------------------------- */ static int -fish_command (struct vfs_class *me, struct vfs_s_super *super, int wait_reply, const char *cmd, - size_t cmd_len) +shell_command (struct vfs_class *me, struct vfs_s_super *super, int wait_reply, const char *cmd, + size_t cmd_len) { ssize_t status; FILE *logfile = me->logfile; @@ -304,16 +305,16 @@ fish_command (struct vfs_class *me, struct vfs_s_super *super, int wait_reply, c } tty_enable_interrupt_key (); - status = write (FISH_SUPER (super)->sockw, cmd, cmd_len); + status = write (SHELL_SUPER (super)->sockw, cmd, cmd_len); tty_disable_interrupt_key (); if (status < 0) return TRANSIENT; if (wait_reply) - return fish_get_reply (me, FISH_SUPER (super)->sockr, - (wait_reply & WANT_STRING) != 0 ? reply_str : - NULL, sizeof (reply_str) - 1); + return shell_get_reply (me, SHELL_SUPER (super)->sockr, + (wait_reply & WANT_STRING) != 0 ? reply_str : NULL, + sizeof (reply_str) - 1); return COMPLETE; } @@ -321,16 +322,16 @@ fish_command (struct vfs_class *me, struct vfs_s_super *super, int wait_reply, c static int G_GNUC_PRINTF (5, 0) -fish_command_va (struct vfs_class *me, struct vfs_s_super *super, int wait_reply, const char *scr, - const char *vars, va_list ap) +shell_command_va (struct vfs_class *me, struct vfs_s_super *super, int wait_reply, const char *scr, + const char *vars, va_list ap) { int r; GString *command; - command = mc_g_string_dup (FISH_SUPER (super)->scr_env); + command = mc_g_string_dup (SHELL_SUPER (super)->scr_env); g_string_append_vprintf (command, vars, ap); g_string_append (command, scr); - r = fish_command (me, super, wait_reply, command->str, command->len); + r = shell_command (me, super, wait_reply, command->str, command->len); g_string_free (command, TRUE); return r; @@ -340,14 +341,14 @@ fish_command_va (struct vfs_class *me, struct vfs_s_super *super, int wait_reply static int G_GNUC_PRINTF (5, 6) -fish_command_v (struct vfs_class *me, struct vfs_s_super *super, int wait_reply, const char *scr, - const char *vars, ...) +shell_command_v (struct vfs_class *me, struct vfs_s_super *super, int wait_reply, const char *scr, + const char *vars, ...) { int r; va_list ap; va_start (ap, vars); - r = fish_command_va (me, super, wait_reply, scr, vars, ap); + r = shell_command_va (me, super, wait_reply, scr, vars, ap); va_end (ap); return r; @@ -357,16 +358,16 @@ fish_command_v (struct vfs_class *me, struct vfs_s_super *super, int wait_reply, static int G_GNUC_PRINTF (5, 6) -fish_send_command (struct vfs_class *me, struct vfs_s_super *super, int flags, const char *scr, - const char *vars, ...) +shell_send_command (struct vfs_class *me, struct vfs_s_super *super, int flags, const char *scr, + const char *vars, ...) { int r; va_list ap; va_start (ap, vars); - r = fish_command_va (me, super, WAIT_REPLY, scr, vars, ap); + r = shell_command_va (me, super, WAIT_REPLY, scr, vars, ap); va_end (ap); - vfs_stamp_create (vfs_fish_ops, super); + vfs_stamp_create (vfs_shell_ops, super); if (r != COMPLETE) ERRNOR (E_REMOTE, -1); @@ -379,11 +380,11 @@ fish_send_command (struct vfs_class *me, struct vfs_s_super *super, int flags, c /* --------------------------------------------------------------------------------------------- */ static struct vfs_s_super * -fish_new_archive (struct vfs_class *me) +shell_new_archive (struct vfs_class *me) { - fish_super_t *arch; + shell_super_t *arch; - arch = g_new0 (fish_super_t, 1); + arch = g_new0 (shell_super_t, 1); arch->base.me = me; return VFS_SUPER (arch); @@ -392,51 +393,52 @@ fish_new_archive (struct vfs_class *me) /* --------------------------------------------------------------------------------------------- */ static void -fish_free_archive (struct vfs_class *me, struct vfs_s_super *super) +shell_free_archive (struct vfs_class *me, struct vfs_s_super *super) { - fish_super_t *fish_super = FISH_SUPER (super); + shell_super_t *shell_super = SHELL_SUPER (super); - if ((fish_super->sockw != -1) || (fish_super->sockr != -1)) - vfs_print_message (_("fish: Disconnecting from %s"), super->name ? super->name : "???"); + if ((shell_super->sockw != -1) || (shell_super->sockr != -1)) + vfs_print_message (_("shell: Disconnecting from %s"), super->name ? super->name : "???"); - if (fish_super->sockw != -1) + if (shell_super->sockw != -1) { - fish_command (me, super, NONE, "#BYE\nexit\n", -1); - close (fish_super->sockw); - fish_super->sockw = -1; + shell_command (me, super, NONE, "exit\n", -1); + close (shell_super->sockw); + shell_super->sockw = -1; } - if (fish_super->sockr != -1) + if (shell_super->sockr != -1) { - close (fish_super->sockr); - fish_super->sockr = -1; + close (shell_super->sockr); + shell_super->sockr = -1; } - g_free (fish_super->scr_ls); - g_free (fish_super->scr_exists); - g_free (fish_super->scr_mkdir); - g_free (fish_super->scr_unlink); - g_free (fish_super->scr_chown); - g_free (fish_super->scr_chmod); - g_free (fish_super->scr_utime); - g_free (fish_super->scr_rmdir); - g_free (fish_super->scr_ln); - g_free (fish_super->scr_mv); - g_free (fish_super->scr_hardlink); - g_free (fish_super->scr_get); - g_free (fish_super->scr_send); - g_free (fish_super->scr_append); - g_free (fish_super->scr_info); - g_string_free (fish_super->scr_env, TRUE); + g_free (shell_super->scr_ls); + g_free (shell_super->scr_exists); + g_free (shell_super->scr_mkdir); + g_free (shell_super->scr_unlink); + g_free (shell_super->scr_chown); + g_free (shell_super->scr_chmod); + g_free (shell_super->scr_utime); + g_free (shell_super->scr_rmdir); + g_free (shell_super->scr_ln); + g_free (shell_super->scr_mv); + g_free (shell_super->scr_hardlink); + g_free (shell_super->scr_get); + g_free (shell_super->scr_send); + g_free (shell_super->scr_append); + g_free (shell_super->scr_info); + if (shell_super->scr_env != NULL) + g_string_free (shell_super->scr_env, TRUE); } /* --------------------------------------------------------------------------------------------- */ static void -fish_pipeopen (struct vfs_s_super *super, const char *path, const char *argv[]) +shell_pipeopen (struct vfs_s_super *super, const char *path, const char *argv[]) { -#if defined(WIN32) //WIN32, fish - fish_super_t *fish_super = FISH_SUPER (super); +#if defined(WIN32) //WIN32, shell + shell_super_t *shell_super = SHELL_SUPER (super); char cmd[1024], t_path[MAX_PATH] = {0}; GError *error = NULL; int fds[2] = {-1, -1}; @@ -497,8 +499,8 @@ fish_pipeopen (struct vfs_s_super *super, const char *path, const char *argv[]) g_error_free (error); } - fish_super->sockr = fds[0]; - fish_super->sockw = fds[1]; + shell_super->sockr = fds[0]; + shell_super->sockw = fds[1]; #else int fileset1[2], fileset2[2]; @@ -515,9 +517,9 @@ fish_pipeopen (struct vfs_s_super *super, const char *path, const char *argv[]) vfs_die ("Cannot fork(): %m."); /* We are the parent */ close (fileset1[0]); - FISH_SUPER (super)->sockw = fileset1[1]; + SHELL_SUPER (super)->sockw = fileset1[1]; close (fileset2[1]); - FISH_SUPER (super)->sockr = fileset2[0]; + SHELL_SUPER (super)->sockr = fileset2[0]; } else { @@ -539,32 +541,32 @@ fish_pipeopen (struct vfs_s_super *super, const char *path, const char *argv[]) /* --------------------------------------------------------------------------------------------- */ static GString * -fish_set_env (int flags) +shell_set_env (int flags) { GString *ret; ret = g_string_sized_new (256); - if ((flags & FISH_HAVE_HEAD) != 0) - g_string_append (ret, "FISH_HAVE_HEAD=1 export FISH_HAVE_HEAD; "); + if ((flags & SHELL_HAVE_HEAD) != 0) + g_string_append (ret, "SHELL_HAVE_HEAD=1 export SHELL_HAVE_HEAD; "); - if ((flags & FISH_HAVE_SED) != 0) - g_string_append (ret, "FISH_HAVE_SED=1 export FISH_HAVE_SED; "); + if ((flags & SHELL_HAVE_SED) != 0) + g_string_append (ret, "SHELL_HAVE_SED=1 export SHELL_HAVE_SED; "); - if ((flags & FISH_HAVE_AWK) != 0) - g_string_append (ret, "FISH_HAVE_AWK=1 export FISH_HAVE_AWK; "); + if ((flags & SHELL_HAVE_AWK) != 0) + g_string_append (ret, "SHELL_HAVE_AWK=1 export SHELL_HAVE_AWK; "); - if ((flags & FISH_HAVE_PERL) != 0) - g_string_append (ret, "FISH_HAVE_PERL=1 export FISH_HAVE_PERL; "); + if ((flags & SHELL_HAVE_PERL) != 0) + g_string_append (ret, "SHELL_HAVE_PERL=1 export SHELL_HAVE_PERL; "); - if ((flags & FISH_HAVE_LSQ) != 0) - g_string_append (ret, "FISH_HAVE_LSQ=1 export FISH_HAVE_LSQ; "); + if ((flags & SHELL_HAVE_LSQ) != 0) + g_string_append (ret, "SHELL_HAVE_LSQ=1 export SHELL_HAVE_LSQ; "); - if ((flags & FISH_HAVE_DATE_MDYT) != 0) - g_string_append (ret, "FISH_HAVE_DATE_MDYT=1 export FISH_HAVE_DATE_MDYT; "); + if ((flags & SHELL_HAVE_DATE_MDYT) != 0) + g_string_append (ret, "SHELL_HAVE_DATE_MDYT=1 export SHELL_HAVE_DATE_MDYT; "); - if ((flags & FISH_HAVE_TAIL) != 0) - g_string_append (ret, "FISH_HAVE_TAIL=1 export FISH_HAVE_TAIL; "); + if ((flags & SHELL_HAVE_TAIL) != 0) + g_string_append (ret, "SHELL_HAVE_TAIL=1 export SHELL_HAVE_TAIL; "); return ret; } @@ -572,23 +574,23 @@ fish_set_env (int flags) /* --------------------------------------------------------------------------------------------- */ static gboolean -fish_info (struct vfs_class *me, struct vfs_s_super *super) +shell_info (struct vfs_class *me, struct vfs_s_super *super) { - fish_super_t *fish_super = FISH_SUPER (super); + shell_super_t *shell_super = SHELL_SUPER (super); - if (fish_command (me, super, NONE, fish_super->scr_info, -1) == COMPLETE) + if (shell_command (me, super, NONE, shell_super->scr_info, -1) == COMPLETE) { while (TRUE) { int res; char buffer[BUF_8K] = ""; - res = vfs_s_get_line_interruptible (me, buffer, sizeof (buffer), fish_super->sockr); + res = vfs_s_get_line_interruptible (me, buffer, sizeof (buffer), shell_super->sockr); if ((res == 0) || (res == EINTR)) ERRNOR (ECONNRESET, FALSE); if (strncmp (buffer, "### ", 4) == 0) break; - fish_super->host_flags = atol (buffer); + shell_super->host_flags = atol (buffer); } return TRUE; } @@ -598,18 +600,18 @@ fish_info (struct vfs_class *me, struct vfs_s_super *super) /* --------------------------------------------------------------------------------------------- */ static void -fish_open_archive_pipeopen (struct vfs_s_super *super) +shell_open_archive_pipeopen (struct vfs_s_super *super) { char gbuf[10]; const char *argv[10]; /* All of 10 is used now */ - const char *xsh = (super->path_element->port == FISH_FLAG_RSH ? "rsh" : "ssh"); + const char *xsh = (super->path_element->port == SHELL_FLAG_RSH ? "rsh" : "ssh"); int i = 0; argv[i++] = xsh; - if (super->path_element->port == FISH_FLAG_COMPRESSED) + if (super->path_element->port == SHELL_FLAG_COMPRESSED) argv[i++] = "-C"; - if (super->path_element->port > FISH_FLAG_RSH) + if (super->path_element->port > SHELL_FLAG_RSH) { argv[i++] = "-p"; g_snprintf (gbuf, sizeof (gbuf), "%d", super->path_element->port); @@ -635,23 +637,23 @@ fish_open_archive_pipeopen (struct vfs_s_super *super) } argv[i++] = super->path_element->host; - argv[i++] = "echo FISH:; /bin/sh"; + argv[i++] = "echo SHELL:; /bin/sh"; argv[i++] = NULL; - fish_pipeopen (super, xsh, argv); + shell_pipeopen (super, xsh, argv); } /* --------------------------------------------------------------------------------------------- */ static gboolean -fish_open_archive_talk (struct vfs_class *me, struct vfs_s_super *super) +shell_open_archive_talk (struct vfs_class *me, struct vfs_s_super *super) { - fish_super_t *fish_super = FISH_SUPER (super); + shell_super_t *shell_super = SHELL_SUPER (super); char answer[2048]; - printf ("\n%s\n", _("fish: Waiting for initial line...")); + printf ("\n%s\n", _("shell: Waiting for initial line...")); - if (vfs_s_get_line (me, fish_super->sockr, answer, sizeof (answer), ':') == 0) + if (vfs_s_get_line (me, shell_super->sockr, answer, sizeof (answer), ':') == 0) return FALSE; if (strstr (answer, "assword") != NULL) @@ -667,7 +669,8 @@ fish_open_archive_talk (struct vfs_class *me, struct vfs_s_super *super) { char *p, *op; - p = g_strdup_printf (_("fish: Password is required for %s"), super->path_element->user); + p = g_strdup_printf (_("shell: Password is required for %s"), + super->path_element->user); op = vfs_get_password (p); g_free (p); if (op == NULL) @@ -675,14 +678,14 @@ fish_open_archive_talk (struct vfs_class *me, struct vfs_s_super *super) super->path_element->password = op; } - printf ("\n%s\n", _("fish: Sending password...")); + printf ("\n%s\n", _("shell: Sending password...")); { size_t str_len; str_len = strlen (super->path_element->password); - if ((write (fish_super.sockw, super->path_element->password, str_len) != - (ssize_t) str_len) || (write (fish_super->sockw, "\n", 1) != 1)) + if ((write (shell_super.sockw, super->path_element->password, str_len) != + (ssize_t) str_len) || (write (shell_super->sockw, "\n", 1) != 1)) return FALSE; } #endif @@ -693,7 +696,7 @@ fish_open_archive_talk (struct vfs_class *me, struct vfs_s_super *super) /* --------------------------------------------------------------------------------------------- */ static int -fish_open_archive_int (struct vfs_class *me, struct vfs_s_super *super) +shell_open_archive_int (struct vfs_class *me, struct vfs_s_super *super) { gboolean ftalk; @@ -701,10 +704,10 @@ fish_open_archive_int (struct vfs_class *me, struct vfs_s_super *super) pre_exec (); /* open pipe */ - fish_open_archive_pipeopen (super); + shell_open_archive_pipeopen (super); /* Start talk with ssh-server (password prompt, etc ) */ - ftalk = fish_open_archive_talk (me, super); + ftalk = shell_open_archive_talk (me, super); /* show panels */ post_exec (); @@ -712,31 +715,18 @@ fish_open_archive_int (struct vfs_class *me, struct vfs_s_super *super) if (!ftalk) ERRNOR (E_PROTO, -1); - vfs_print_message ("%s", _("fish: Sending initial line...")); - /* - * Run 'start_fish_server'. If it doesn't exist - no problem, - * we'll talk directly to the shell. - */ - - if (fish_command - (me, super, WAIT_REPLY, "#FISH\necho; start_fish_server 2>&1; echo '### 200'\n", - -1) != COMPLETE) - ERRNOR (E_PROTO, -1); - - vfs_print_message ("%s", _("fish: Handshaking version...")); - if (fish_command (me, super, WAIT_REPLY, "#VER 0.0.3\necho '### 000'\n", -1) != COMPLETE) - ERRNOR (E_PROTO, -1); + vfs_print_message ("%s", _("shell: Sending initial line...")); /* Set up remote locale to C, otherwise dates cannot be recognized */ - if (fish_command + if (shell_command (me, super, WAIT_REPLY, "LANG=C LC_ALL=C LC_TIME=C; export LANG LC_ALL LC_TIME;\n" "echo '### 200'\n", -1) != COMPLETE) ERRNOR (E_PROTO, -1); - vfs_print_message ("%s", _("fish: Getting host info...")); - if (fish_info (me, super)) - FISH_SUPER (super)->scr_env = fish_set_env (FISH_SUPER (super)->host_flags); + vfs_print_message ("%s", _("shell: Getting host info...")); + if (shell_info (me, super)) + SHELL_SUPER (super)->scr_env = shell_set_env (SHELL_SUPER (super)->host_flags); #if 0 super->name = @@ -746,7 +736,7 @@ fish_open_archive_int (struct vfs_class *me, struct vfs_s_super *super) super->name = g_strdup (PATH_SEP_STR); #endif - super->root = vfs_s_new_inode (me, super, fish_default_stat (me)); + super->root = vfs_s_new_inode (me, super, shell_default_stat (me)); return 0; } @@ -754,68 +744,72 @@ fish_open_archive_int (struct vfs_class *me, struct vfs_s_super *super) /* --------------------------------------------------------------------------------------------- */ static int -fish_open_archive (struct vfs_s_super *super, - const vfs_path_t * vpath, const vfs_path_element_t * vpath_element) +shell_open_archive (struct vfs_s_super *super, + const vfs_path_t * vpath, const vfs_path_element_t * vpath_element) { - fish_super_t *fish_super = FISH_SUPER (super); + shell_super_t *shell_super = SHELL_SUPER (super); (void) vpath; super->path_element = vfs_path_element_clone (vpath_element); if (strncmp (vpath_element->vfs_prefix, "rsh", 3) == 0) - super->path_element->port = FISH_FLAG_RSH; - - fish_super->scr_ls = - fish_load_script_from_file (super->path_element->host, FISH_LS_FILE, FISH_LS_DEF_CONTENT); - fish_super->scr_exists = - fish_load_script_from_file (super->path_element->host, FISH_EXISTS_FILE, - FISH_EXISTS_DEF_CONTENT); - fish_super->scr_mkdir = - fish_load_script_from_file (super->path_element->host, FISH_MKDIR_FILE, - FISH_MKDIR_DEF_CONTENT); - fish_super->scr_unlink = - fish_load_script_from_file (super->path_element->host, FISH_UNLINK_FILE, - FISH_UNLINK_DEF_CONTENT); - fish_super->scr_chown = - fish_load_script_from_file (super->path_element->host, FISH_CHOWN_FILE, - FISH_CHOWN_DEF_CONTENT); - fish_super->scr_chmod = - fish_load_script_from_file (super->path_element->host, FISH_CHMOD_FILE, - FISH_CHMOD_DEF_CONTENT); - fish_super->scr_utime = - fish_load_script_from_file (super->path_element->host, FISH_UTIME_FILE, - FISH_UTIME_DEF_CONTENT); - fish_super->scr_rmdir = - fish_load_script_from_file (super->path_element->host, FISH_RMDIR_FILE, - FISH_RMDIR_DEF_CONTENT); - fish_super->scr_ln = - fish_load_script_from_file (super->path_element->host, FISH_LN_FILE, FISH_LN_DEF_CONTENT); - fish_super->scr_mv = - fish_load_script_from_file (super->path_element->host, FISH_MV_FILE, FISH_MV_DEF_CONTENT); - fish_super->scr_hardlink = - fish_load_script_from_file (super->path_element->host, FISH_HARDLINK_FILE, - FISH_HARDLINK_DEF_CONTENT); - fish_super->scr_get = - fish_load_script_from_file (super->path_element->host, FISH_GET_FILE, FISH_GET_DEF_CONTENT); - fish_super->scr_send = - fish_load_script_from_file (super->path_element->host, FISH_SEND_FILE, - FISH_SEND_DEF_CONTENT); - fish_super->scr_append = - fish_load_script_from_file (super->path_element->host, FISH_APPEND_FILE, - FISH_APPEND_DEF_CONTENT); - fish_super->scr_info = - fish_load_script_from_file (super->path_element->host, FISH_INFO_FILE, - FISH_INFO_DEF_CONTENT); - - return fish_open_archive_int (vpath_element->class, super); + super->path_element->port = SHELL_FLAG_RSH; + + shell_super->scr_ls = + shell_load_script_from_file (super->path_element->host, VFS_SHELL_LS_FILE, + VFS_SHELL_LS_DEF_CONTENT); + shell_super->scr_exists = + shell_load_script_from_file (super->path_element->host, VFS_SHELL_EXISTS_FILE, + VFS_SHELL_EXISTS_DEF_CONTENT); + shell_super->scr_mkdir = + shell_load_script_from_file (super->path_element->host, VFS_SHELL_MKDIR_FILE, + VFS_SHELL_MKDIR_DEF_CONTENT); + shell_super->scr_unlink = + shell_load_script_from_file (super->path_element->host, VFS_SHELL_UNLINK_FILE, + VFS_SHELL_UNLINK_DEF_CONTENT); + shell_super->scr_chown = + shell_load_script_from_file (super->path_element->host, VFS_SHELL_CHOWN_FILE, + VFS_SHELL_CHOWN_DEF_CONTENT); + shell_super->scr_chmod = + shell_load_script_from_file (super->path_element->host, VFS_SHELL_CHMOD_FILE, + VFS_SHELL_CHMOD_DEF_CONTENT); + shell_super->scr_utime = + shell_load_script_from_file (super->path_element->host, VFS_SHELL_UTIME_FILE, + VFS_SHELL_UTIME_DEF_CONTENT); + shell_super->scr_rmdir = + shell_load_script_from_file (super->path_element->host, VFS_SHELL_RMDIR_FILE, + VFS_SHELL_RMDIR_DEF_CONTENT); + shell_super->scr_ln = + shell_load_script_from_file (super->path_element->host, VFS_SHELL_LN_FILE, + VFS_SHELL_LN_DEF_CONTENT); + shell_super->scr_mv = + shell_load_script_from_file (super->path_element->host, VFS_SHELL_MV_FILE, + VFS_SHELL_MV_DEF_CONTENT); + shell_super->scr_hardlink = + shell_load_script_from_file (super->path_element->host, VFS_SHELL_HARDLINK_FILE, + VFS_SHELL_HARDLINK_DEF_CONTENT); + shell_super->scr_get = + shell_load_script_from_file (super->path_element->host, VFS_SHELL_GET_FILE, + VFS_SHELL_GET_DEF_CONTENT); + shell_super->scr_send = + shell_load_script_from_file (super->path_element->host, VFS_SHELL_SEND_FILE, + VFS_SHELL_SEND_DEF_CONTENT); + shell_super->scr_append = + shell_load_script_from_file (super->path_element->host, VFS_SHELL_APPEND_FILE, + VFS_SHELL_APPEND_DEF_CONTENT); + shell_super->scr_info = + shell_load_script_from_file (super->path_element->host, VFS_SHELL_INFO_FILE, + VFS_SHELL_INFO_DEF_CONTENT); + + return shell_open_archive_int (vpath_element->class, super); } /* --------------------------------------------------------------------------------------------- */ static int -fish_archive_same (const vfs_path_element_t * vpath_element, struct vfs_s_super *super, - const vfs_path_t * vpath, void *cookie) +shell_archive_same (const vfs_path_element_t * vpath_element, struct vfs_s_super *super, + const vfs_path_t * vpath, void *cookie) { vfs_path_element_t *path_element; int result; @@ -840,7 +834,7 @@ fish_archive_same (const vfs_path_element_t * vpath_element, struct vfs_s_super /* --------------------------------------------------------------------------------------------- */ static void -fish_parse_ls (char *buffer, struct vfs_s_entry *ent) +shell_parse_ls (char *buffer, struct vfs_s_entry *ent) { #define ST ent->ino->st @@ -869,7 +863,6 @@ fish_parse_ls (char *buffer, struct vfs_s_entry *ent) // -> cannot occur in filenames, // because it will be escaped to -\> */ - linkname_bound = filename_bound; if (*filename == '"') @@ -931,7 +924,7 @@ fish_parse_ls (char *buffer, struct vfs_s_entry *ent) case 'P': { size_t skipped; -#if defined(WIN32) //WIN32, fish +#if defined(WIN32) //WIN32, shell mode_t st_mode = 0; vfs_parse_filemode (buffer, &skipped, &st_mode); ST.st_mode = st_mode; @@ -949,7 +942,7 @@ fish_parse_ls (char *buffer, struct vfs_s_entry *ent) */ size_t skipped; -#if defined(WIN32) //WIN32, fish +#if defined(WIN32) //WIN32, shell mode_t st_mode = 0; vfs_parse_raw_filemode (buffer, &skipped, &st_mode); ST.st_mode = st_mode; @@ -1008,7 +1001,7 @@ fish_parse_ls (char *buffer, struct vfs_s_entry *ent) /* --------------------------------------------------------------------------------------------- */ static int -fish_dir_load (struct vfs_class *me, struct vfs_s_inode *dir, const char *remote_path) +shell_dir_load (struct vfs_class *me, struct vfs_s_inode *dir, const char *remote_path) { struct vfs_s_super *super = dir->super; char buffer[BUF_8K] = "\0"; @@ -1017,20 +1010,20 @@ fish_dir_load (struct vfs_class *me, struct vfs_s_inode *dir, const char *remote int reply_code; /* - * Simple FISH debug interface :] + * Simple SHELL debug interface :] */ #if 0 if (me->logfile == NULL) - me->logfile = fopen ("/tmp/mc-FISH.sh", "w"); + me->logfile = fopen ("/tmp/mc-SHELL.sh", "w"); #endif - vfs_print_message (_("fish: Reading directory %s..."), remote_path); + vfs_print_message (_("shell: Reading directory %s..."), remote_path); - dir->timestamp = g_get_monotonic_time () + fish_directory_timeout * G_USEC_PER_SEC; + dir->timestamp = g_get_monotonic_time () + shell_directory_timeout * G_USEC_PER_SEC; quoted_path = strutils_shell_escape (remote_path); - (void) fish_command_v (me, super, NONE, FISH_SUPER (super)->scr_ls, "FISH_FILENAME=%s;\n", - quoted_path); + (void) shell_command_v (me, super, NONE, SHELL_SUPER (super)->scr_ls, "SHELL_FILENAME=%s;\n", + quoted_path); g_free (quoted_path); ent = vfs_s_generate_entry (me, NULL, dir, 0); @@ -1039,7 +1032,8 @@ fish_dir_load (struct vfs_class *me, struct vfs_s_inode *dir, const char *remote { int res; - res = vfs_s_get_line_interruptible (me, buffer, sizeof (buffer), FISH_SUPER (super)->sockr); + res = + vfs_s_get_line_interruptible (me, buffer, sizeof (buffer), SHELL_SUPER (super)->sockr); if ((res == 0) || (res == EINTR)) { @@ -1057,7 +1051,7 @@ fish_dir_load (struct vfs_class *me, struct vfs_s_inode *dir, const char *remote break; if (buffer[0] != '\0') - fish_parse_ls (buffer, ent); + shell_parse_ls (buffer, ent); else if (ent->name != NULL) { vfs_s_insert_entry (me, dir, ent); @@ -1066,7 +1060,7 @@ fish_dir_load (struct vfs_class *me, struct vfs_s_inode *dir, const char *remote } vfs_s_free_entry (me, ent); - reply_code = fish_decode_reply (buffer + 4, 0); + reply_code = shell_decode_reply (buffer + 4, 0); if (reply_code == COMPLETE) { vfs_print_message (_("%s: done."), me->name); @@ -1083,11 +1077,11 @@ fish_dir_load (struct vfs_class *me, struct vfs_s_inode *dir, const char *remote /* --------------------------------------------------------------------------------------------- */ static int -fish_file_store (struct vfs_class *me, vfs_file_handler_t * fh, char *name, char *localname) +shell_file_store (struct vfs_class *me, vfs_file_handler_t * fh, char *name, char *localname) { - fish_file_handler_t *fish = FISH_FILE_HANDLER (fh); + shell_file_handler_t *shell = SHELL_FILE_HANDLER (fh); struct vfs_s_super *super = VFS_FILE_HANDLER_SUPER (fh); - fish_super_t *fish_super = FISH_SUPER (super); + shell_super_t *shell_super = SHELL_SUPER (super); int code; off_t total = 0; char buffer[BUF_8K]; @@ -1134,14 +1128,14 @@ fish_file_store (struct vfs_class *me, vfs_file_handler_t * fh, char *name, char */ quoted_name = strutils_shell_escape (name); - vfs_print_message (_("fish: store %s: sending command..."), quoted_name); + vfs_print_message (_("shell: store %s: sending command..."), quoted_name); /* FIXME: File size is limited to ULONG_MAX */ code = - fish_command_v (me, super, WAIT_REPLY, - fish->append ? fish_super->scr_append : fish_super->scr_send, - "FISH_FILENAME=%s FISH_FILESIZE=%" PRIuMAX ";\n", quoted_name, - (uintmax_t) s.st_size); + shell_command_v (me, super, WAIT_REPLY, + shell->append ? shell_super->scr_append : shell_super->scr_send, + "SHELL_FILENAME=%s SHELL_FILESIZE=%" PRIuMAX ";\n", quoted_name, + (uintmax_t) s.st_size); g_free (quoted_name); if (code != PRELIM) @@ -1158,7 +1152,7 @@ fish_file_store (struct vfs_class *me, vfs_file_handler_t * fh, char *name, char { if ((errno == EINTR) && tty_got_interrupt ()) continue; - vfs_print_message ("%s", _("fish: Local read failed, sending zeros")); + vfs_print_message ("%s", _("shell: Local read failed, sending zeros")); close (h); h = open ("/dev/zero", O_RDONLY); } @@ -1166,7 +1160,7 @@ fish_file_store (struct vfs_class *me, vfs_file_handler_t * fh, char *name, char if (n == 0) break; - t = write (fish_super->sockw, buffer, n); + t = write (shell_super->sockw, buffer, n); if (t != n) { if (t == -1) @@ -1177,27 +1171,27 @@ fish_file_store (struct vfs_class *me, vfs_file_handler_t * fh, char *name, char } tty_disable_interrupt_key (); total += n; - vfs_print_message ("%s: %" PRIuMAX "/%" PRIuMAX, _("fish: storing file"), + vfs_print_message ("%s: %" PRIuMAX "/%" PRIuMAX, _("shell: storing file"), (uintmax_t) total, (uintmax_t) s.st_size); } close (h); - if (fish_get_reply (me, fish_super->sockr, NULL, 0) != COMPLETE) + if (shell_get_reply (me, shell_super->sockr, NULL, 0) != COMPLETE) ERRNOR (E_REMOTE, -1); return 0; error_return: close (h); - fish_get_reply (me, fish_super->sockr, NULL, 0); + shell_get_reply (me, shell_super->sockr, NULL, 0); return -1; } /* --------------------------------------------------------------------------------------------- */ static int -fish_linear_start (struct vfs_class *me, vfs_file_handler_t * fh, off_t offset) +shell_linear_start (struct vfs_class *me, vfs_file_handler_t * fh, off_t offset) { - fish_file_handler_t *fish = FISH_FILE_HANDLER (fh); + shell_file_handler_t *shell = SHELL_FILE_HANDLER (fh); struct vfs_s_super *super = VFS_FILE_HANDLER_SUPER (fh); char *name; char *quoted_name; @@ -1207,7 +1201,7 @@ fish_linear_start (struct vfs_class *me, vfs_file_handler_t * fh, off_t offset) return 0; quoted_name = strutils_shell_escape (name); g_free (name); - fish->append = FALSE; + shell->append = FALSE; /* * Check whether the remote file is readable by using 'dd' to copy @@ -1217,20 +1211,20 @@ fish_linear_start (struct vfs_class *me, vfs_file_handler_t * fh, off_t offset) */ offset = - fish_command_v (me, super, WANT_STRING, FISH_SUPER (super)->scr_get, - "FISH_FILENAME=%s FISH_START_OFFSET=%" PRIuMAX ";\n", quoted_name, - (uintmax_t) offset); + shell_command_v (me, super, WANT_STRING, SHELL_SUPER (super)->scr_get, + "SHELL_FILENAME=%s SHELL_START_OFFSET=%" PRIuMAX ";\n", quoted_name, + (uintmax_t) offset); g_free (quoted_name); if (offset != PRELIM) ERRNOR (E_REMOTE, 0); fh->linear = LS_LINEAR_OPEN; - fish->got = 0; + shell->got = 0; errno = 0; #if SIZEOF_OFF_T == SIZEOF_LONG - fish->total = (off_t) strtol (reply_str, NULL, 10); + shell->total = (off_t) strtol (reply_str, NULL, 10); #else - fish->total = (off_t) g_ascii_strtoll (reply_str, NULL, 10); + shell->total = (off_t) g_ascii_strtoll (reply_str, NULL, 10); #endif if (errno != 0) ERRNOR (E_REMOTE, 0); @@ -1240,9 +1234,9 @@ fish_linear_start (struct vfs_class *me, vfs_file_handler_t * fh, off_t offset) /* --------------------------------------------------------------------------------------------- */ static void -fish_linear_abort (struct vfs_class *me, vfs_file_handler_t * fh) +shell_linear_abort (struct vfs_class *me, vfs_file_handler_t * fh) { - fish_file_handler_t *fish = FISH_FILE_HANDLER (fh); + shell_file_handler_t *shell = SHELL_FILE_HANDLER (fh); struct vfs_s_super *super = VFS_FILE_HANDLER_SUPER (fh); char buffer[BUF_8K]; ssize_t n; @@ -1251,18 +1245,18 @@ fish_linear_abort (struct vfs_class *me, vfs_file_handler_t * fh) do { - n = MIN ((off_t) sizeof (buffer), (fish->total - fish->got)); + n = MIN ((off_t) sizeof (buffer), (shell->total - shell->got)); if (n != 0) { - n = read (FISH_SUPER (super)->sockr, buffer, n); + n = read (SHELL_SUPER (super)->sockr, buffer, n); if (n < 0) return; - fish->got += n; + shell->got += n; } } while (n != 0); - if (fish_get_reply (me, FISH_SUPER (super)->sockr, NULL, 0) != COMPLETE) + if (shell_get_reply (me, SHELL_SUPER (super)->sockr, NULL, 0) != COMPLETE) vfs_print_message ("%s", _("Error reported after abort.")); else vfs_print_message ("%s", _("Aborted transfer would be successful.")); @@ -1271,15 +1265,15 @@ fish_linear_abort (struct vfs_class *me, vfs_file_handler_t * fh) /* --------------------------------------------------------------------------------------------- */ static ssize_t -fish_linear_read (struct vfs_class *me, vfs_file_handler_t * fh, void *buf, size_t len) +shell_linear_read (struct vfs_class *me, vfs_file_handler_t * fh, void *buf, size_t len) { - fish_file_handler_t *fish = FISH_FILE_HANDLER (fh); + shell_file_handler_t *shell = SHELL_FILE_HANDLER (fh); struct vfs_s_super *super = VFS_FILE_HANDLER_SUPER (fh); ssize_t n = 0; - len = MIN ((size_t) (fish->total - fish->got), len); + len = MIN ((size_t) (shell->total - shell->got), len); tty_disable_interrupt_key (); - while (len != 0 && ((n = read (FISH_SUPER (super)->sockr, buf, len)) < 0)) + while (len != 0 && ((n = read (SHELL_SUPER (super)->sockr, buf, len)) < 0)) { if ((errno == EINTR) && !tty_got_interrupt ()) continue; @@ -1288,10 +1282,10 @@ fish_linear_read (struct vfs_class *me, vfs_file_handler_t * fh, void *buf, size tty_enable_interrupt_key (); if (n > 0) - fish->got += n; + shell->got += n; else if (n < 0) - fish_linear_abort (me, fh); - else if (fish_get_reply (me, FISH_SUPER (super)->sockr, NULL, 0) != COMPLETE) + shell_linear_abort (me, fh); + else if (shell_get_reply (me, SHELL_SUPER (super)->sockr, NULL, 0) != COMPLETE) ERRNOR (E_REMOTE, -1); ERRNOR (errno, n); } @@ -1299,18 +1293,18 @@ fish_linear_read (struct vfs_class *me, vfs_file_handler_t * fh, void *buf, size /* --------------------------------------------------------------------------------------------- */ static void -fish_linear_close (struct vfs_class *me, vfs_file_handler_t * fh) +shell_linear_close (struct vfs_class *me, vfs_file_handler_t * fh) { - fish_file_handler_t *fish = FISH_FILE_HANDLER (fh); + shell_file_handler_t *shell = SHELL_FILE_HANDLER (fh); - if (fish->total != fish->got) - fish_linear_abort (me, fh); + if (shell->total != shell->got) + shell_linear_abort (me, fh); } /* --------------------------------------------------------------------------------------------- */ static int -fish_ctl (void *fh, int ctlop, void *arg) +shell_ctl (void *fh, int ctlop, void *arg) { (void) arg; (void) fh; @@ -1331,7 +1325,7 @@ fish_ctl (void *fh, int ctlop, void *arg) if (file->linear == LS_LINEAR_CLOSED || file->linear == LS_LINEAR_PREOPEN) return 0; - v = vfs_s_select_on_two (VFS_FILE_HANDLER_SUPER (fh)->u.fish.sockr, 0); + v = vfs_s_select_on_two (VFS_FILE_HANDLER_SUPER (fh)->u.shell.sockr, 0); return (((v < 0) && (errno == EINTR)) || v == 0) ? 1 : 0; } @@ -1344,7 +1338,7 @@ fish_ctl (void *fh, int ctlop, void *arg) /* --------------------------------------------------------------------------------------------- */ static int -fish_rename (const vfs_path_t * vpath1, const vfs_path_t * vpath2) +shell_rename (const vfs_path_t * vpath1, const vfs_path_t * vpath2) { const char *crpath1, *crpath2; char *rpath1, *rpath2; @@ -1366,8 +1360,8 @@ fish_rename (const vfs_path_t * vpath1, const vfs_path_t * vpath2) me = VFS_CLASS (vfs_path_get_last_path_vfs (vpath1)); ret = - fish_send_command (me, super2, OPT_FLUSH, FISH_SUPER (super)->scr_mv, - "FISH_FILEFROM=%s FISH_FILETO=%s;\n", rpath1, rpath2); + shell_send_command (me, super2, OPT_FLUSH, SHELL_SUPER (super)->scr_mv, + "SHELL_FILEFROM=%s SHELL_FILETO=%s;\n", rpath1, rpath2); g_free (rpath1); g_free (rpath2); @@ -1378,7 +1372,7 @@ fish_rename (const vfs_path_t * vpath1, const vfs_path_t * vpath2) /* --------------------------------------------------------------------------------------------- */ static int -fish_link (const vfs_path_t * vpath1, const vfs_path_t * vpath2) +shell_link (const vfs_path_t * vpath1, const vfs_path_t * vpath2) { const char *crpath1, *crpath2; char *rpath1, *rpath2; @@ -1400,8 +1394,8 @@ fish_link (const vfs_path_t * vpath1, const vfs_path_t * vpath2) me = VFS_CLASS (vfs_path_get_last_path_vfs (vpath1)); ret = - fish_send_command (me, super2, OPT_FLUSH, FISH_SUPER (super)->scr_hardlink, - "FISH_FILEFROM=%s FISH_FILETO=%s;\n", rpath1, rpath2); + shell_send_command (me, super2, OPT_FLUSH, SHELL_SUPER (super)->scr_hardlink, + "SHELL_FILEFROM=%s SHELL_FILETO=%s;\n", rpath1, rpath2); g_free (rpath1); g_free (rpath2); @@ -1412,7 +1406,7 @@ fish_link (const vfs_path_t * vpath1, const vfs_path_t * vpath2) /* --------------------------------------------------------------------------------------------- */ static int -fish_symlink (const vfs_path_t * vpath1, const vfs_path_t * vpath2) +shell_symlink (const vfs_path_t * vpath1, const vfs_path_t * vpath2) { char *qsetto; const char *crpath; @@ -1431,8 +1425,8 @@ fish_symlink (const vfs_path_t * vpath1, const vfs_path_t * vpath2) me = VFS_CLASS (vfs_path_get_last_path_vfs (vpath2)); ret = - fish_send_command (me, super, OPT_FLUSH, FISH_SUPER (super)->scr_ln, - "FISH_FILEFROM=%s FISH_FILETO=%s;\n", qsetto, rpath); + shell_send_command (me, super, OPT_FLUSH, SHELL_SUPER (super)->scr_ln, + "SHELL_FILEFROM=%s SHELL_FILETO=%s;\n", qsetto, rpath); g_free (qsetto); g_free (rpath); @@ -1443,43 +1437,43 @@ fish_symlink (const vfs_path_t * vpath1, const vfs_path_t * vpath2) /* --------------------------------------------------------------------------------------------- */ static int -fish_stat (const vfs_path_t * vpath, struct stat *buf) +shell_stat (const vfs_path_t * vpath, struct stat *buf) { int ret; ret = vfs_s_stat (vpath, buf); - fish_set_blksize (buf); + shell_set_blksize (buf); return ret; } /* --------------------------------------------------------------------------------------------- */ static int -fish_lstat (const vfs_path_t * vpath, struct stat *buf) +shell_lstat (const vfs_path_t * vpath, struct stat *buf) { int ret; ret = vfs_s_lstat (vpath, buf); - fish_set_blksize (buf); + shell_set_blksize (buf); return ret; } /* --------------------------------------------------------------------------------------------- */ static int -fish_fstat (void *vfs_info, struct stat *buf) +shell_fstat (void *vfs_info, struct stat *buf) { int ret; ret = vfs_s_fstat (vfs_info, buf); - fish_set_blksize (buf); + shell_set_blksize (buf); return ret; } /* --------------------------------------------------------------------------------------------- */ static int -fish_chmod (const vfs_path_t * vpath, mode_t mode) +shell_chmod (const vfs_path_t * vpath, mode_t mode) { const char *crpath; char *rpath; @@ -1496,9 +1490,9 @@ fish_chmod (const vfs_path_t * vpath, mode_t mode) me = VFS_CLASS (vfs_path_get_last_path_vfs (vpath)); ret = - fish_send_command (me, super, OPT_FLUSH, FISH_SUPER (super)->scr_chmod, - "FISH_FILENAME=%s FISH_FILEMODE=%4.4o;\n", rpath, - (unsigned int) (mode & 07777)); + shell_send_command (me, super, OPT_FLUSH, SHELL_SUPER (super)->scr_chmod, + "SHELL_FILENAME=%s SHELL_FILEMODE=%4.4o;\n", rpath, + (unsigned int) (mode & 07777)); g_free (rpath); @@ -1508,7 +1502,7 @@ fish_chmod (const vfs_path_t * vpath, mode_t mode) /* --------------------------------------------------------------------------------------------- */ static int -fish_chown (const vfs_path_t * vpath, uid_t owner, gid_t group) +shell_chown (const vfs_path_t * vpath, uid_t owner, gid_t group) { const char *sowner, *sgroup; struct passwd *pw; @@ -1540,9 +1534,9 @@ fish_chown (const vfs_path_t * vpath, uid_t owner, gid_t group) /* FIXME: what should we report if chgrp succeeds but chown fails? */ ret = - fish_send_command (me, super, OPT_FLUSH, FISH_SUPER (super)->scr_chown, - "FISH_FILENAME=%s FISH_FILEOWNER=%s FISH_FILEGROUP=%s;\n", rpath, sowner, - sgroup); + shell_send_command (me, super, OPT_FLUSH, SHELL_SUPER (super)->scr_chown, + "SHELL_FILENAME=%s SHELL_FILEOWNER=%s SHELL_FILEGROUP=%s;\n", rpath, + sowner, sgroup); g_free (rpath); @@ -1552,7 +1546,7 @@ fish_chown (const vfs_path_t * vpath, uid_t owner, gid_t group) /* --------------------------------------------------------------------------------------------- */ static void -fish_get_atime (mc_timesbuf_t * times, time_t * sec, long *nsec) +shell_get_atime (mc_timesbuf_t * times, time_t * sec, long *nsec) { #ifdef HAVE_UTIMENSAT *sec = (*times)[0].tv_sec; @@ -1566,7 +1560,7 @@ fish_get_atime (mc_timesbuf_t * times, time_t * sec, long *nsec) /* --------------------------------------------------------------------------------------------- */ static void -fish_get_mtime (mc_timesbuf_t * times, time_t * sec, long *nsec) +shell_get_mtime (mc_timesbuf_t * times, time_t * sec, long *nsec) { #ifdef HAVE_UTIMENSAT *sec = (*times)[1].tv_sec; @@ -1580,7 +1574,7 @@ fish_get_mtime (mc_timesbuf_t * times, time_t * sec, long *nsec) /* --------------------------------------------------------------------------------------------- */ static int -fish_utime (const vfs_path_t * vpath, mc_timesbuf_t * times) +shell_utime (const vfs_path_t * vpath, mc_timesbuf_t * times) { char utcatime[16], utcmtime[16]; char utcatime_w_nsec[30], utcmtime_w_nsec[30]; @@ -1599,7 +1593,7 @@ fish_utime (const vfs_path_t * vpath, mc_timesbuf_t * times) rpath = strutils_shell_escape (crpath); - fish_get_atime (times, &atime, &atime_nsec); + shell_get_atime (times, &atime, &atime_nsec); gmt = gmtime (&atime); g_snprintf (utcatime, sizeof (utcatime), "%04d%02d%02d%02d%02d.%02d", gmt->tm_year + 1900, gmt->tm_mon + 1, gmt->tm_mday, @@ -1608,7 +1602,7 @@ fish_utime (const vfs_path_t * vpath, mc_timesbuf_t * times) gmt->tm_year + 1900, gmt->tm_mon + 1, gmt->tm_mday, gmt->tm_hour, gmt->tm_min, gmt->tm_sec, atime_nsec); - fish_get_mtime (times, &mtime, &mtime_nsec); + shell_get_mtime (times, &mtime, &mtime_nsec); gmt = gmtime (&mtime); g_snprintf (utcmtime, sizeof (utcmtime), "%04d%02d%02d%02d%02d.%02d", gmt->tm_year + 1900, gmt->tm_mon + 1, gmt->tm_mday, @@ -1619,11 +1613,11 @@ fish_utime (const vfs_path_t * vpath, mc_timesbuf_t * times) me = VFS_CLASS (vfs_path_get_last_path_vfs (vpath)); - ret = fish_send_command (me, super, OPT_FLUSH, FISH_SUPER (super)->scr_utime, - "FISH_FILENAME=%s FISH_FILEATIME=%ld FISH_FILEMTIME=%ld " - "FISH_TOUCHATIME=%s FISH_TOUCHMTIME=%s FISH_TOUCHATIME_W_NSEC=\"%s\" " - "FISH_TOUCHMTIME_W_NSEC=\"%s\";\n", rpath, (long) atime, (long) mtime, - utcatime, utcmtime, utcatime_w_nsec, utcmtime_w_nsec); + ret = shell_send_command (me, super, OPT_FLUSH, SHELL_SUPER (super)->scr_utime, + "SHELL_FILENAME=%s SHELL_FILEATIME=%ld SHELL_FILEMTIME=%ld " + "SHELL_TOUCHATIME=%s SHELL_TOUCHMTIME=%s SHELL_TOUCHATIME_W_NSEC=\"%s\" " + "SHELL_TOUCHMTIME_W_NSEC=\"%s\";\n", rpath, (long) atime, + (long) mtime, utcatime, utcmtime, utcatime_w_nsec, utcmtime_w_nsec); g_free (rpath); @@ -1633,7 +1627,7 @@ fish_utime (const vfs_path_t * vpath, mc_timesbuf_t * times) /* --------------------------------------------------------------------------------------------- */ static int -fish_unlink (const vfs_path_t * vpath) +shell_unlink (const vfs_path_t * vpath) { const char *crpath; char *rpath; @@ -1650,8 +1644,8 @@ fish_unlink (const vfs_path_t * vpath) me = VFS_CLASS (vfs_path_get_last_path_vfs (vpath)); ret = - fish_send_command (me, super, OPT_FLUSH, FISH_SUPER (super)->scr_unlink, - "FISH_FILENAME=%s;\n", rpath); + shell_send_command (me, super, OPT_FLUSH, SHELL_SUPER (super)->scr_unlink, + "SHELL_FILENAME=%s;\n", rpath); g_free (rpath); @@ -1661,7 +1655,7 @@ fish_unlink (const vfs_path_t * vpath) /* --------------------------------------------------------------------------------------------- */ static int -fish_exists (const vfs_path_t * vpath) +shell_exists (const vfs_path_t * vpath) { const char *crpath; char *rpath; @@ -1678,8 +1672,8 @@ fish_exists (const vfs_path_t * vpath) me = VFS_CLASS (vfs_path_get_last_path_vfs (vpath)); ret = - fish_send_command (me, super, OPT_FLUSH, FISH_SUPER (super)->scr_exists, - "FISH_FILENAME=%s;\n", rpath); + shell_send_command (me, super, OPT_FLUSH, SHELL_SUPER (super)->scr_exists, + "SHELL_FILENAME=%s;\n", rpath); g_free (rpath); @@ -1689,7 +1683,7 @@ fish_exists (const vfs_path_t * vpath) /* --------------------------------------------------------------------------------------------- */ static int -fish_mkdir (const vfs_path_t * vpath, mode_t mode) +shell_mkdir (const vfs_path_t * vpath, mode_t mode) { const char *crpath; char *rpath; @@ -1708,14 +1702,14 @@ fish_mkdir (const vfs_path_t * vpath, mode_t mode) me = VFS_CLASS (vfs_path_get_last_path_vfs (vpath)); ret = - fish_send_command (me, super, OPT_FLUSH, FISH_SUPER (super)->scr_mkdir, - "FISH_FILENAME=%s;\n", rpath); + shell_send_command (me, super, OPT_FLUSH, SHELL_SUPER (super)->scr_mkdir, + "SHELL_FILENAME=%s;\n", rpath); g_free (rpath); if (ret != 0) return ret; - if (fish_exists (vpath) == 0) + if (shell_exists (vpath) == 0) { me->verrno = EACCES; return -1; @@ -1726,7 +1720,7 @@ fish_mkdir (const vfs_path_t * vpath, mode_t mode) /* --------------------------------------------------------------------------------------------- */ static int -fish_rmdir (const vfs_path_t * vpath) +shell_rmdir (const vfs_path_t * vpath) { const char *crpath; char *rpath; @@ -1743,8 +1737,8 @@ fish_rmdir (const vfs_path_t * vpath) me = VFS_CLASS (vfs_path_get_last_path_vfs (vpath)); ret = - fish_send_command (me, super, OPT_FLUSH, FISH_SUPER (super)->scr_rmdir, - "FISH_FILENAME=%s;\n", rpath); + shell_send_command (me, super, OPT_FLUSH, SHELL_SUPER (super)->scr_rmdir, + "SHELL_FILENAME=%s;\n", rpath); g_free (rpath); @@ -1754,11 +1748,11 @@ fish_rmdir (const vfs_path_t * vpath) /* --------------------------------------------------------------------------------------------- */ static vfs_file_handler_t * -fish_fh_new (struct vfs_s_inode *ino, gboolean changed) +shell_fh_new (struct vfs_s_inode *ino, gboolean changed) { - fish_file_handler_t *fh; + shell_file_handler_t *fh; - fh = g_new0 (fish_file_handler_t, 1); + fh = g_new0 (shell_file_handler_t, 1); vfs_s_init_fh (VFS_FILE_HANDLER (fh), ino, changed); return VFS_FILE_HANDLER (fh); @@ -1767,9 +1761,9 @@ fish_fh_new (struct vfs_s_inode *ino, gboolean changed) /* --------------------------------------------------------------------------------------------- */ static int -fish_fh_open (struct vfs_class *me, vfs_file_handler_t * fh, int flags, mode_t mode) +shell_fh_open (struct vfs_class *me, vfs_file_handler_t * fh, int flags, mode_t mode) { - fish_file_handler_t *fish = FISH_FILE_HANDLER (fh); + shell_file_handler_t *shell = SHELL_FILE_HANDLER (fh); (void) mode; @@ -1778,7 +1772,7 @@ fish_fh_open (struct vfs_class *me, vfs_file_handler_t * fh, int flags, mode_t m { /* user pressed the button [ Append ] in the "Copy" dialog */ if ((flags & O_APPEND) != 0) - fish->append = TRUE; + shell->append = TRUE; if (fh->ino->localname == NULL) { @@ -1806,7 +1800,7 @@ fish_fh_open (struct vfs_class *me, vfs_file_handler_t * fh, int flags, mode_t m /* --------------------------------------------------------------------------------------------- */ static void -fish_fill_names (struct vfs_class *me, fill_names_f func) +shell_fill_names (struct vfs_class *me, fill_names_f func) { GList *iter; @@ -1820,14 +1814,14 @@ fish_fill_names (struct vfs_class *me, fill_names_f func) switch (super->path_element->port) { - case FISH_FLAG_RSH: + case SHELL_FLAG_RSH: flags = ":r"; break; - case FISH_FLAG_COMPRESSED: + case SHELL_FLAG_COMPRESSED: flags = ":C"; break; default: - if (super->path_element->port > FISH_FLAG_RSH) + if (super->path_element->port > SHELL_FLAG_RSH) { g_snprintf (gbuf, sizeof (gbuf), ":%d", super->path_element->port); flags = gbuf; @@ -1836,7 +1830,7 @@ fish_fill_names (struct vfs_class *me, fill_names_f func) } name = - g_strconcat (vfs_fish_ops->prefix, VFS_PATH_URL_DELIMITER, + g_strconcat (vfs_shell_ops->prefix, VFS_PATH_URL_DELIMITER, super->path_element->user, "@", super->path_element->host, flags, PATH_SEP_STR, super->path_element->path, (char *) NULL); func (name); @@ -1847,11 +1841,11 @@ fish_fill_names (struct vfs_class *me, fill_names_f func) /* --------------------------------------------------------------------------------------------- */ static void * -fish_open (const vfs_path_t * vpath, int flags, mode_t mode) +shell_open (const vfs_path_t * vpath, int flags, mode_t mode) { /* sorry, i've places hack here - cause fish don't able to open files with O_EXCL flag + cause shell don't able to open files with O_EXCL flag */ flags &= ~O_EXCL; return vfs_s_open (vpath, flags, mode); @@ -1862,38 +1856,38 @@ fish_open (const vfs_path_t * vpath, int flags, mode_t mode) /* --------------------------------------------------------------------------------------------- */ void -vfs_init_fish (void) +vfs_init_shell (void) { tcp_init (); - vfs_init_subclass (&fish_subclass, "fish", VFSF_REMOTE | VFSF_USETMP, "sh"); - vfs_fish_ops->fill_names = fish_fill_names; - vfs_fish_ops->stat = fish_stat; - vfs_fish_ops->lstat = fish_lstat; - vfs_fish_ops->fstat = fish_fstat; - vfs_fish_ops->chmod = fish_chmod; - vfs_fish_ops->chown = fish_chown; - vfs_fish_ops->utime = fish_utime; - vfs_fish_ops->open = fish_open; - vfs_fish_ops->symlink = fish_symlink; - vfs_fish_ops->link = fish_link; - vfs_fish_ops->unlink = fish_unlink; - vfs_fish_ops->rename = fish_rename; - vfs_fish_ops->mkdir = fish_mkdir; - vfs_fish_ops->rmdir = fish_rmdir; - vfs_fish_ops->ctl = fish_ctl; - fish_subclass.archive_same = fish_archive_same; - fish_subclass.new_archive = fish_new_archive; - fish_subclass.open_archive = fish_open_archive; - fish_subclass.free_archive = fish_free_archive; - fish_subclass.fh_new = fish_fh_new; - fish_subclass.fh_open = fish_fh_open; - fish_subclass.dir_load = fish_dir_load; - fish_subclass.file_store = fish_file_store; - fish_subclass.linear_start = fish_linear_start; - fish_subclass.linear_read = fish_linear_read; - fish_subclass.linear_close = fish_linear_close; - vfs_register_class (vfs_fish_ops); + vfs_init_subclass (&shell_subclass, "shell", VFSF_REMOTE | VFSF_USETMP, "sh"); + vfs_shell_ops->fill_names = shell_fill_names; + vfs_shell_ops->stat = shell_stat; + vfs_shell_ops->lstat = shell_lstat; + vfs_shell_ops->fstat = shell_fstat; + vfs_shell_ops->chmod = shell_chmod; + vfs_shell_ops->chown = shell_chown; + vfs_shell_ops->utime = shell_utime; + vfs_shell_ops->open = shell_open; + vfs_shell_ops->symlink = shell_symlink; + vfs_shell_ops->link = shell_link; + vfs_shell_ops->unlink = shell_unlink; + vfs_shell_ops->rename = shell_rename; + vfs_shell_ops->mkdir = shell_mkdir; + vfs_shell_ops->rmdir = shell_rmdir; + vfs_shell_ops->ctl = shell_ctl; + shell_subclass.archive_same = shell_archive_same; + shell_subclass.new_archive = shell_new_archive; + shell_subclass.open_archive = shell_open_archive; + shell_subclass.free_archive = shell_free_archive; + shell_subclass.fh_new = shell_fh_new; + shell_subclass.fh_open = shell_fh_open; + shell_subclass.dir_load = shell_dir_load; + shell_subclass.file_store = shell_file_store; + shell_subclass.linear_start = shell_linear_start; + shell_subclass.linear_read = shell_linear_read; + shell_subclass.linear_close = shell_linear_close; + vfs_register_class (vfs_shell_ops); } /* --------------------------------------------------------------------------------------------- */ diff --git a/mcsrc/src/vfs/fish/fish.h b/mcsrc/src/vfs/shell/shell.h similarity index 73% rename from mcsrc/src/vfs/fish/fish.h rename to mcsrc/src/vfs/shell/shell.h index 3c1fa06..e485d69 100644 --- a/mcsrc/src/vfs/fish/fish.h +++ b/mcsrc/src/vfs/shell/shell.h @@ -1,13 +1,13 @@ /** * \file - * \brief Header: Virtual File System: FISH implementation for transferring files over + * \brief Header: Virtual File System: SHELL implementation for transferring files over * shell connections */ -#ifndef MC__VFS_FISH_H -#define MC__VFS_FISH_H +#ifndef MC__VFS_SHELL_H +#define MC__VFS_SHELL_H /*** typedefs(not structures) and defined constants **********************************************/ @@ -17,12 +17,12 @@ /*** global variables defined in .c file *********************************************************/ -extern int fish_directory_timeout; +extern int shell_directory_timeout; /*** declarations of public functions ************************************************************/ -void vfs_init_fish (void); +void vfs_init_shell (void); /*** inline functions ****************************************************************************/ -#endif +#endif /* MC__VFS_SHELL_H */ diff --git a/mcsrc/src/vfs/fish/fishdef.h b/mcsrc/src/vfs/shell/shelldef.h similarity index 66% rename from mcsrc/src/vfs/fish/fishdef.h rename to mcsrc/src/vfs/shell/shelldef.h index 129d2b9..37244d9 100644 --- a/mcsrc/src/vfs/fish/fishdef.h +++ b/mcsrc/src/vfs/shell/shelldef.h @@ -1,19 +1,18 @@ /** * \file - * \brief Header: FISH script defaults + * \brief Header: SHELL script defaults */ -#ifndef MC__FISH_DEF_H -#define MC__FISH_DEF_H +#ifndef MC__VFS_SHELL_DEF_H +#define MC__VFS_SHELL_DEF_H /*** typedefs(not structures) and defined constants **********************************************/ /* default 'ls' script */ -#define FISH_LS_DEF_CONTENT "" \ -"#LIST /${FISH_FILENAME}\n" \ +#define VFS_SHELL_LS_DEF_CONTENT "" \ "export LC_TIME=C\n" \ -"ls -Qlan \"/${FISH_FILENAME}\" 2>/dev/null | grep '^[^cbt]' | (\n" \ +"ls -Qlan \"/${SHELL_FILENAME}\" 2>/dev/null | grep '^[^cbt]' | (\n" \ "while read p l u g s m d y n; do\n" \ " echo \"P$p $u.$g\"\n" \ " echo \"S$s\"\n" \ @@ -22,7 +21,7 @@ " echo\n" \ "done\n" \ ")\n" \ -"ls -Qlan \"/${FISH_FILENAME}\" 2>/dev/null | grep '^[cb]' | (\n" \ +"ls -Qlan \"/${SHELL_FILENAME}\" 2>/dev/null | grep '^[cb]' | (\n" \ "while read p l u g a i m d y n; do\n" \ " echo \"P$p $u.$g\"\n" \ " echo \"E$a$i\"\n" \ @@ -34,120 +33,109 @@ "echo \"### 200\"\n" /* default file exists script */ -#define FISH_EXISTS_DEF_CONTENT "" \ -"#ISEXISTS $FISH_FILENAME\n" \ -"ls -l \"/${FISH_FILENAME}\" >/dev/null 2>/dev/null\n" \ +#define VFS_SHELL_EXISTS_DEF_CONTENT "" \ +"ls -l \"/${SHELL_FILENAME}\" >/dev/null 2>/dev/null\n" \ "echo '### '$?\n" /* default 'mkdir' script */ -#define FISH_MKDIR_DEF_CONTENT "" \ -"#MKD $FISH_FILENAME\n" \ -"if mkdir \"/${FISH_FILENAME}\" 2>/dev/null; then\n" \ +#define VFS_SHELL_MKDIR_DEF_CONTENT "" \ +"if mkdir \"/${SHELL_FILENAME}\" 2>/dev/null; then\n" \ " echo \"### 000\"\n" \ "else\n" \ " echo \"### 500\"\n" \ "fi\n" /* default 'unlink' script */ -#define FISH_UNLINK_DEF_CONTENT "" \ -"#DELE $FISH_FILENAME\n" \ -"if rm -f \"/${FISH_FILENAME}\" 2>/dev/null; then\n" \ +#define VFS_SHELL_UNLINK_DEF_CONTENT "" \ +"if rm -f \"/${SHELL_FILENAME}\" 2>/dev/null; then\n" \ " echo \"### 000\"\n" \ "else\n" \ " echo \"### 500\"\n" \ "fi\n" + /* default 'chown' script */ -#define FISH_CHOWN_DEF_CONTENT "" \ -"#CHOWN $FISH_FILEOWNER:$FISH_FILEGROUP $FISH_FILENAME\n" \ -"if chown ${FISH_FILEOWNER}:${FISH_FILEGROUP} \"/${FISH_FILENAME}\"; then\n"\ -" echo \"### 000\"\n" \ -"else\n" \ -" echo \"### 500\"\n" \ +#define VFS_SHELL_CHOWN_DEF_CONTENT "" \ +"if chown ${SHELL_FILEOWNER}:${SHELL_FILEGROUP} \"/${SHELL_FILENAME}\"; then\n" \ +" echo \"### 000\"\n" \ +"else\n" \ +" echo \"### 500\"\n" \ "fi\n" /* default 'chmod' script */ -#define FISH_CHMOD_DEF_CONTENT "" \ -"#CHMOD $FISH_FILEMODE $FISH_FILENAME\n" \ -"if chmod ${FISH_FILEMODE} \"/${FISH_FILENAME}\" 2>/dev/null; then\n" \ +#define VFS_SHELL_CHMOD_DEF_CONTENT "" \ +"if chmod ${SHELL_FILEMODE} \"/${SHELL_FILENAME}\" 2>/dev/null; then\n" \ " echo \"### 000\"\n" \ "else\n" \ " echo \"### 500\"\n" \ "fi\n" /* default 'utime' script */ -#define FISH_UTIME_DEF_CONTENT "" \ -"#UTIME \"$FISH_TOUCHATIME_W_NSEC\" \"$FISH_TOUCHMTIME_W_NSEC\" $FISH_FILENAME\n" \ -"if TZ=UTC touch -h -m -d \"$FISH_TOUCHMTIME_W_NSEC\" \"/${FISH_FILENAME}\" 2>/dev/null && \\\n" \ -" TZ=UTC touch -h -a -d \"$FISH_TOUCHATIME_W_NSEC\" \"/${FISH_FILENAME}\" 2>/dev/null; then\n" \ -" echo \"### 000\"\n" \ -"elif TZ=UTC touch -h -m -t $FISH_TOUCHMTIME \"/${FISH_FILENAME}\" 2>/dev/null && \\\n" \ -" TZ=UTC touch -h -a -t $FISH_TOUCHATIME \"/${FISH_FILENAME}\" 2>/dev/null; then\n" \ -" echo \"### 000\"\n" \ -"elif [ -n \"$FISH_HAVE_PERL\" ] && \\\n" \ -" perl -e 'utime '$FISH_FILEATIME','$FISH_FILEMTIME',@ARGV;' \"/${FISH_FILENAME}\" 2>/dev/null; then\n" \ -" echo \"### 000\"\n" \ -"else\n" \ -" echo \"### 500\"\n" \ +#define VFS_SHELL_UTIME_DEF_CONTENT "" \ +"#UTIME \"$SHELL_TOUCHATIME_W_NSEC\" \"$SHELL_TOUCHMTIME_W_NSEC\" $SHELL_FILENAME\n" \ +"if TZ=UTC touch -h -m -d \"$SHELL_TOUCHMTIME_W_NSEC\" \"/${SHELL_FILENAME}\" 2>/dev/null && \\\n" \ +" TZ=UTC touch -h -a -d \"$SHELL_TOUCHATIME_W_NSEC\" \"/${SHELL_FILENAME}\" 2>/dev/null; then\n" \ +" echo \"### 000\"\n" \ +"elif TZ=UTC touch -h -m -t $SHELL_TOUCHMTIME \"/${SHELL_FILENAME}\" 2>/dev/null && \\\n" \ +" TZ=UTC touch -h -a -t $SHELL_TOUCHATIME \"/${SHELL_FILENAME}\" 2>/dev/null; then\n" \ +" echo \"### 000\"\n" \ +"elif [ -n \"$SHELL_HAVE_PERL\" ] && \\\n" \ +" perl -e 'utime '$SHELL_FILEATIME','$SHELL_FILEMTIME',@ARGV;' \"/${SHELL_FILENAME}\" 2>/dev/null; then\n" \ +" echo \"### 000\"\n" \ +"else\n" \ +" echo \"### 500\"\n" \ "fi\n" - /* default 'rmdir' script */ -#define FISH_RMDIR_DEF_CONTENT "" \ -"#RMD $FISH_FILENAME\n" \ -"if rmdir \"/${FISH_FILENAME}\" 2>/dev/null; then\n" \ +#define VFS_SHELL_RMDIR_DEF_CONTENT "" \ +"if rmdir \"/${SHELL_FILENAME}\" 2>/dev/null; then\n" \ " echo \"### 000\"\n" \ "else\n" \ " echo \"### 500\"\n" \ "fi\n" /* default 'ln -s' symlink script */ -#define FISH_LN_DEF_CONTENT "" \ -"#SYMLINK $FISH_FILEFROM $FISH_FILETO\n" \ -"if ln -s \"/${FISH_FILEFROM}\" \"/${FISH_FILETO}\" 2>/dev/null; then\n" \ +#define VFS_SHELL_LN_DEF_CONTENT "" \ +"if ln -s \"/${SHELL_FILEFROM}\" \"/${SHELL_FILETO}\" 2>/dev/null; then\n" \ " echo \"### 000\"\n" \ "else\n" \ " echo \"### 500\"\n" \ "fi\n" /* default 'mv' script */ -#define FISH_MV_DEF_CONTENT "" \ -"#RENAME $FISH_FILEFROM $FISH_FILETO\n" \ -"if mv \"/${FISH_FILEFROM}\" \"/${FISH_FILETO}\" 2>/dev/null; then\n" \ +#define VFS_SHELL_MV_DEF_CONTENT "" \ +"if mv \"/${SHELL_FILEFROM}\" \"/${SHELL_FILETO}\" 2>/dev/null; then\n" \ " echo \"### 000\"\n" \ "else\n" \ " echo \"### 500\"\n" \ "fi\n" /* default 'ln' hardlink script */ -#define FISH_HARDLINK_DEF_CONTENT "" \ -"#LINK $FISH_FILEFROM $FISH_FILETO\n" \ -"if ln \"/${FISH_FILEFROM}\" \"/${FISH_FILETO}\" 2>/dev/null; then\n" \ +#define VFS_SHELL_HARDLINK_DEF_CONTENT "" \ +"if ln \"/${SHELL_FILEFROM}\" \"/${SHELL_FILETO}\" 2>/dev/null; then\n" \ " echo \"### 000\"\n" \ "else\n" \ " echo \"### 500\"\n" \ "fi\n" /* default 'retr' script */ -#define FISH_GET_DEF_CONTENT "" \ -"export LC_TIME=C\n" \ -"#RETR $FISH_FILENAME\n" \ -"if dd if=\"/${FISH_FILENAME}\" of=/dev/null bs=1 count=1 2>/dev/null ; then\n" \ -" ls -ln \"/${FISH_FILENAME}\" 2>/dev/null | (\n" \ -" read p l u g s r\n" \ -" echo $s\n" \ -" )\n" \ -" echo \"### 100\"\n" \ -" cat \"/${FISH_FILENAME}\"\n" \ -" echo \"### 200\"\n" \ -"else\n" \ -" echo \"### 500\"\n" \ +#define VFS_SHELL_GET_DEF_CONTENT "" \ +"export LC_TIME=C\n" \ +"if dd if=\"/${SHELL_FILENAME}\" of=/dev/null bs=1 count=1 2>/dev/null ; then\n" \ +" ls -ln \"/${SHELL_FILENAME}\" 2>/dev/null | (\n" \ +" read p l u g s r\n" \ +" echo $s\n" \ +" )\n" \ +" echo \"### 100\"\n" \ +" cat \"/${SHELL_FILENAME}\"\n" \ +" echo \"### 200\"\n" \ +"else\n" \ +" echo \"### 500\"\n" \ "fi\n" /* default 'stor' script */ -#define FISH_SEND_DEF_CONTENT "" \ -"FILENAME=\"/${FISH_FILENAME}\"\n" \ -"FILESIZE=${FISH_FILESIZE}\n" \ -"#STOR $FILESIZE $FILENAME\n" \ +#define VFS_SHELL_SEND_DEF_CONTENT "" \ +"FILENAME=\"/${SHELL_FILENAME}\"\n" \ +"FILESIZE=${SHELL_FILESIZE}\n" \ "echo \"### 001\"\n" \ "{\n" \ " while [ $FILESIZE -gt 0 ]; do\n" \ @@ -158,10 +146,9 @@ "}; echo \"### 200\"\n" /* default 'appe' script */ -#define FISH_APPEND_DEF_CONTENT "" \ -"FILENAME=\"/${FISH_FILENAME}\"\n" \ -"FILESIZE=${FISH_FILESIZE}\n" \ -"#APPE $FILESIZE $FILENAME\n" \ +#define VFS_SHELL_APPEND_DEF_CONTENT "" \ +"FILENAME=\"/${SHELL_FILENAME}\"\n" \ +"FILESIZE=${SHELL_FILESIZE}\n" \ "echo \"### 001\"\n" \ "res=`exec 3>&1\n" \ "(\n" \ @@ -180,15 +167,15 @@ "}; echo \"### 200\"\n" /* default 'info' script */ -#define FISH_INFO_DEF_CONTENT "" \ +#define VFS_SHELL_INFO_DEF_CONTENT "" \ "export LC_TIME=C\n" \ -"#FISH_HAVE_HEAD 1\n" \ -"#FISH_HAVE_SED 2\n" \ -"#FISH_HAVE_AWK 4\n" \ -"#FISH_HAVE_PERL 8\n" \ -"#FISH_HAVE_LSQ 16\n" \ -"#FISH_HAVE_DATE_MDYT 32\n" \ -"#FISH_HAVE_TAIL 64\n" \ +"#SHELL_HAVE_HEAD 1\n" \ +"#SHELL_HAVE_SED 2\n" \ +"#SHELL_HAVE_AWK 4\n" \ +"#SHELL_HAVE_PERL 8\n" \ +"#SHELL_HAVE_LSQ 16\n" \ +"#SHELL_HAVE_DATE_MDYT 32\n" \ +"#SHELL_HAVE_TAIL 64\n" \ "res=0\n" \ "if `echo yes| head -c 1 > /dev/null 2>&1` ; then\n" \ " res=`expr $res + 1`\n" \ @@ -233,4 +220,5 @@ /*** declarations of public functions ************************************************************/ /*** inline functions ****************************************************************************/ -#endif + +#endif /* MC__VFS_SHELL_DEF_H */ diff --git a/mcsrc/src/vfs/tar/tar-internal.c b/mcsrc/src/vfs/tar/tar-internal.c index f77b1b3..bbaf717 100644 --- a/mcsrc/src/vfs/tar/tar-internal.c +++ b/mcsrc/src/vfs/tar/tar-internal.c @@ -1,7 +1,7 @@ /* Virtual File System: GNU Tar file system. - Copyright (C) 2023 + Copyright (C) 2023-2024 Free Software Foundation, Inc. Written by: @@ -184,6 +184,14 @@ tar_seek_archive (tar_super_t * archive, off_t size) /*** public functions ****************************************************************************/ /* --------------------------------------------------------------------------------------------- */ +gboolean +is_octal_digit (char c) +{ + return '0' <= c && c <= '7'; +} + +/* --------------------------------------------------------------------------------------------- */ + void tar_base64_init (void) { @@ -262,13 +270,13 @@ tar_from_header (const char *where0, size_t digs, char const *type, intmax_t min if (where == lim) return (-1); - if (!isspace ((unsigned char) *where)) + if (!g_ascii_isspace (*where)) break; where++; } - if (isodigit (*where)) + if (is_octal_digit (*where)) { char const *where1 = where; gboolean overflow = FALSE; @@ -276,7 +284,7 @@ tar_from_header (const char *where0, size_t digs, char const *type, intmax_t min while (TRUE) { value += *where++ - '0'; - if (where == lim || !isodigit (*where)) + if (where == lim || !is_octal_digit (*where)) break; overflow |= value != (value << LG_8 >> LG_8); value <<= LG_8; @@ -301,7 +309,7 @@ tar_from_header (const char *where0, size_t digs, char const *type, intmax_t min { value += 7 - digit; where++; - if (where == lim || !isodigit (*where)) + if (where == lim || !is_octal_digit (*where)) break; digit = *where - '0'; overflow |= value != (value << LG_8 >> LG_8); @@ -373,7 +381,7 @@ tar_from_header (const char *where0, size_t digs, char const *type, intmax_t min value = -value; } - if (where != lim && *where != '\0' && !isspace ((unsigned char) *where)) + if (where != lim && *where != '\0' && !g_ascii_isspace (*where)) return (-1); if (value <= (negative ? minus_minval : maxval)) diff --git a/mcsrc/src/vfs/tar/tar-internal.h b/mcsrc/src/vfs/tar/tar-internal.h index c5e8ee4..7d5bf19 100644 --- a/mcsrc/src/vfs/tar/tar-internal.h +++ b/mcsrc/src/vfs/tar/tar-internal.h @@ -69,8 +69,6 @@ typedef unsigned minor_t; #define OFF_FROM_HEADER(where) off_from_header (where, sizeof (where)) -#define isodigit(c) ( ((c) >= '0') && ((c) <= '7') ) - /*** enums ***************************************************************************************/ /*** structures declarations (and typedefs of structures)*****************************************/ @@ -306,6 +304,7 @@ extern struct tar_stat_info current_stat_info; /*** declarations of public functions ************************************************************/ /* tar-internal.c */ +gboolean is_octal_digit (char c); void tar_base64_init (void); void tar_assign_string (char **string, char *value); void tar_assign_string_dup (char **string, const char *value); diff --git a/mcsrc/src/vfs/tar/tar-sparse.c b/mcsrc/src/vfs/tar/tar-sparse.c index 0bc169b..9795d15 100644 --- a/mcsrc/src/vfs/tar/tar-sparse.c +++ b/mcsrc/src/vfs/tar/tar-sparse.c @@ -1,7 +1,7 @@ /* Virtual File System: GNU Tar file system. - Copyright (C) 2003-2023 + Copyright (C) 2003-2024 Free Software Foundation, Inc. Written by: @@ -547,8 +547,8 @@ oldgnu_get_sparse_info (tar_super_t * archive, struct tar_sparse_file *file) { size_t i; union block *h = current_header; - int ext_p; - enum oldgnu_add_status rc; + gboolean ext_p; + enum oldgnu_add_status rc = add_fail; if (file->stat_info->sparse_map != NULL) g_array_set_size (file->stat_info->sparse_map, 0); @@ -560,8 +560,8 @@ oldgnu_get_sparse_info (tar_super_t * archive, struct tar_sparse_file *file) break; } - for (ext_p = h->oldgnu_header.isextended ? 1 : 0; rc == add_ok && ext_p != 0; - ext_p = h->sparse_header.isextended ? 1 : 0) + for (ext_p = h->oldgnu_header.isextended != 0; rc == add_ok && ext_p; + ext_p = h->sparse_header.isextended != 0) { h = tar_find_next_block (archive); if (h == NULL) @@ -612,7 +612,7 @@ star_get_sparse_info (tar_super_t * archive, struct tar_sparse_file *file) { size_t i; union block *h = current_header; - int ext_p = 1; + gboolean ext_p = TRUE; enum oldgnu_add_status rc = add_ok; if (file->stat_info->sparse_map != NULL) @@ -628,10 +628,10 @@ star_get_sparse_info (tar_super_t * archive, struct tar_sparse_file *file) break; } - ext_p = h->star_in_header.isextended ? 1 : 0; + ext_p = h->star_in_header.isextended != 0; } - for (; rc == add_ok && ext_p != 0; ext_p = h->star_ext_header.isextended ? 1 : 0) + for (; rc == add_ok && ext_p; ext_p = h->star_ext_header.isextended != 0) { h = tar_find_next_block (archive); if (h == NULL) diff --git a/mcsrc/src/vfs/tar/tar-xheader.c b/mcsrc/src/vfs/tar/tar-xheader.c index 99e9e85..c6c684a 100644 --- a/mcsrc/src/vfs/tar/tar-xheader.c +++ b/mcsrc/src/vfs/tar/tar-xheader.c @@ -1,7 +1,7 @@ /* Virtual File System: GNU Tar file system. - Copyright (C) 1995-2023 + Copyright (C) 1995-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/vfs/tar/tar.c b/mcsrc/src/vfs/tar/tar.c index 2d32111..4ce6494 100644 --- a/mcsrc/src/vfs/tar/tar.c +++ b/mcsrc/src/vfs/tar/tar.c @@ -1,7 +1,7 @@ /* Virtual File System: GNU Tar file system. - Copyright (C) 1995-2023 + Copyright (C) 1995-2024 Free Software Foundation, Inc. Written by: @@ -87,6 +87,8 @@ struct tar_stat_info current_stat_info; #define XGLTYPE 'g' /* Global extended header */ /* Values used in typeflag field. */ +#define REGTYPE '0' /* regular file */ +#define AREGTYPE '\0' /* regular file */ #define LNKTYPE '1' /* link */ #define SYMTYPE '2' /* symbolic link */ #define CHRTYPE '3' /* character special */ @@ -123,7 +125,6 @@ struct tar_stat_info current_stat_info; #define MODE_FROM_HEADER(where,hbits) mode_from_header (where, sizeof (where), hbits) #define TIME_FROM_HEADER(where) time_from_header (where, sizeof (where)) #define UID_FROM_HEADER(where) uid_from_header (where, sizeof (where)) -#define UINTMAX_FROM_HEADER(where) uintmax_from_header (where, sizeof (where)) /*** file scope type declarations ****************************************************************/ @@ -247,14 +248,6 @@ uid_from_header (const char *p, size_t s) /* --------------------------------------------------------------------------------------------- */ -static inline uintmax_t -uintmax_from_header (const char *p, size_t s) -{ - return tar_from_header (p, s, "uintmax_t", 0, UINTMAX_MAX, FALSE); -} - -/* --------------------------------------------------------------------------------------------- */ - static void tar_calc_sparse_offsets (struct vfs_s_inode *inode) { @@ -304,7 +297,7 @@ tar_skip_member (tar_super_t * archive, struct vfs_s_inode *inode) } else if (save_typeflag != DIRTYPE) { - if (inode != NULL) + if (inode != NULL && (save_typeflag == REGTYPE || save_typeflag == AREGTYPE)) inode->data_offset = BLOCKSIZE * tar_current_block_ordinal (archive); return tar_skip_file (archive, current_stat_info.stat.st_size); @@ -390,8 +383,10 @@ tar_decode_header (union block *header, tar_super_t * arch) { if (strcmp (header->header.magic, TMAGIC) == 0) { - if (header->star_header.prefix[130] == 0 && isodigit (header->star_header.atime[0]) - && header->star_header.atime[11] == ' ' && isodigit (header->star_header.ctime[0]) + if (header->star_header.prefix[130] == 0 + && is_octal_digit (header->star_header.atime[0]) + && header->star_header.atime[11] == ' ' + && is_octal_digit (header->star_header.ctime[0]) && header->star_header.ctime[11] == ' ') arch->type = TAR_STAR; else if (current_stat_info.xhdr.buffer != NULL) @@ -588,7 +583,6 @@ tar_insert_entry (struct vfs_class *me, struct vfs_s_super *archive, union block (*inode)->st.st_mtime = current_stat_info.mtime.tv_sec; (*inode)->st.st_atime = current_stat_info.atime.tv_sec; (*inode)->st.st_ctime = current_stat_info.ctime.tv_sec; - (*inode)->data_offset = BLOCKSIZE * tar_current_block_ordinal (TAR_SUPER (archive)); if (link_name != NULL && *link_name != '\0') (*inode)->linkname = g_strdup (link_name); diff --git a/mcsrc/src/vfs/undelfs/undelfs.c b/mcsrc/src/vfs/undelfs/undelfs.c index de54440..e480040 100644 --- a/mcsrc/src/vfs/undelfs/undelfs.c +++ b/mcsrc/src/vfs/undelfs/undelfs.c @@ -7,7 +7,7 @@ Parts of this program were taken from the lsdel.c and dump.c files written by Ted Ts'o (tytso@mit.edu) for the ext2fs package. - Copyright (C) 1995-2023 + Copyright (C) 1995-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/viewer/actions_cmd.c b/mcsrc/src/viewer/actions_cmd.c index 465f0f0..453eb78 100644 --- a/mcsrc/src/viewer/actions_cmd.c +++ b/mcsrc/src/viewer/actions_cmd.c @@ -2,7 +2,7 @@ Internal file viewer for the Midnight Commander Callback function for some actions (hotkeys, menu) - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: @@ -57,13 +57,13 @@ #include "lib/charsets.h" #endif #include "lib/event.h" /* mc_event_raise() */ -#include "lib/mcconfig.h" /* mc_config_history_get() */ +#include "lib/mcconfig.h" /* mc_config_history_get_recent_item() */ #include "src/filemanager/layout.h" #include "src/filemanager/filemanager.h" /* current_panel */ #include "src/filemanager/ext.h" /* regex_command_for() */ -#include "src/history.h" +#include "src/history.h" /* MC_HISTORY_SHARED_SEARCH */ #include "src/file_history.h" /* show_file_history() */ #include "src/execute.h" #include "src/keymap.h" @@ -139,16 +139,12 @@ mcview_continue_search_cmd (WView * view) else { /* find last search string in history */ - GList *history; + char *s; - history = mc_config_history_get (MC_HISTORY_SHARED_SEARCH); - if (history != NULL) + s = mc_config_history_get_recent_item (MC_HISTORY_SHARED_SEARCH); + if (s != NULL) { - /* FIXME: is it possible that history->data == NULL? */ - view->last_search_string = (gchar *) history->data; - history->data = NULL; - history = g_list_first (history); - g_list_free_full (history, g_free); + view->last_search_string = s; if (mcview_search_init (view)) { @@ -405,12 +401,6 @@ mcview_execute_cmd (WView * view, long command) switch (command) { - case CK_Help: - { - ev_help_t event_data = { NULL, "[Internal File Viewer]" }; - mc_event_raise (MCEVENT_GROUP_CORE, "help", &event_data); - } - break; case CK_HexMode: /* Toggle between hex view and text view */ mcview_toggle_hex_mode (view); diff --git a/mcsrc/src/viewer/ascii.c b/mcsrc/src/viewer/ascii.c index f786dcc..c406feb 100644 --- a/mcsrc/src/viewer/ascii.c +++ b/mcsrc/src/viewer/ascii.c @@ -2,7 +2,7 @@ Internal file viewer for the Midnight Commander Function for plain view - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/viewer/coord_cache.c b/mcsrc/src/viewer/coord_cache.c index 190dbd5..2ea23c2 100644 --- a/mcsrc/src/viewer/coord_cache.c +++ b/mcsrc/src/viewer/coord_cache.c @@ -2,7 +2,7 @@ Internal file viewer for the Midnight Commander Function for work with coordinate cache (ccache) - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/viewer/datasource.c b/mcsrc/src/viewer/datasource.c index ea4199c..94c8099 100644 --- a/mcsrc/src/viewer/datasource.c +++ b/mcsrc/src/viewer/datasource.c @@ -2,7 +2,7 @@ Internal file viewer for the Midnight Commander Functions for datasources - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/viewer/dialogs.c b/mcsrc/src/viewer/dialogs.c index f93c3f4..82b94e2 100644 --- a/mcsrc/src/viewer/dialogs.c +++ b/mcsrc/src/viewer/dialogs.c @@ -2,7 +2,7 @@ Internal file viewer for the Midnight Commander Function for paint dialogs - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/viewer/display.c b/mcsrc/src/viewer/display.c index e76c4dd..08fdb64 100644 --- a/mcsrc/src/viewer/display.c +++ b/mcsrc/src/viewer/display.c @@ -2,7 +2,7 @@ Internal file viewer for the Midnight Commander Function for whow info on display - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/viewer/growbuf.c b/mcsrc/src/viewer/growbuf.c index e18a527..f1fbb9b 100644 --- a/mcsrc/src/viewer/growbuf.c +++ b/mcsrc/src/viewer/growbuf.c @@ -2,7 +2,7 @@ Internal file viewer for the Midnight Commander Function for work with growing buffers - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/viewer/hex.c b/mcsrc/src/viewer/hex.c index c0cf7d0..de037cd 100644 --- a/mcsrc/src/viewer/hex.c +++ b/mcsrc/src/viewer/hex.c @@ -2,7 +2,7 @@ Internal file viewer for the Midnight Commander Function for hex view - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/viewer/lib.c b/mcsrc/src/viewer/lib.c index 5f2eb52..b427987 100644 --- a/mcsrc/src/viewer/lib.c +++ b/mcsrc/src/viewer/lib.c @@ -2,7 +2,7 @@ Internal file viewer for the Midnight Commander Common finctions (used from some other mcviewer functions) - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/viewer/mcviewer.c b/mcsrc/src/viewer/mcviewer.c index 36d31c0..1ec75c3 100644 --- a/mcsrc/src/viewer/mcviewer.c +++ b/mcsrc/src/viewer/mcviewer.c @@ -2,7 +2,7 @@ Internal file viewer for the Midnight Commander Interface functions - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc Written by: diff --git a/mcsrc/src/viewer/move.c b/mcsrc/src/viewer/move.c index 4f15b7c..0bdf38f 100644 --- a/mcsrc/src/viewer/move.c +++ b/mcsrc/src/viewer/move.c @@ -2,7 +2,7 @@ Internal file viewer for the Midnight Commander Functions for handle cursor movement - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/viewer/nroff.c b/mcsrc/src/viewer/nroff.c index 14dacd5..a7c7fe2 100644 --- a/mcsrc/src/viewer/nroff.c +++ b/mcsrc/src/viewer/nroff.c @@ -2,7 +2,7 @@ Internal file viewer for the Midnight Commander Functions for searching in nroff-like view - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/src/viewer/search.c b/mcsrc/src/viewer/search.c index f470a36..9fce398 100644 --- a/mcsrc/src/viewer/search.c +++ b/mcsrc/src/viewer/search.c @@ -2,7 +2,7 @@ Internal file viewer for the Midnight Commander Function for search data - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/library_independ.c b/mcsrc/tests/lib/library_independ.c index aa3a2a1..b9e2c1c 100644 --- a/mcsrc/tests/lib/library_independ.c +++ b/mcsrc/tests/lib/library_independ.c @@ -1,7 +1,7 @@ /* libmc - check if library is independent to $(topsrc)/src directory - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/mc_build_filename.c b/mcsrc/tests/lib/mc_build_filename.c index 780676b..9025a30 100644 --- a/mcsrc/tests/lib/mc_build_filename.c +++ b/mcsrc/tests/lib/mc_build_filename.c @@ -1,7 +1,7 @@ /* lib - mc_build_filename() function testing - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/mc_realpath.c b/mcsrc/tests/lib/mc_realpath.c index f00873c..a552cdf 100644 --- a/mcsrc/tests/lib/mc_realpath.c +++ b/mcsrc/tests/lib/mc_realpath.c @@ -1,7 +1,7 @@ /* lib - realpath - Copyright (C) 2017-2023 + Copyright (C) 2017-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/mcconfig/config_string.c b/mcsrc/tests/lib/mcconfig/config_string.c index 4a3a68d..535cc6a 100644 --- a/mcsrc/tests/lib/mcconfig/config_string.c +++ b/mcsrc/tests/lib/mcconfig/config_string.c @@ -1,7 +1,7 @@ /* libmc - check mcconfig submodule. read and write config files - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/mcconfig/user_configs_path.c b/mcsrc/tests/lib/mcconfig/user_configs_path.c index 6140c12..96b0205 100644 --- a/mcsrc/tests/lib/mcconfig/user_configs_path.c +++ b/mcsrc/tests/lib/mcconfig/user_configs_path.c @@ -1,7 +1,7 @@ /* libmc - check mcconfig submodule. Get full paths to user's config files. - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: @@ -118,7 +118,7 @@ static const struct test_user_config_paths_ds }, { /* 10. */ CONF_DATA, - FISH_PREFIX + VFS_SHELL_PREFIX }, { /* 11. */ CONF_DATA, diff --git a/mcsrc/tests/lib/name_quote.c b/mcsrc/tests/lib/name_quote.c index e86a608..f59c234 100644 --- a/mcsrc/tests/lib/name_quote.c +++ b/mcsrc/tests/lib/name_quote.c @@ -1,7 +1,7 @@ /* lib - Quote file names - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: @@ -91,6 +91,8 @@ static const struct data_source2 const char *expected_string; } data_source2[] = { + {NULL, NULL}, + {"", NULL}, {"-", "./-"}, {"blabla-", "blabla-"}, {"\r\n\t", "\\\r\\\n\\\t"}, diff --git a/mcsrc/tests/lib/search/glob_prepare_replace_str.c b/mcsrc/tests/lib/search/glob_prepare_replace_str.c index 6cc5020..0732980 100644 --- a/mcsrc/tests/lib/search/glob_prepare_replace_str.c +++ b/mcsrc/tests/lib/search/glob_prepare_replace_str.c @@ -1,7 +1,7 @@ /* libmc - checks for processing esc sequences in replace string - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: @@ -77,7 +77,7 @@ START_PARAMETRIZED_TEST (test_glob_prepare_replace_str, test_glob_prepare_replac /* when */ mc_search_run (s, data->input_value, 0, strlen (data->input_value), NULL); - dest_str = mc_search_prepare_replace_str2 (s, (char *) data->replace_str); + dest_str = mc_search_prepare_replace_str2 (s, data->replace_str); /* then */ mctest_assert_str_eq (dest_str, data->expected_result); diff --git a/mcsrc/tests/lib/search/glob_translate_to_regex.c b/mcsrc/tests/lib/search/glob_translate_to_regex.c index a15df94..15b4073 100644 --- a/mcsrc/tests/lib/search/glob_translate_to_regex.c +++ b/mcsrc/tests/lib/search/glob_translate_to_regex.c @@ -1,7 +1,7 @@ /* libmc - checks for processing esc sequences in replace string - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/search/hex_translate_to_regex.c b/mcsrc/tests/lib/search/hex_translate_to_regex.c index a250bc0..c71490d 100644 --- a/mcsrc/tests/lib/search/hex_translate_to_regex.c +++ b/mcsrc/tests/lib/search/hex_translate_to_regex.c @@ -1,7 +1,7 @@ /* libmc - checks for hex pattern parsing - Copyright (C) 2017-2023 + Copyright (C) 2017-2024 Free Software Foundation, Inc. This file is part of the Midnight Commander. diff --git a/mcsrc/tests/lib/search/regex_process_escape_sequence.c b/mcsrc/tests/lib/search/regex_process_escape_sequence.c index c7d7785..1296d13 100644 --- a/mcsrc/tests/lib/search/regex_process_escape_sequence.c +++ b/mcsrc/tests/lib/search/regex_process_escape_sequence.c @@ -1,7 +1,7 @@ /* libmc - checks for processing esc sequences in replace string - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/search/regex_replace_esc_seq.c b/mcsrc/tests/lib/search/regex_replace_esc_seq.c index 7d5cd3e..39298d7 100644 --- a/mcsrc/tests/lib/search/regex_replace_esc_seq.c +++ b/mcsrc/tests/lib/search/regex_replace_esc_seq.c @@ -1,7 +1,7 @@ /* libmc - checks for processing esc sequences in replace string - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/search/translate_replace_glob_to_regex.c b/mcsrc/tests/lib/search/translate_replace_glob_to_regex.c index 4933adf..535bcb2 100644 --- a/mcsrc/tests/lib/search/translate_replace_glob_to_regex.c +++ b/mcsrc/tests/lib/search/translate_replace_glob_to_regex.c @@ -1,7 +1,7 @@ /* libmc - checks for processing esc sequences in replace string - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/serialize.c b/mcsrc/tests/lib/serialize.c index f150727..e1b3551 100644 --- a/mcsrc/tests/lib/serialize.c +++ b/mcsrc/tests/lib/serialize.c @@ -1,7 +1,7 @@ /* lib - common serialize/deserialize functions - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/strutil/filevercmp.c b/mcsrc/tests/lib/strutil/filevercmp.c index ba7f775..2933963 100644 --- a/mcsrc/tests/lib/strutil/filevercmp.c +++ b/mcsrc/tests/lib/strutil/filevercmp.c @@ -1,7 +1,7 @@ /* lib/strutil - tests for lib/strutil/fileverscmp function. - Copyright (C) 2019-2023 + Copyright (C) 2019-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/strutil/parse_integer.c b/mcsrc/tests/lib/strutil/parse_integer.c index 4e25fa4..45520d1 100644 --- a/mcsrc/tests/lib/strutil/parse_integer.c +++ b/mcsrc/tests/lib/strutil/parse_integer.c @@ -1,7 +1,7 @@ /* lib/strutil - tests for lib/strutil/parse_integer function. - Copyright (C) 2013-2023 + Copyright (C) 2013-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/strutil/str_replace_all.c b/mcsrc/tests/lib/strutil/str_replace_all.c index 1a1cb89..836b68d 100644 --- a/mcsrc/tests/lib/strutil/str_replace_all.c +++ b/mcsrc/tests/lib/strutil/str_replace_all.c @@ -1,7 +1,7 @@ /* lib/strutil - tests for lib/strutil/replace.c:str_replace_all() function. - Copyright (C) 2013-2023 + Copyright (C) 2013-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/strutil/str_verscmp.c b/mcsrc/tests/lib/strutil/str_verscmp.c index df11975..1ae5549 100644 --- a/mcsrc/tests/lib/strutil/str_verscmp.c +++ b/mcsrc/tests/lib/strutil/str_verscmp.c @@ -2,7 +2,7 @@ lib/strutil - tests for lib/strutil/str_verscmp function. Testcases are taken from Gnulib. - Copyright (C) 2019-2023 + Copyright (C) 2019-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/utilunix__mc_pstream_get_string.c b/mcsrc/tests/lib/utilunix__mc_pstream_get_string.c index db5233e..5ba2285 100644 --- a/mcsrc/tests/lib/utilunix__mc_pstream_get_string.c +++ b/mcsrc/tests/lib/utilunix__mc_pstream_get_string.c @@ -1,7 +1,7 @@ /* lib - Read string from mc_pipe_stream - Copyright (C) 2021-2023 + Copyright (C) 2021-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/utilunix__my_system-common.c b/mcsrc/tests/lib/utilunix__my_system-common.c index e639107..db46299 100644 --- a/mcsrc/tests/lib/utilunix__my_system-common.c +++ b/mcsrc/tests/lib/utilunix__my_system-common.c @@ -1,7 +1,7 @@ /* lib - common code for testing lib/utilinux:my_system() function - Copyright (C) 2013-2023 + Copyright (C) 2013-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/utilunix__my_system-fork_child.c b/mcsrc/tests/lib/utilunix__my_system-fork_child.c index b34217b..46c1fa2 100644 --- a/mcsrc/tests/lib/utilunix__my_system-fork_child.c +++ b/mcsrc/tests/lib/utilunix__my_system-fork_child.c @@ -1,7 +1,7 @@ /* lib - tests lib/utilinux:my_system() function - Copyright (C) 2013-2023 + Copyright (C) 2013-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/utilunix__my_system-fork_child_shell.c b/mcsrc/tests/lib/utilunix__my_system-fork_child_shell.c index 4c062bf..6c9cb89 100644 --- a/mcsrc/tests/lib/utilunix__my_system-fork_child_shell.c +++ b/mcsrc/tests/lib/utilunix__my_system-fork_child_shell.c @@ -1,7 +1,7 @@ /* lib - tests lib/utilinux:my_system() function - Copyright (C) 2013-2023 + Copyright (C) 2013-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/utilunix__my_system-fork_fail.c b/mcsrc/tests/lib/utilunix__my_system-fork_fail.c index 638c952..975045d 100644 --- a/mcsrc/tests/lib/utilunix__my_system-fork_fail.c +++ b/mcsrc/tests/lib/utilunix__my_system-fork_fail.c @@ -1,7 +1,7 @@ /* lib - tests lib/utilinux:my_system() function - Copyright (C) 2013-2023 + Copyright (C) 2013-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/vfs/canonicalize_pathname.c b/mcsrc/tests/lib/vfs/canonicalize_pathname.c index 8d890c4..16712fd 100644 --- a/mcsrc/tests/lib/vfs/canonicalize_pathname.c +++ b/mcsrc/tests/lib/vfs/canonicalize_pathname.c @@ -1,7 +1,7 @@ /* lib - canonicalize path - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/vfs/current_dir.c b/mcsrc/tests/lib/vfs/current_dir.c index 3814886..80784bf 100644 --- a/mcsrc/tests/lib/vfs/current_dir.c +++ b/mcsrc/tests/lib/vfs/current_dir.c @@ -1,7 +1,7 @@ /* lib/vfs - manipulate with current directory - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/vfs/path_cmp.c b/mcsrc/tests/lib/vfs/path_cmp.c index 9df1e0e..b2db3d2 100644 --- a/mcsrc/tests/lib/vfs/path_cmp.c +++ b/mcsrc/tests/lib/vfs/path_cmp.c @@ -1,6 +1,6 @@ /* lib/vfs - vfs_path_t compare functions - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/vfs/path_len.c b/mcsrc/tests/lib/vfs/path_len.c index cb6a782..6bab6f5 100644 --- a/mcsrc/tests/lib/vfs/path_len.c +++ b/mcsrc/tests/lib/vfs/path_len.c @@ -1,6 +1,6 @@ /* lib/vfs - tests for vfspath_len() function. - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/vfs/path_manipulations.c b/mcsrc/tests/lib/vfs/path_manipulations.c index 9857e82..f379d91 100644 --- a/mcsrc/tests/lib/vfs/path_manipulations.c +++ b/mcsrc/tests/lib/vfs/path_manipulations.c @@ -1,6 +1,6 @@ /* lib/vfs - test vfs_path_t manipulation functions - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/vfs/path_recode.c b/mcsrc/tests/lib/vfs/path_recode.c index da31f1c..a6f6abe 100644 --- a/mcsrc/tests/lib/vfs/path_recode.c +++ b/mcsrc/tests/lib/vfs/path_recode.c @@ -1,7 +1,7 @@ /* lib/vfs - vfs_path_t charset recode functions - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/vfs/path_serialize.c b/mcsrc/tests/lib/vfs/path_serialize.c index a56db8d..442a3b2 100644 --- a/mcsrc/tests/lib/vfs/path_serialize.c +++ b/mcsrc/tests/lib/vfs/path_serialize.c @@ -1,7 +1,7 @@ /* lib/vfs - vfs_path_t serialize/deserialize functions - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/vfs/relative_cd.c b/mcsrc/tests/lib/vfs/relative_cd.c index 8eaa1ff..29f4221 100644 --- a/mcsrc/tests/lib/vfs/relative_cd.c +++ b/mcsrc/tests/lib/vfs/relative_cd.c @@ -1,6 +1,6 @@ /* lib/vfs - test vfs_path_t manipulation functions - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/vfs/tempdir.c b/mcsrc/tests/lib/vfs/tempdir.c index 7795e9b..2a499d1 100644 --- a/mcsrc/tests/lib/vfs/tempdir.c +++ b/mcsrc/tests/lib/vfs/tempdir.c @@ -1,7 +1,7 @@ /* lib/vfs - manipulations with temp files and dirs - Copyright (C) 2012-2023 + Copyright (C) 2012-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/vfs/vfs_adjust_stat.c b/mcsrc/tests/lib/vfs/vfs_adjust_stat.c index 9fb56ee..19b5e09 100644 --- a/mcsrc/tests/lib/vfs/vfs_adjust_stat.c +++ b/mcsrc/tests/lib/vfs/vfs_adjust_stat.c @@ -1,7 +1,7 @@ /* lib/vfs - test vfs_adjust_stat() functionality - Copyright (C) 2017-2023 + Copyright (C) 2017-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/vfs/vfs_get_encoding.c b/mcsrc/tests/lib/vfs/vfs_get_encoding.c index a7503ca..d599cdf 100644 --- a/mcsrc/tests/lib/vfs/vfs_get_encoding.c +++ b/mcsrc/tests/lib/vfs/vfs_get_encoding.c @@ -1,7 +1,7 @@ /* lib/vfs - test vfs_get_encoding() functionality - Copyright (C) 2013-2023 + Copyright (C) 2013-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/vfs/vfs_parse_ls_lga.c b/mcsrc/tests/lib/vfs/vfs_parse_ls_lga.c index 3d51f82..316de8f 100644 --- a/mcsrc/tests/lib/vfs/vfs_parse_ls_lga.c +++ b/mcsrc/tests/lib/vfs/vfs_parse_ls_lga.c @@ -1,7 +1,7 @@ /* lib/vfs - test vfs_parse_ls_lga() functionality - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/vfs/vfs_path_from_str_flags.c b/mcsrc/tests/lib/vfs/vfs_path_from_str_flags.c index 1f1c29d..9a68f43 100644 --- a/mcsrc/tests/lib/vfs/vfs_path_from_str_flags.c +++ b/mcsrc/tests/lib/vfs/vfs_path_from_str_flags.c @@ -1,6 +1,6 @@ /* lib/vfs - test vfs_path_from_str_flags() function - Copyright (C) 2013-2023 + Copyright (C) 2013-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/vfs/vfs_path_string_convert.c b/mcsrc/tests/lib/vfs/vfs_path_string_convert.c index 4a79249..b062a83 100644 --- a/mcsrc/tests/lib/vfs/vfs_path_string_convert.c +++ b/mcsrc/tests/lib/vfs/vfs_path_string_convert.c @@ -1,7 +1,7 @@ /* lib/vfs - get vfs_path_t from string - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/vfs/vfs_prefix_to_class.c b/mcsrc/tests/lib/vfs/vfs_prefix_to_class.c index 414d52d..482c6db 100644 --- a/mcsrc/tests/lib/vfs/vfs_prefix_to_class.c +++ b/mcsrc/tests/lib/vfs/vfs_prefix_to_class.c @@ -1,7 +1,7 @@ /* lib/vfs - test vfs_prefix_to_class() functionality - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/vfs/vfs_s_get_path.c b/mcsrc/tests/lib/vfs/vfs_s_get_path.c index 382b6ef..51812e6 100644 --- a/mcsrc/tests/lib/vfs/vfs_s_get_path.c +++ b/mcsrc/tests/lib/vfs/vfs_s_get_path.c @@ -1,7 +1,7 @@ /* lib/vfs - test vfs_s_get_path() function - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/vfs/vfs_setup_cwd.c b/mcsrc/tests/lib/vfs/vfs_setup_cwd.c index 9acfb92..2722d81 100644 --- a/mcsrc/tests/lib/vfs/vfs_setup_cwd.c +++ b/mcsrc/tests/lib/vfs/vfs_setup_cwd.c @@ -1,7 +1,7 @@ /* lib/vfs - test vfs_setup_cwd() functionality - Copyright (C) 2013-2023 + Copyright (C) 2013-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/vfs/vfs_split.c b/mcsrc/tests/lib/vfs/vfs_split.c index cafa855..a7fe7a4 100644 --- a/mcsrc/tests/lib/vfs/vfs_split.c +++ b/mcsrc/tests/lib/vfs/vfs_split.c @@ -1,7 +1,7 @@ /* lib/vfs - test vfs_split() functionality - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/widget/complete_engine.c b/mcsrc/tests/lib/widget/complete_engine.c index b16a4d9..d723b34 100644 --- a/mcsrc/tests/lib/widget/complete_engine.c +++ b/mcsrc/tests/lib/widget/complete_engine.c @@ -1,7 +1,7 @@ /* lib/widget - tests for autocomplete feature - Copyright (C) 2013-2023 + Copyright (C) 2013-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/widget/group_init_destroy.c b/mcsrc/tests/lib/widget/group_init_destroy.c index 0da2821..32d0184 100644 --- a/mcsrc/tests/lib/widget/group_init_destroy.c +++ b/mcsrc/tests/lib/widget/group_init_destroy.c @@ -1,7 +1,7 @@ /* libmc - checks for initialization and deinitialization of WGroup widget - Copyright (C) 2020-2023 + Copyright (C) 2020-2024 The Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/widget/hotkey_equal.c b/mcsrc/tests/lib/widget/hotkey_equal.c index a455d84..8375bc0 100644 --- a/mcsrc/tests/lib/widget/hotkey_equal.c +++ b/mcsrc/tests/lib/widget/hotkey_equal.c @@ -1,7 +1,7 @@ /* lib/widget - tests for hotkey comparison - Copyright (C) 2019-2023 + Copyright (C) 2019-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/widget/widget_find_by_id.c b/mcsrc/tests/lib/widget/widget_find_by_id.c index 2477c02..88229e4 100644 --- a/mcsrc/tests/lib/widget/widget_find_by_id.c +++ b/mcsrc/tests/lib/widget/widget_find_by_id.c @@ -1,7 +1,7 @@ /* libmc - checks for search widget with requested ID - Copyright (C) 2020-2023 + Copyright (C) 2020-2024 The Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/widget/widget_make_global_local.c b/mcsrc/tests/lib/widget/widget_make_global_local.c index 379746d..e4a92e4 100644 --- a/mcsrc/tests/lib/widget/widget_make_global_local.c +++ b/mcsrc/tests/lib/widget/widget_make_global_local.c @@ -1,7 +1,7 @@ /* libmc - checks for search widget with requested ID - Copyright (C) 2021-2023 + Copyright (C) 2021-2024 The Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/lib/x_basename.c b/mcsrc/tests/lib/x_basename.c index 2adce3b..6137cd9 100644 --- a/mcsrc/tests/lib/x_basename.c +++ b/mcsrc/tests/lib/x_basename.c @@ -1,7 +1,7 @@ /* lib - x_basename() function testing - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/src/editor/edit_complete_word_cmd.c b/mcsrc/tests/src/editor/edit_complete_word_cmd.c index 77bb4d0..a75c98d 100644 --- a/mcsrc/tests/src/editor/edit_complete_word_cmd.c +++ b/mcsrc/tests/src/editor/edit_complete_word_cmd.c @@ -1,7 +1,7 @@ /* src/editor - tests for edit_complete_word_cmd() function - Copyright (C) 2013-2023 + Copyright (C) 2013-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/src/execute__common.c b/mcsrc/tests/src/execute__common.c index 598b3d0..0ca5dc0 100644 --- a/mcsrc/tests/src/execute__common.c +++ b/mcsrc/tests/src/execute__common.c @@ -1,7 +1,7 @@ /* Common code for testing functions in src/execute.c file. - Copyright (C) 2013-2023 + Copyright (C) 2013-2024 Free Software Foundation, Inc. diff --git a/mcsrc/tests/src/execute__execute_external_editor_or_viewer.c b/mcsrc/tests/src/execute__execute_external_editor_or_viewer.c index e659477..7fb8d96 100644 --- a/mcsrc/tests/src/execute__execute_external_editor_or_viewer.c +++ b/mcsrc/tests/src/execute__execute_external_editor_or_viewer.c @@ -1,7 +1,7 @@ /* src - tests for execute_external_editor_or_viewer() function - Copyright (C) 2013-2023 + Copyright (C) 2013-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/src/execute__execute_get_external_cmd_opts_from_config.c b/mcsrc/tests/src/execute__execute_get_external_cmd_opts_from_config.c index bf7f77d..87643cf 100644 --- a/mcsrc/tests/src/execute__execute_get_external_cmd_opts_from_config.c +++ b/mcsrc/tests/src/execute__execute_get_external_cmd_opts_from_config.c @@ -1,7 +1,7 @@ /* src - tests for execute_external_editor_or_viewer() function - Copyright (C) 2013-2023 + Copyright (C) 2013-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/src/execute__execute_with_vfs_arg.c b/mcsrc/tests/src/execute__execute_with_vfs_arg.c index 528586b..232132e 100644 --- a/mcsrc/tests/src/execute__execute_with_vfs_arg.c +++ b/mcsrc/tests/src/execute__execute_with_vfs_arg.c @@ -1,7 +1,7 @@ /* src - tests for execute_with_vfs_arg() function - Copyright (C) 2013-2023 + Copyright (C) 2013-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/src/filemanager/cd_to.c b/mcsrc/tests/src/filemanager/cd_to.c index 37156d5..96a04e6 100644 --- a/mcsrc/tests/src/filemanager/cd_to.c +++ b/mcsrc/tests/src/filemanager/cd_to.c @@ -1,7 +1,7 @@ /* src/filemanager - tests for cd_to() function - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/src/filemanager/examine_cd.c b/mcsrc/tests/src/filemanager/examine_cd.c index bbb92f9..7298c26 100644 --- a/mcsrc/tests/src/filemanager/examine_cd.c +++ b/mcsrc/tests/src/filemanager/examine_cd.c @@ -1,7 +1,7 @@ /* src/filemanager - examine_cd() function testing - Copyright (C) 2012-2023 + Copyright (C) 2012-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/src/filemanager/exec_get_export_variables_ext.c b/mcsrc/tests/src/filemanager/exec_get_export_variables_ext.c index dea05a1..6f6901b 100644 --- a/mcsrc/tests/src/filemanager/exec_get_export_variables_ext.c +++ b/mcsrc/tests/src/filemanager/exec_get_export_variables_ext.c @@ -1,7 +1,7 @@ /* src/filemanager - filemanager functions - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/src/filemanager/filegui_is_wildcarded.c b/mcsrc/tests/src/filemanager/filegui_is_wildcarded.c index 28a11fd..7d6d4ce 100644 --- a/mcsrc/tests/src/filemanager/filegui_is_wildcarded.c +++ b/mcsrc/tests/src/filemanager/filegui_is_wildcarded.c @@ -1,7 +1,7 @@ /* src/filemanager - tests for is_wildcarded() function - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/src/filemanager/get_random_hint.c b/mcsrc/tests/src/filemanager/get_random_hint.c index 80dd1a7..8370619 100644 --- a/mcsrc/tests/src/filemanager/get_random_hint.c +++ b/mcsrc/tests/src/filemanager/get_random_hint.c @@ -2,7 +2,7 @@ src/filemanager - filemanager functions. Tests for getting random hints. - Copyright (C) 2013-2023 + Copyright (C) 2013-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/src/vfs/extfs/helpers-list/mc_parse_ls_l.c b/mcsrc/tests/src/vfs/extfs/helpers-list/mc_parse_ls_l.c index 7c6ef18..8c1889e 100644 --- a/mcsrc/tests/src/vfs/extfs/helpers-list/mc_parse_ls_l.c +++ b/mcsrc/tests/src/vfs/extfs/helpers-list/mc_parse_ls_l.c @@ -1,7 +1,7 @@ /* A parser for file-listings formatted like 'ls -l'. - Copyright (C) 2016-2023 + Copyright (C) 2016-2024 Free Software Foundation, Inc. This file is part of the Midnight Commander. diff --git a/mcsrc/tests/src/vfs/ftpfs/ftpfs_parse_long_list.c b/mcsrc/tests/src/vfs/ftpfs/ftpfs_parse_long_list.c index 2943364..840c57d 100644 --- a/mcsrc/tests/src/vfs/ftpfs/ftpfs_parse_long_list.c +++ b/mcsrc/tests/src/vfs/ftpfs/ftpfs_parse_long_list.c @@ -1,6 +1,6 @@ /* src/vfs/ftpfs - tests for ftpfs_parse_long_list() function. - Copyright (C) 2021-2023 + Copyright (C) 2021-2024 Free Software Foundation, Inc. Written by: diff --git a/mcsrc/tests/src/viewer/viewertest.txt b/mcsrc/tests/src/viewer/viewertest.txt index 88c2032b7682c4646e2826df89e13558b4d4dc36..3b737bdb4ddb29dc260670cb896f59555c60c7a8 100644 GIT binary patch delta 498 zcmX@1(yB5+e6kVKpUHfTVv~)TzO!p7I0tF_xJ?#d6xnRdWXs6NJGp?_0!Xf4&I6KS zEPBkmT)dM%vWiZQV$o#c<(fQ^MQ!o|7G9rBI$MougQP>Of*2R2EdCQf#+ z-S+HSlVjO=C3(3XEbZn*!(inN>>fbn1x%mupeBA3qO3tWmIkN)Fo2K%FlTN9{b zHMc#Ge8mm%n>tSbkXOzV1|-k&%mb^-;ne{0rtqc#$zQzdcp&Ec73HU;@lM{z=K~b} z%a;KpQ~6&2NnZgau(kpLe;{wafQBM3SE62$0to1VNd<*?J)jsz5+?^|JO?OTSOg=1 lYGVamWq7$57@3$^SlQS)6co656!`cB1cih}M8(7U6vvrqcV3>I)t!qHU3YsbLCYEv36@$6FARI%du;?oWndm@(T?~8O{A#wy?BSlel zMl+a*rcsS%u^!C|qAFdG%m!Ri+A*u_!w01sf0QQiW2lWHA6C=Is=5>)r)GAspYN;s ze-SV&slCEM2b#52nQ^4F6*XdU>AA6?b*EhD#I4b;4j-L z#M@&PG3;Y(Kfc9|BWZ-zMvNR*jf;@ui=tYNw_zimM`zud9x9#lCi8jxt~-OH^#v@~ z|3WRXH`GX+7Yntem~D;m@LAiL^HGc0+L*5CqZ-30a~SW;9&DP)>850JD!n_H4(JBm zq+3*>+cZOW=q}x(S-MYEs?i)hpocV13-pLUkLd|LrDyb Date: Fri, 16 Feb 2024 02:32:46 +0800 Subject: [PATCH 05/47] WINVER GetThreadLocale usage --- mcwin32/libintl/src/gettext.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mcwin32/libintl/src/gettext.c b/mcwin32/libintl/src/gettext.c index 0c87711..28d92ea 100644 --- a/mcwin32/libintl/src/gettext.c +++ b/mcwin32/libintl/src/gettext.c @@ -36,6 +36,10 @@ __RCSID("$NetBSD: gettext.c,v 1.28 2012/07/30 23:04:42 yamt Exp $"); #ifndef WINDOWS_MEAN_AND_LEAN #define WINDOWS_MEAN_AND_LEAN #endif +#if !defined(WINVER) || (WINVER < 0x500) +#undef WINVER +#define WINVER WIN32_WINNT /* GetThreadLocale, 2000+ */ +#endif #include #pragma comment(lib, "Kernel32.lib") #endif //WIN32 From bf651985634678fe6769ad40afae4bc85c17f3ce Mon Sep 17 00:00:00 2001 From: adamyg Date: Fri, 16 Feb 2024 02:49:57 +0800 Subject: [PATCH 06/47] WINVER MSVC --- mcwin32/libintl/src/gettext.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mcwin32/libintl/src/gettext.c b/mcwin32/libintl/src/gettext.c index 28d92ea..87e22b0 100644 --- a/mcwin32/libintl/src/gettext.c +++ b/mcwin32/libintl/src/gettext.c @@ -36,9 +36,9 @@ __RCSID("$NetBSD: gettext.c,v 1.28 2012/07/30 23:04:42 yamt Exp $"); #ifndef WINDOWS_MEAN_AND_LEAN #define WINDOWS_MEAN_AND_LEAN #endif -#if !defined(WINVER) || (WINVER < 0x500) +#if defined(_MSC_VER) && (!defined(WINVER) || (WINVER < 0x500)) #undef WINVER -#define WINVER WIN32_WINNT /* GetThreadLocale, 2000+ */ +#define WINVER WIN32_WINNT /* GetThreadLocale, SDK 10+ */ #endif #include #pragma comment(lib, "Kernel32.lib") From d8d97d440423caac3899abf1059f72415a75bda7 Mon Sep 17 00:00:00 2001 From: adamyg Date: Mon, 26 Feb 2024 21:43:55 +0800 Subject: [PATCH 07/47] kbtest Keyboard tester --- mcwin32/src/kbtest/.cvsignore | 4 + mcwin32/src/kbtest/.gitignore | 3 + mcwin32/src/kbtest/KBDGR.xml | 516 ++++++++++++++ mcwin32/src/kbtest/KBDIT.xml | 431 +++++++++++ mcwin32/src/kbtest/KBDRU.xml | 437 ++++++++++++ mcwin32/src/kbtest/KBDUS.xml | 424 +++++++++++ mcwin32/src/kbtest/Makefile.in | 225 ++++++ mcwin32/src/kbtest/VKGuide.png | Bin 0 -> 68812 bytes mcwin32/src/kbtest/kbconsole.c | 167 +++++ mcwin32/src/kbtest/kbconsole.h | 56 ++ mcwin32/src/kbtest/kbcurrent.c | 195 +++++ mcwin32/src/kbtest/kbdefinition.c | 470 ++++++++++++ mcwin32/src/kbtest/kbdefinition.h | 71 ++ mcwin32/src/kbtest/kbdump.c | 117 +++ mcwin32/src/kbtest/kbdump.h | 40 ++ mcwin32/src/kbtest/kblayout.c | 386 ++++++++++ mcwin32/src/kbtest/kblayout.h | 51 ++ mcwin32/src/kbtest/kbmap.c | 1027 +++++++++++++++++++++++++++ mcwin32/src/kbtest/kbmap.h | 82 +++ mcwin32/src/kbtest/kbtest.c | 730 +++++++++++++++++++ mcwin32/src/kbtest/kbtest.rc | 124 ++++ mcwin32/src/kbtest/kbvirtualextra.h | 86 +++ 22 files changed, 5642 insertions(+) create mode 100644 mcwin32/src/kbtest/.cvsignore create mode 100644 mcwin32/src/kbtest/.gitignore create mode 100644 mcwin32/src/kbtest/KBDGR.xml create mode 100644 mcwin32/src/kbtest/KBDIT.xml create mode 100644 mcwin32/src/kbtest/KBDRU.xml create mode 100644 mcwin32/src/kbtest/KBDUS.xml create mode 100644 mcwin32/src/kbtest/Makefile.in create mode 100644 mcwin32/src/kbtest/VKGuide.png create mode 100644 mcwin32/src/kbtest/kbconsole.c create mode 100644 mcwin32/src/kbtest/kbconsole.h create mode 100644 mcwin32/src/kbtest/kbcurrent.c create mode 100644 mcwin32/src/kbtest/kbdefinition.c create mode 100644 mcwin32/src/kbtest/kbdefinition.h create mode 100644 mcwin32/src/kbtest/kbdump.c create mode 100644 mcwin32/src/kbtest/kbdump.h create mode 100644 mcwin32/src/kbtest/kblayout.c create mode 100644 mcwin32/src/kbtest/kblayout.h create mode 100644 mcwin32/src/kbtest/kbmap.c create mode 100644 mcwin32/src/kbtest/kbmap.h create mode 100644 mcwin32/src/kbtest/kbtest.c create mode 100644 mcwin32/src/kbtest/kbtest.rc create mode 100644 mcwin32/src/kbtest/kbvirtualextra.h diff --git a/mcwin32/src/kbtest/.cvsignore b/mcwin32/src/kbtest/.cvsignore new file mode 100644 index 0000000..4ddeeb2 --- /dev/null +++ b/mcwin32/src/kbtest/.cvsignore @@ -0,0 +1,4 @@ +Makefile +kbbuildinfo.h + + diff --git a/mcwin32/src/kbtest/.gitignore b/mcwin32/src/kbtest/.gitignore new file mode 100644 index 0000000..d35cf45 --- /dev/null +++ b/mcwin32/src/kbtest/.gitignore @@ -0,0 +1,3 @@ +reference/ +kbbuildinfo.h + diff --git a/mcwin32/src/kbtest/KBDGR.xml b/mcwin32/src/kbtest/KBDGR.xml new file mode 100644 index 0000000..2ef344e --- /dev/null +++ b/mcwin32/src/kbtest/KBDGR.xml @@ -0,0 +1,516 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mcwin32/src/kbtest/KBDIT.xml b/mcwin32/src/kbtest/KBDIT.xml new file mode 100644 index 0000000..b2cbbc5 --- /dev/null +++ b/mcwin32/src/kbtest/KBDIT.xml @@ -0,0 +1,431 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mcwin32/src/kbtest/KBDRU.xml b/mcwin32/src/kbtest/KBDRU.xml new file mode 100644 index 0000000..3ac4119 --- /dev/null +++ b/mcwin32/src/kbtest/KBDRU.xml @@ -0,0 +1,437 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mcwin32/src/kbtest/KBDUS.xml b/mcwin32/src/kbtest/KBDUS.xml new file mode 100644 index 0000000..e5e4377 --- /dev/null +++ b/mcwin32/src/kbtest/KBDUS.xml @@ -0,0 +1,424 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mcwin32/src/kbtest/Makefile.in b/mcwin32/src/kbtest/Makefile.in new file mode 100644 index 0000000..bb19326 --- /dev/null +++ b/mcwin32/src/kbtest/Makefile.in @@ -0,0 +1,225 @@ +# -*- mode: mak; indent-tabs-mode: t; tab-width: 8 -*- +# $Id: Makefile.in,v 1.1 2024/02/15 18:21:36 cvsuser Exp $ +# kbtest +# +# +# + +@SET_MAKE@ +ROOT= @abs_top_builddir@ +top_builddir= @top_builddir@ + +# Configuration + +PACKAGE= "mc" +PKG_NAME= "KBTest" +PKG_VERSION= 1.0.2 + +# File extensions + +E= +O= .o +A= .a +LP= lib + +CLEAN= *.bak *~ *.BAK *.swp *.tmp core *.core a.out +XCLEAN= + +# Compilers, programs + +CC= @CC@ +CXX= @CXX@ +AR= @AR@ +RANLIB= @RANLIB@ +RM= @RM@ +PERL= @PERL@ +LIBTOOL= @LIBTOOL@ +RC= @RC@ + +BUSYBOX= @BUSYBOX@ +ifeq ($(BUSYBOX),busybox) +BUSYBOX= $(shell which busybox 2>/dev/null) +endif + +BUILD_DATE= $(shell $(BUSYBOX) date +'%Y%m%d') +ifneq ($(APPVEYOR_BUILD_NUMBER),) +BUILD_NUMBER= $(APPVEYOR_BUILD_NUMBER) +else ifneq ($(GITHUB_RUN_NUMBER),) +BUILD_NUMBER= $(GITHUB_RUN_NUMBER) +else +BUILD_NUMBER= $(shell $(BUSYBOX) cat ../../BUILDNUMBER) +endif + +# Configuration + +ifeq ("$(BUILD_TYPE)","") #default +BUILD_TYPE= debug +MAKEFLAGS+= BUILD_TYPE=debug +endif +ifneq ("$(BUILD_TYPE)","release") +RTSUFFIX=d +endif + +QUIETOUT:= >/dev/null 2>&1 +ifeq ($(VERBOSE),1) +QUIETOUT:= +else ifeq ($(VERBOSE),0) +else ifeq ($(VERBOSE),) +else +$(error VERBOSE: unexpected value 0 or 1 required, $(VERBOSE) given])) +endif + +# Directories + +D_INC= $(ROOT)/include +D_BIN= $(ROOT)/bin@TOOLCHAINEXT@/$(BUILD_TYPE) +D_LIB= $(ROOT)/lib@TOOLCHAINEXT@/$(BUILD_TYPE) +D_OBJ= $(ROOT)/obj@TOOLCHAINEXT@/$(BUILD_TYPE)/kbtest + +# Common flags + +XFLAGS= +CFLAGS= @CFLAGS@ +CWARN= @CWARN@ $(CWALL) +ifeq ("gcc","@CC@") +#CWARN+= -Wno-shadow -Wno-sign-compare -Wno-type-limits +#CWARN+= -Wno-unused-variable -Wno-unused-parameter +#CWARN+= -Wno-unused-parameter -Wno-unused-function +#CWARN+= -Wno-missing-field-initializers -Wno-implicit-fallthrough +endif +CDEBUG= @CDEBUG@ +CRELEASE= @CRELEASE@ +CXXFLAGS= @CXXFLAGS@ +ifeq ("gcc","@CC@") +CXXFLAGS+= -fpermissive +endif +CXXDEBUG= @CXXDEBUG@ +ifeq ("$(CXXDEBUG)","") +CXXDEBUG= $(CDEBUG) +endif +CXXRELEASE= @CXXRELEASE@ +ifeq ("$(CXXRELEASE)","") +CXXRELEASE= $(CRELEASE) +endif +LDDEBUG= @LDDEBUG@ +LDRELEASE= @LDRELEASE@ + +CINCLUDE= -I$(D_INC) @CINCLUDE@ +CEXTRA= @DEFS@ @LIBCURL_CPPFLAGS@ -DLIBTRE_DLL +ifdef PURIFY +CEXTRA+= -DUSING_PURIFY +endif +ifeq ("win32","@build_os@") +CEXTRA+= -DWIN32 +endif +CDEPFLAGS= $(CEXTRA) $(CINCLUDE) + +ifeq ("$(BUILD_TYPE)","release") +CFLAGS+= $(CRELEASE) $(CWARN) $(CINCLUDE) $(CEXTRA) $(XFLAGS) +CXXFLAGS+= $(CXXRELEASE) $(CXXWARN) $(CINCLUDE) @CXXINCLUDE@ $(CEXTRA) $(XFLAGS) +LDFLAGS= $(LDRELEASE) @LDFLAGS@ +else +CFLAGS+= $(CDEBUG) $(CWARN) $(CINCLUDE) $(CEXTRA) $(XFLAGS) +CXXFLAGS+= $(CXXDEBUG) $(CXXWARN) $(CINCLUDE) @CXXINCLUDE@ $(CEXTRA) $(XFLAGS) +LDFLAGS= $(LDDEBUG) @LDFLAGS@ +endif +LDLIBS= -L$(D_LIB) @LIBS@ @EXTRALIBS@ + +YFLAGS= -d +ARFLAGS= rcv +RMFLAGS= -f +RMDFLAGS= -rf + + +######################################################################################### +# Targets + +KBTESTTSK= $(D_BIN)/kbtest$(E) +KBTESTSRC= . +ifeq ("owc19","@TOOLCHAIN@") +EXPATSRC= ../../autoupdater/libappupdater/expat_legacy +else +EXPATSRC= ../../autoupdater/libappupdater/expat +endif + +VPATH= $(KBTESTSRC) $(EXPATSRC) + +KBTESTOBJS=\ + $(D_OBJ)/kbtest$(O) \ + $(D_OBJ)/kbconsole$(O) \ + $(D_OBJ)/kbcurrent$(O) \ + $(D_OBJ)/kbdefinition$(O) \ + $(D_OBJ)/kbdump$(O) \ + $(D_OBJ)/kblayout$(O) \ + $(D_OBJ)/kbmap$(O) \ + \ + $(D_OBJ)/xmlparse$(O) \ + $(D_OBJ)/xmlrole$(O) \ + $(D_OBJ)/xmltok$(O) + +ifeq (mingw,$(findstring mingw,"@TOOLCHAIN@")) +KBTESTOBJS+= $(D_OBJ)/kbtest_res.o +else +KBTESTOBJS+= $(D_OBJ)/kbtest.res +endif + +OBJS= $(KBTESTOBJS) +LIBS= +DLLS= +TSKS= $(KBTESTTSK) +INSTALLED= + + +######################################################################################### +# Rules + +.PHONY: build release debug +build: buildinfo $(LIBS) $(DLLS) $(TSKS) + +release: + $(MAKE) BUILD_TYPE=release $(filter-out release, $(MAKECMDGOALS)) +debug: + $(MAKE) BUILD_TYPE=debug $(filter-out debug, $(MAKECMDGOALS)) + +$(KBTESTTSK): CEXTRA += -I$(KBTESTSRC) -I$(EXPATSRC) +$(KBTESTTSK): CEXTRA += -DXML_STATIC -DLIBW32_DYNAMIC -DCOMPILED_FROM_DSP +$(KBTESTTSK): MAPFILE=$(basename $@).map +$(KBTESTTSK): $(D_OBJ)/.created $(KBTESTOBJS) + $(LIBTOOL) --mode=link $(CXX) $(LDFLAGS) -o $@ $(KBTESTOBJS) $(LDLIBS) @LDMAPFILE@ + +.PHONY: buildinfo +kbbuildinfo.h: buildinfo +buildinfo: Makefile ../../buildinfo.pl + @echo updating kbbuildinfo.h ... + -@$(PERL) ../..//buildinfo.pl -o kbbuildinfo.h --package="$(PACKAGE)" --name="$(PKG_NAME)" --version="$(PKG_VERSION)" \ + --date="$(BUILD_DATE)" --build="$(BUILD_NUMBER)" --toolchain="@TOOLCHAINEXT@" + +%/.created: + -@mkdir $(@D) + @echo "do not delete, managed directory" > $@ + +clean: + @echo $(BUILD_TYPE) clean + -@$(LIBTOOL) --mode=clean $(RM) $(OBJS) $(DLLS) $(DLLOBJS) $(QUIETOUT) + -@$(RM) $(RMFLAGS) $(BAK) $(TSKS) $(INSTALLED) $(LIBS) $(CLEAN) $(XCLEAN) $(QUIETOUT) + -@$(RM) $(LIBOBJS) $(QUIETOUT) + +$(D_OBJ)/%$(O): %.cpp + $(CC) $(CXXFLAGS) -o $@ -c $< + +$(D_OBJ)/%$(O): %.c + $(CC) $(CFLAGS) -o $@ -c $< + +$(D_OBJ)/%.lo: %.cpp + $(LIBTOOL) --mode=compile $(CC) $(CXXFLAGS) -o $@ -c $< + +$(D_OBJ)/%.lo: %.c + $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) -o $@ -c $< + +$(D_OBJ)/%.res: %.rc + $(RC) -fo $@ $(RCDEFS) $< + +$(D_OBJ)/%_res.o: %.rc + $(RC) -o $@ $(RCDEFS) $< + +#end diff --git a/mcwin32/src/kbtest/VKGuide.png b/mcwin32/src/kbtest/VKGuide.png new file mode 100644 index 0000000000000000000000000000000000000000..cf3de3b5be6f22d2e37fa017bb29f1ab015d8051 GIT binary patch literal 68812 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 literal 0 HcmV?d00001 diff --git a/mcwin32/src/kbtest/kbconsole.c b/mcwin32/src/kbtest/kbconsole.c new file mode 100644 index 0000000..222fbd4 --- /dev/null +++ b/mcwin32/src/kbtest/kbconsole.c @@ -0,0 +1,167 @@ +#include +__CIDENT_RCSID(btest_c,"$Id: kbconsole.c,v 1.3 2024/02/17 08:23:13 cvsuser Exp $") + +/* -*- mode: c; indent-width: 4; -*- */ +/* + * console keyboard test application + * + * Copyright (c) 2015 - 2024, Adam Young. + * All rights reserved. + * + * This file is part of the WinXSH project. + * + * The applications are free software: you can redistribute it + * and/or modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation, version 3. + * + * Redistributions of source code must retain the above copyright + * notice, and must be distributed with the license document above. + * + * Redistributions in binary form must reproduce the above copyright + * notice, and must include the license document above in + * the documentation and/or other materials provided with the + * distribution. + * + * This project is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * License for more details. + * ==end== + */ + +#include "kbconsole.h" + +#include +#include + + +/* + * ConsoleClear --- + * Clear the console. + **/ +void +ConsoleClear(HANDLE console) +{ + COORD coord = {0,0}; + CONSOLE_SCREEN_BUFFER_INFO csbi = {0,0}; + DWORD dwConSize, cCharsWritten; + + GetConsoleScreenBufferInfo(console, &csbi); + dwConSize = csbi.dwSize.X * csbi.dwSize.Y; + FillConsoleOutputCharacterA(console, ' ', dwConSize, coord, &cCharsWritten); + FillConsoleOutputAttribute(console, csbi.wAttributes, dwConSize, coord, &cCharsWritten); + SetConsoleCursorPosition(console, coord); +} + + +/* + * ConsoleClearEOS --- + * Clear to End-Of-Screen. + **/ +void +ConsoleClearEOS(HANDLE console) +{ + CONSOLE_SCREEN_BUFFER_INFO csbi = {0,0}; + DWORD dwConSize, cCharsWritten; + + GetConsoleScreenBufferInfo(console, &csbi); + dwConSize = csbi.dwSize.X - csbi.dwCursorPosition.X; // EOL + if (--csbi.dwCursorPosition.Y < csbi.dwSize.Y) dwConSize += (csbi.dwSize.Y - csbi.dwCursorPosition.Y) * csbi.dwSize.Y; // EOS + FillConsoleOutputCharacterA(console, ' ', dwConSize, csbi.dwCursorPosition, &cCharsWritten); + FillConsoleOutputAttribute(console, csbi.wAttributes, dwConSize, csbi.dwCursorPosition, &cCharsWritten); +} + + +/* + * ConsoleClearEOL --- + * Clear to End-Of-Line. + **/ +void +ConsoleClearEOL(HANDLE console) +{ + CONSOLE_SCREEN_BUFFER_INFO csbi = {0,0}; + DWORD dwConSize, cCharsWritten; + + GetConsoleScreenBufferInfo(console, &csbi); + dwConSize = csbi.dwSize.X - csbi.dwCursorPosition.X; + FillConsoleOutputCharacterA(console, ' ', dwConSize, csbi.dwCursorPosition, &cCharsWritten); + FillConsoleOutputAttribute(console, csbi.wAttributes, dwConSize, csbi.dwCursorPosition, &cCharsWritten); +} + + +/* + * ConsoleSizeSet --- + * Set the console size. + **/ +int +ConsoleSizeSet(HANDLE console, int width, int height) +{ + if (INVALID_HANDLE_VALUE == console) + return -1; // invalid handle + + if (width < 0 && height < 0) + return TRUE; // done + + COORD coord = {0}; + coord.X = (SHORT)(width); + coord.Y = (SHORT)(height); + if (SetConsoleScreenBufferSize(console, coord) == FALSE) + return 0; // error + + SMALL_RECT rect = {0}; + rect.Bottom = coord.X - 1; + rect.Right = coord.Y - 1; + return (SetConsoleWindowInfo(console, TRUE, &rect) != FALSE); +} + + +/* + * ConsoleHome --- + * Home cursor. + **/ +void +ConsoleHome(HANDLE console) +{ + COORD iHome = {0,0}; + SetConsoleCursorPosition(console, iHome); +} + + +/* + * ConsolePrintA --- + * Formatted console output. + **/ +void +ConsolePrintA(HANDLE console, const char *fmt, ...) +{ + char buffer[1024]; + va_list ap; + int len; + + va_start(ap, fmt); + len = vsnprintf(buffer, _countof(buffer), fmt, ap); + SetConsoleTextAttribute(console, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE); + WriteConsoleA(console, buffer, len, NULL, NULL); + va_end(ap); +} + + +/* + * ConsolePrintW --- + * Formatted console output. + **/ +void +ConsolePrintW(HANDLE console, const wchar_t *fmt, ...) +{ + wchar_t buffer[1024]; + va_list ap; + int len; + + va_start(ap, fmt); + len = _vsnwprintf(buffer, _countof(buffer), fmt, ap); + SetConsoleTextAttribute(console, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE); + WriteConsoleW(console, buffer, len, NULL, NULL); + va_end(ap); +} + +/*end*/ diff --git a/mcwin32/src/kbtest/kbconsole.h b/mcwin32/src/kbtest/kbconsole.h new file mode 100644 index 0000000..8e7f7d4 --- /dev/null +++ b/mcwin32/src/kbtest/kbconsole.h @@ -0,0 +1,56 @@ +#ifndef KBCONSOLE_H_INCLUDED +#define KBCONSOLE_H_INCLUDED +#include +__CIDENT_RCSID(kbconsole_h,"$Id: kbconsole.h,v 1.2 2024/02/17 08:23:13 cvsuser Exp $") +__CPRAGMA_ONCE + +/* -*- mode: c; indent-width: 4; -*- */ +/* + * console keyboard test application + * + * Copyright (c) 2024, Adam Young. + * All rights reserved. + * + * This file is part of the WinXSH project. + * + * The applications are free software: you can redistribute it + * and/or modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation, version 3. + * + * Redistributions of source code must retain the above copyright + * notice, and must be distributed with the license document above. + * + * Redistributions in binary form must reproduce the above copyright + * notice, and must include the license document above in + * the documentation and/or other materials provided with the + * distribution. + * + * This project is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * License for more details. + * ==end== + */ + +#ifndef _WIN32_WINNT +#define _WIN32_WINNT 0x0500 +#endif +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN +#endif +#include + +void ConsoleClear(HANDLE console); +void ConsoleClearEOS(HANDLE console); +void ConsoleClearEOL(HANDLE console); + +void ConsoleHome(HANDLE console); +int ConsoleSizeSet(HANDLE console, int width, int height); + +void ConsoleHome(HANDLE console); +void ConsolePrintA(HANDLE console, const char *fmt, ...); +void ConsolePrintW(HANDLE console, const wchar_t *fmt, ...); + +#endif //KBCONSOLE_H_INCLUDED + +//end \ No newline at end of file diff --git a/mcwin32/src/kbtest/kbcurrent.c b/mcwin32/src/kbtest/kbcurrent.c new file mode 100644 index 0000000..9f50dcb --- /dev/null +++ b/mcwin32/src/kbtest/kbcurrent.c @@ -0,0 +1,195 @@ +/* -*- mode: c; indent-width: 4; -*- */ +/* + * console keyboard test application + * + * Copyright (c) 2024, Adam Young. + * All rights reserved. + * + * This file is part of the WinXSH project. + * + * The applications are free software: you can redistribute it + * and/or modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation, version 3. + * + * Redistributions of source code must retain the above copyright + * notice, and must be distributed with the license document above. + * + * Redistributions in binary form must reproduce the above copyright + * notice, and must include the license document above in + * the documentation and/or other materials provided with the + * distribution. + * + * This project is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * License for more details. + * ==end== + */ + +#ifndef _WIN32_WINNT +#define _WIN32_WINNT 0x0500 +#endif +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN +#endif +#include + +#include +#include +#include + +#include "kbdefinition.h" + +static unsigned VirtualKeys(const HKL hkl, unsigned *vk2sc); + +/* + * Keyboard definition --- + * Derive the current keyboard definition. + **/ +KBDefinition * +KBDefinitionCurrent(void) +{ + static const struct State { + unsigned shift : 1; + unsigned capital : 1; + unsigned control : 1; + unsigned alt : 1; + + } states[] = { // TODO: L/R Shift/Control/Alt + { 0, 0, 0, 0 }, // Normal + { 1, 0, 0, 0 }, // Shift + { 0, 1, 0, 0 }, // Capital + { 1, 1, 0, 0 }, // Shift-Capital + { 0, 0, 1, 0 }, // Control + { 1, 0, 1, 0 }, // Shift-Control + { 0, 0, 1, 1 }, // Control-Alt + { 1, 0, 1, 1 } // Shift-Control-Alt + }; + + const HKL hkl = GetKeyboardLayout(0); + KBDefinition *def; + unsigned vk2sc[512] = { 0 }; + BYTE keyState[256] = { 0 }; + + if (NULL == (def = (KBDefinition *)calloc(sizeof(KBDefinition), 1))) { + return NULL; + } + + VirtualKeys(hkl, vk2sc); + + // ForEach(VK) + for (unsigned idx = 0x01; idx < _countof(vk2sc); ++idx) { + const unsigned sc = vk2sc[ idx ]; + const unsigned vk = idx & 0xff; + PhysicalKey *pk; + + if (0 == sc) // void + continue; + + assert(def->PhysicalKeysCount < _countof(def->PhysicalKeys)); + if (def->PhysicalKeysCount == _countof(def->PhysicalKeys)) { + break; // overflow + } + pk = def->PhysicalKeys + def->PhysicalKeysCount++; + + pk->SC = sc; + pk->VK = vk; + + GetKeyNameTextW(sc << 16, pk->Name, _countof(pk->Name)-1); + if (pk->Name[0] < ' ') // unprintable + pk->Name[0] = 0; + + for (unsigned s = 0; s < _countof(states); ++s) { + const struct State *state = states + s; + wchar_t keys[4]; + + keyState[VK_SHIFT] = (state->shift ? 0x80 : 0); + keyState[VK_CONTROL] = (state->control ? 0x80 : 0); + keyState[VK_MENU] = (state->alt ? 0x80 : 0); + keyState[VK_CAPITAL] = (state->capital ? 0x01 : 0); + + if (1 == ToUnicodeEx(vk, sc, keyState, keys, _countof(keys), 0, hkl)) { + PhysicalResults *results = def->Results + def->ResultsCount++; + + if (pk->Count++ == 0) + pk->Results = results; + assert(pk->Results + (pk->Count - 1) == results); + + if (keys[0] >= ' ') { // printable + results->Text[0] = keys[0]; + } else { + results->TextCodepoints = keys[0]; + } + + if (state->shift) + results->With |= WITH_SHIFT; + if (state->capital) + results->With |= WITH_CAPITAL; + if (state->control) + results->With |= WITH_CONTROL; + if (state->alt) + results->With |= WITH_MENU; + } + } + } + + return def; +} + + +/* + * VirtualKeys --- + * Iterate Scan Code (SC) values and get the valid Virtual Key (VK) values for them. + **/ +static unsigned +VirtualKeys(const HKL hkl, unsigned *vk2sc) +{ + unsigned count = 0; + +//#define VKDUMP +#if defined(VKDUMP) + printf("\n"); + printf(" SC VK\n"); + printf(" ===========================================\n"); +#endif + + // Iterate Scan Code (SC) values and get the valid Virtual Key (VK) values in it. + for (unsigned sc = 0x01; sc <= 0x79; ++sc) { // standard, #01..#79 + unsigned vk = MapVirtualKeyExW(sc, MAPVK_VSC_TO_VK_EX, hkl); + if (vk) { + assert(vk <= 0xff); + if (0 == vk2sc[vk]) { // unique + vk2sc[vk] = sc; + } +#if defined(VKDUMP) + printf("%c%02x %02x - %s\n", (vk2sc[vk] == sc ? ' ' : '*'), + sc, vk, KBVirtualKeyName(vk)); +#endif + ++count; + } + } + + for (unsigned sc = 0xe001; sc <= 0xe079; ++sc) { // enhanced 0xE001..0xE079 + unsigned vk = MapVirtualKeyExW(sc, MAPVK_VSC_TO_VK_EX, hkl); + if (vk) { + assert(vk <= 0xff); + if (0 == vk2sc[vk|0x100]) { // unique + vk2sc[vk|0x100] = sc; + } +#if defined(VKDUMP) + printf("%c%04x %02x - %s\n", (vk2sc[vk|0x100] == sc ? ' ' : '*'), + sc, vk, KBVirtualKeyName(vk)); +#endif + ++count; + } + } + +#if defined(VKDUMP) + printf(" ===========================================\n"); + printf(" Total: %u\n", count); +#endif + + return count; +} + +//end \ No newline at end of file diff --git a/mcwin32/src/kbtest/kbdefinition.c b/mcwin32/src/kbtest/kbdefinition.c new file mode 100644 index 0000000..bb15882 --- /dev/null +++ b/mcwin32/src/kbtest/kbdefinition.c @@ -0,0 +1,470 @@ +/* -*- mode: c; indent-width: 4; -*- */ +/* + * console keyboard test application + * + * Copyright (c) 2024, Adam Young. + * All rights reserved. + * + * This file is part of the WinXSH project. + * + * The applications are free software: you can redistribute it + * and/or modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation, version 3. + * + * Redistributions of source code must retain the above copyright + * notice, and must be distributed with the license document above. + * + * Redistributions in binary form must reproduce the above copyright + * notice, and must include the license document above in + * the documentation and/or other materials provided with the + * distribution. + * + * This project is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * License for more details. + * ==end== + */ + +#ifndef _WIN32_WINNT +#define _WIN32_WINNT 0x0500 +#endif +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN +#endif +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include "kbdefinition.h" +#include "kbvirtualextra.h" +#include "kbmap.h" + + +#if !defined(_countof) +#define _countof(a) (sizeof(a)/sizeof(a[0])) +#endif + +typedef enum Element { + elmNone = 0, + elmKeyboardLayout = 1, + elmPhysicalKeys = 2, + elmPK = 3, + elmResult = 4, + elmDeadKeyTable = 51, + elmDeadKeyTableResult = 52 +} Element; + +typedef struct { + XML_Parser parser; + Element element; + KBDefinition *layout; + FILE *file; + char buffer[8 * 1024]; + char error[256]; + PhysicalKey *current; +} ParserContext; + +static int __cdecl PhysicalKeysCompare(const void *a, const void *b); +static void XMLCALL OnStartElement(void *data, const char *name, const char **attrs); +static void XMLCALL OnEndElement(void *data, const char *name); +static void XMLCALL OnTextElement(void *data, const char *s, int len); + + +/* + * Keyboard definition --- + * Load an external keyboard definition. + **/ +KBDefinition * +KBDefinitionLoad(const char *source) +{ + XML_Parser parser = NULL; + ParserContext *ctx = NULL; + KBDefinition *ret = NULL; + + if (NULL == (parser = XML_ParserCreate(NULL))) { + printf("Failed to create XML parser."); + return NULL; + } + + if (NULL == (ctx = (ParserContext *)calloc(sizeof(ParserContext), 1))) { + printf("XML parser error: alloc context\n"); + + } else if (NULL == (ctx->layout = (KBDefinition *)calloc(sizeof(KBDefinition), 1))) { + printf("XML parser error: alloc context\n"); + + } else { + XML_SetElementHandler(parser, OnStartElement, OnEndElement); + XML_SetCharacterDataHandler(parser, OnTextElement); + XML_SetUserData(parser, ctx); + + if (NULL == (ctx->file = fopen(source, "r"))) { + printf("XML parser error: opening source <%s> : %s\n", source, strerror(errno)); + + } else { + int done = XML_TRUE; + + ret = ctx->layout; + ctx->parser = parser; + do { + const int length = (int)fread(ctx->buffer, 1, sizeof(ctx->buffer), ctx->file); + + done = ((length < (int)sizeof(ctx->buffer) && feof(ctx->file)) ? XML_TRUE : XML_FALSE); + if (XML_Parse(parser, ctx->buffer, length, done) == XML_STATUS_ERROR) { + if (ctx->error[0]) { + printf("XML parser error: %s\n", ctx->error); + } else { + const enum XML_Error err = XML_GetErrorCode(parser); + printf("XML parser error: %s (%d)\n", XML_ErrorString(err), (int)err); + } + ret = NULL; + break; + } + } while (!done); + } + } + + XML_ParserFree(parser); + if (NULL == ret) { + free((void *)ctx->layout); + } else { + qsort(ret->PhysicalKeys, ret->PhysicalKeysCount, sizeof(ret->PhysicalKeys[0]), PhysicalKeysCompare); + } + free((void *)ctx); + return ret; +} + + +static int __cdecl +PhysicalKeysCompare(const void *a, const void *b) +{ + const PhysicalKey *v1 = (const PhysicalKey *)(a), *v2 = (const PhysicalKey *)(b); + if (v1->VK < v2->VK) + return -1; + if (v1->VK > v2->VK) + return 1; + return 0; +} + + +void +KBDefinitionFree(KBDefinition *layout) +{ + free(layout); +} + + +/////////////////////////////////////////////////////////////////////////////// +// Parser callbacks +// +// Example: https://kbdlayout.info/kbdgr/download/xml +// +// +// +// +// +// +// +// +// : +// +// +// + +static const char tagKeyboardLayout[] = "KeyboardLayout"; +static const char tagPhysicalKeys[] = "PhysicalKeys"; +static const char tagPK[] = "PK"; +static const char tagResult[] = "Result"; +static const char tagDeadKeyTable[] = "DeadKeyTable"; + +static int AttributeBOOL(const char *value); +static unsigned AttributeWITH(const char *value); + +static void +ParserError(ParserContext* ctx, const char *fmt, ...) +{ + va_list ap; + int len; + + va_start(ap, fmt); + len = snprintf(ctx->error, sizeof(ctx->error)-1, "%u: ", (unsigned)XML_GetCurrentLineNumber(ctx->parser)); + vsnprintf(ctx->error + len, (sizeof(ctx->error) - 1) - len, fmt, ap); + XML_StopParser(ctx->parser, XML_FALSE); + va_end(ap); +} + + +static void XMLCALL +OnStartElement(void *data, const char *name, const char **attrs) +{ + ParserContext* ctx = (ParserContext*)(data); + KBDefinition *layout = ctx->layout; + + if (elmDeadKeyTable == ctx->element) { + if (0 == strcmp(name, tagResult)) { + ctx->element = elmDeadKeyTableResult; + return; + } + ParserError(ctx, "<%s/%s> expected", tagDeadKeyTable, tagResult); + + } else if (elmResult == ctx->element) { + if (0 == strcmp(name, tagDeadKeyTable)) { + ctx->element = elmDeadKeyTable; + return; + } + ParserError(ctx, "<%s> expected", tagResult); + + } else if (elmPK == ctx->element) { + if (0 == strcmp(name, tagResult)) { + PhysicalResults *results; + + ctx->element = elmResult; + if (layout->ResultsCount > _countof(layout->Results)) { + ParserError(ctx, "<%s> key element limit of %s exceeded", tagPK, _countof(layout->Results)); + return; + } + + assert((0 == ctx->current->Count && NULL == ctx->current->Results) || (0 != ctx->current->Count && NULL != ctx->current->Results)); + if (0 == ctx->current->Count) { + ctx->current->Results = layout->Results + layout->ResultsCount; + } + results = ctx->current->Results + ctx->current->Count++; + ++layout->ResultsCount; + + for (unsigned i = 0; attrs[i];) { + const char *tag = attrs[i++], *value = attrs[i++]; + + if (0 == strcmp(tag, "Text")) { + MultiByteToWideChar(CP_UTF8, 0, value, -1, results->Text, _countof(results->Text)-1); + + } else if (0 == strcmp(tag, "TextCodepoints")) { + results->TextCodepoints = (wchar_t)strtoul(value, 0, 16); + + } else if (0 == strcmp(tag, "VK")) { + if (results->VK) { + ParserError(ctx, "<%s> duplicate 'VK' value <%s>", tagResult, value); + return; + } + if (0 == (results->VK = KBVirtualKeyValue(value))) { + ParserError(ctx, "<%s> unknown 'VK' value <%s>", tagResult, value); + return; + } + + } else if (0 == strcmp(tag, "With")) { + if (results->With) { + ParserError(ctx, "<%s> duplicate 'With' value <%s>", tagResult, value); + return; + } + if (0 == (results->With = AttributeWITH(value))) { + ParserError(ctx, "<%s> unknown 'With' value <%s>", tagResult, value); + return; + } + + } else { + ParserError(ctx, "<%s> unexpected attribute <%s>", tagResult, tag); + return; + } + } + return; + } + ParserError(ctx, "<%s> expected", tagResult); + + } else if (elmPhysicalKeys == ctx->element) { + if (0 == strcmp(name, tagPK)) { + PhysicalKey *pk; + + ctx->element = elmPK; + + if (layout->PhysicalKeysCount > _countof(layout->PhysicalKeys)) { + ParserError(ctx, "<%s> key element limit of %s exceeded", tagPK, _countof(layout->PhysicalKeys)); + return; + } + pk = ctx->current = layout->PhysicalKeys + layout->PhysicalKeysCount++; + + for (unsigned i = 0; attrs[i];) { + const char *tag = attrs[i++], *value = attrs[i++]; + + if (0 == strcmp(tag, "SC")) { + if (pk->SC) { + ParserError(ctx, "<%s> duplicate 'SC' value <%s>", tagPK, value); + return; + } + pk->SC = (unsigned)strtoul(value, 0, 16); + + } else if (0 == strcmp(tag, "VK")) { + if (pk->VK) { + ParserError(ctx, "<%s> duplicate 'VK' value <%s>", tagPK, value); + return; + } + if (0 == (pk->VK = KBVirtualKeyValue(value))) { + ParserError(ctx, "<%s> unknown 'VK' value <%s>", tagPK, value); + return; + } + + } else if (0 == strcmp(tag, "Name")) { + MultiByteToWideChar(CP_UTF8, 0, value, -1, pk->Name, _countof(pk->Name)-1); + + } else { + ParserError(ctx, "<%s> unexpected attribute <%s>", tagPK, tag); + return; + } + } + return; + } + ParserError(ctx, "<%s> expected", tagPK); + + } else if (elmKeyboardLayout == ctx->element) { + if (0 == strcmp(name, tagPhysicalKeys)) { + ctx->element = elmPhysicalKeys; + return; + } + ParserError(ctx, "<%s> expected", tagPhysicalKeys); + + } else { + if (0 == strcmp(name, tagKeyboardLayout)) { + ctx->element = elmKeyboardLayout; + for (unsigned i = 0; attrs[i];) { + const char *tag = attrs[i++], *value = attrs[i++]; + + if (0 == strcmp(tag, "RightAltIsAltGr")) { + layout->RightAltIsAltGr = AttributeBOOL(value); + } else if (0 == strcmp(tag, "ShiftCancelsCapsLock")) { + layout->ShiftCancelsCapsLock = AttributeBOOL(value); + } else if (0 == strcmp(tag, "ChangesDirectionality")) { + layout->ChangesDirectionality = AttributeBOOL(value); + } else { + ParserError(ctx, "<%s> unexpected attribute <%s>", tagKeyboardLayout, tag); + return; + } + } + return; + } + ParserError(ctx, "<%s> expected", tagKeyboardLayout); + } +} + + +static void XMLCALL +OnEndElement(void *data, const char *name) +{ + ParserContext* ctx = (ParserContext*)(data); + + if (elmDeadKeyTableResult == ctx->element) { + if (0 == strcmp(name, tagResult)) { + ctx->element = elmDeadKeyTable; + return; + } + ParserError(ctx, "<%s> expected", tagResult); + + } else if (elmDeadKeyTable == ctx->element) { + if (0 == strcmp(name, tagDeadKeyTable)) { + ctx->element = elmResult; + return; + } + ParserError(ctx, "<%s> expected", tagDeadKeyTable); + + } else if (elmResult == ctx->element) { + if (0 == strcmp(name, tagResult)) { + ctx->element = elmPK; + return; + } + ParserError(ctx, "<%s> expected", tagResult); + + } else if (elmPK == ctx->element) { + if (0 == strcmp(name, tagPK)) { + ctx->element = elmPhysicalKeys; + return; + } + ParserError(ctx, "<%s> expected", tagPK); + + } else if (elmPhysicalKeys == ctx->element) { + if (0 == strcmp(name, tagPhysicalKeys)) { + ctx->element = elmKeyboardLayout; + return; + } + ParserError(ctx, "<%s> expected", tagPhysicalKeys); + + } else if (elmKeyboardLayout == ctx->element) { + if (0 == strcmp(name, tagKeyboardLayout)) { + ctx->element = elmNone; + return; + } + ParserError(ctx, "<%s> expected", tagKeyboardLayout); + + } else { + ParserError(ctx, "expected token"); + } +} + + +static void XMLCALL +OnTextElement(void *data, const char *s, int len) +{ + ParserContext* ctx = (ParserContext*)(data); + if (NULL == ctx || 0 == len || s == NULL) return; +} + + +static int +AttributeBOOL(const char *value) +{ + if (0 == strcmp(value, "true")) return 1; + if (0 == strcmp(value, "false")) return 0; + return -1; +} + + +static unsigned +AttributeWITH(const char *value) +{ + static const struct mvk { + char name[16]; + unsigned len; + unsigned value; +#define MVK(__v,__c) { #__v, sizeof(#__v)-1, __c } + } mvks[] = { + MVK(VK_SHIFT, WITH_SHIFT), + MVK(VK_CONTROL, WITH_CONTROL), + MVK(VK_CAPITAL, WITH_CAPITAL), + MVK(VK_NUMLOCK, WITH_NUMLOCK), + MVK(VK_MENU, WITH_MENU) + }; + + unsigned ret = 0; + if (value && *value) { + do { + const char *end; + unsigned len = 0; + while (' ' == *value) ++value; // leading whitespace + for (end = value; *end;) { + if (*end == ' ') break; + ++end, ++len; + } + if (len) { + unsigned t_ret = 0; + for (const struct mvk *it = mvks, *itend = it + _countof(mvks); it != itend; ++it) { + if (len == it->len && 0 == strncmp(value, it->name, len)) { + t_ret = it->value; + break; + } + } + if (0 == t_ret) return 0; // unmatched + ret |= t_ret; + } + value = end; + } while (*value); + } + return ret; +} + +//end diff --git a/mcwin32/src/kbtest/kbdefinition.h b/mcwin32/src/kbtest/kbdefinition.h new file mode 100644 index 0000000..1ccf6bd --- /dev/null +++ b/mcwin32/src/kbtest/kbdefinition.h @@ -0,0 +1,71 @@ +#ifndef KBDEFINITION_H_INCLUDED +#define KBDEFINITION_H_INCLUDED +#include +__CIDENT_RCSID(kbdefinition_h,"$Id: kbdefinition.h,v 1.4 2024/02/17 08:23:13 cvsuser Exp $") +__CPRAGMA_ONCE + +/* -*- mode: c; indent-width: 4; -*- */ +/* + * console keyboard test application + * + * Copyright (c) 2024, Adam Young. + * All rights reserved. + * + * This file is part of the WinXSH project. + * + * The applications are free software: you can redistribute it + * and/or modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation, version 3. + * + * Redistributions of source code must retain the above copyright + * notice, and must be distributed with the license document above. + * + * Redistributions in binary form must reproduce the above copyright + * notice, and must include the license document above in + * the documentation and/or other materials provided with the + * distribution. + * + * This project is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * License for more details. + * ==end== + */ + +typedef struct Result { + unsigned VK; + wchar_t Text[31]; + wchar_t TextCodepoints; +#define WITH_SHIFT (1<<0) +#define WITH_CONTROL (1<<1) +#define WITH_CAPITAL (1<<2) +#define WITH_NUMLOCK (1<<3) +#define WITH_MENU (1<<4) + unsigned With; +} PhysicalResults; + +typedef struct { + unsigned VK; + unsigned SC; + wchar_t Name[31]; + unsigned Count; + PhysicalResults *Results; +} PhysicalKey; + +typedef struct KBDefinition { + int RightAltIsAltGr; + int ShiftCancelsCapsLock; + int ChangesDirectionality; + unsigned PhysicalKeysCount; + unsigned ResultsCount; + PhysicalKey PhysicalKeys[256]; + PhysicalResults Results[245*4]; +} KBDefinition; + +KBDefinition *KBDefinitionCurrent(void); +KBDefinition *KBDefinitionLoad(const char *source); +void KBDefinitionFree(KBDefinition *); + +#endif //KBDEFINITION_H_INCLUDED + +//end \ No newline at end of file diff --git a/mcwin32/src/kbtest/kbdump.c b/mcwin32/src/kbtest/kbdump.c new file mode 100644 index 0000000..979753e --- /dev/null +++ b/mcwin32/src/kbtest/kbdump.c @@ -0,0 +1,117 @@ +#include +__CIDENT_RCSID(kblayout_c, "$Id: kbdump.c,v 1.4 2024/02/17 08:23:13 cvsuser Exp $") + +/* -*- mode: c; indent-width: 4; -*- */ +/* + * console keyboard test application + * + * Copyright (c) 2024, Adam Young. + * All rights reserved. + * + * This file is part of the WinXSH project. + * + * The applications are free software: you can redistribute it + * and/or modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation, version 3. + * + * Redistributions of source code must retain the above copyright + * notice, and must be distributed with the license document above. + * + * Redistributions in binary form must reproduce the above copyright + * notice, and must include the license document above in + * the documentation and/or other materials provided with the + * distribution. + * + * This project is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * License for more details. + * ==end== + */ + +#ifndef _WIN32_WINNT +#define _WIN32_WINNT 0x0500 +#endif +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN +#endif +#include + +#include +#include +#include + +#include "kbdump.h" +#include "kbdefinition.h" +#include "kbmap.h" + + +/* + * KBDump --- + * Dump the keyboard scan-code, virtual-key definition. + **/ +void +KBDump(const struct KBDefinition *def) +{ + static const unsigned with[] = { + 0, + WITH_SHIFT, + WITH_CAPITAL, + WITH_SHIFT|WITH_CAPITAL, + WITH_CONTROL, + WITH_SHIFT|WITH_CONTROL, + WITH_CONTROL|WITH_MENU, + WITH_SHIFT|WITH_CONTROL|WITH_MENU + }; + + printf("\n"); + printf(" SC VK TEXT _ s C sC c sc ca sca\n"); + printf(" ==========================================================================================================================================\n"); + // 1234567 12 - 123456789012345678901234567890 123456789012345678901234567890 1234567 1234567 1234567 1234567 1234567 1234567 1234567 1234567 + + for (const PhysicalKey *pk = def->PhysicalKeys, *end = pk + def->PhysicalKeysCount; pk != end; ++pk) { + const unsigned sc = pk->SC; + const unsigned vk = pk->VK; + wchar_t values[_countof(with)] = {0}; + + for (const PhysicalResults *rs = pk->Results, *rsend = rs + pk->Count; rs != rsend; ++rs) { + for (unsigned w = 0; w < _countof(with); ++w) { + if (rs->With == with[w]) { + if (rs->TextCodepoints) { + values[w] = rs->TextCodepoints; + } else { + values[w] = rs->Text[0]; + } + break; + } + } + } + + if (0xE000 & sc) { + printf(" %04x ", sc); + } else { + printf(" %02x ", sc); + } + + printf("%02x - %-30.30s ", vk, KBVirtualKeyName(vk)); + wprintf(L"%-30.30s ", pk->Name); + + for (unsigned v = 0; v < _countof(values); ++v) { + const wchar_t value = values[v]; + if (value) { + if (value & 0xff00) { + printf("%04x ", value); + } else { + printf("%02x ", value); + } + } else { + printf("-1 "); + } + } + + printf("\n"); + } + printf("\n"); +} + +//end diff --git a/mcwin32/src/kbtest/kbdump.h b/mcwin32/src/kbtest/kbdump.h new file mode 100644 index 0000000..9ad81e5 --- /dev/null +++ b/mcwin32/src/kbtest/kbdump.h @@ -0,0 +1,40 @@ +#ifndef KBDUMP_H_INCLUDED +#define KBDUMP_H_INCLUDED +#include +__CIDENT_RCSID(kbdump_h,"$Id: kbdump.h,v 1.3 2024/02/17 08:23:13 cvsuser Exp $") +__CPRAGMA_ONCE + +/* -*- mode: c; indent-width: 4; -*- */ +/* + * console keyboard test application + * + * Copyright (c) 2024, Adam Young. + * All rights reserved. + * + * This file is part of the WinXSH project. + * + * The applications are free software: you can redistribute it + * and/or modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation, version 3. + * + * Redistributions of source code must retain the above copyright + * notice, and must be distributed with the license document above. + * + * Redistributions in binary form must reproduce the above copyright + * notice, and must include the license document above in + * the documentation and/or other materials provided with the + * distribution. + * + * This project is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * License for more details. + * ==end== + */ + +struct KBDefinition; +void KBDump(const struct KBDefinition *def); + +#endif //KBDUMP_H_INCLUDED + +//end diff --git a/mcwin32/src/kbtest/kblayout.c b/mcwin32/src/kbtest/kblayout.c new file mode 100644 index 0000000..8c537a4 --- /dev/null +++ b/mcwin32/src/kbtest/kblayout.c @@ -0,0 +1,386 @@ +#include +__CIDENT_RCSID(kblayout_c, "$Id: kblayout.c,v 1.5 2024/02/17 08:23:13 cvsuser Exp $") + +/* -*- mode: c; indent-width: 4; -*- */ +/* + * console keyboard test application + * + * Copyright (c) 2015 - 2024, Adam Young. + * All rights reserved. + * + * This file is part of the WinXSH project. + * + * The applications are free software: you can redistribute it + * and/or modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation, version 3. + * + * Redistributions of source code must retain the above copyright + * notice, and must be distributed with the license document above. + * + * Redistributions in binary form must reproduce the above copyright + * notice, and must include the license document above in + * the documentation and/or other materials provided with the + * distribution. + * + * This project is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * License for more details. + * ==end== + */ + +#ifndef _WIN32_WINNT +#define _WIN32_WINNT 0x0500 +#endif +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN +#endif +#include +#include + +#include "kbvirtualextra.h" +#include "kbdefinition.h" +#include "kblayout.h" + +enum USScancode { + SC_Escape = 0x01, + SC_1 = 0x02, + SC_2 = 0x03, + SC_3 = 0x04, + SC_4 = 0x05, + SC_5 = 0x06, + SC_6 = 0x07, + SC_7 = 0x08, + SC_8 = 0x09, + SC_9 = 0x0A, + SC_0 = 0x0B, + SC_Minus = 0x0C, + SC_Equals = 0x0D, + SC_Backspace = 0x0E, + SC_Tab = 0x0F, + SC_Q = 0x10, + SC_W = 0x11, + SC_E = 0x12, + SC_R = 0x13, + SC_T = 0x14, + SC_Y = 0x15, + SC_U = 0x16, + SC_I = 0x17, + SC_O = 0x18, + SC_P = 0x19, + SC_BracketLeft = 0x1A, + SC_BracketRight = 0x1B, + SC_Enter = 0x1C, + SC_ControlLeft = 0x1D, + SC_A = 0x1E, + SC_S = 0x1F, + SC_D = 0x20, + SC_F = 0x21, + SC_G = 0x22, + SC_H = 0x23, + SC_J = 0x24, + SC_K = 0x25, + SC_L = 0x26, + SC_Semicolon = 0x27, + SC_Apostrophe = 0x28, + SC_Grave = 0x29, + SC_ShiftLeft = 0x2A, + SC_Backslash = 0x2B, + SC_Z = 0x2C, + SC_X = 0x2D, + SC_C = 0x2E, + SC_V = 0x2F, + SC_B = 0x30, + SC_N = 0x31, + SC_M = 0x32, + SC_Comma = 0x33, + SC_Preiod = 0x34, + SC_Slash = 0x35, + SC_ShiftRight = 0x36, + SC_Numpad_multiply = 0x37, + SC_AltLeft = 0x38, + SC_Space = 0x39, + SC_CapsLock = 0x3A, + SC_F1 = 0x3B, + SC_F2 = 0x3C, + SC_F3 = 0x3D, + SC_F4 = 0x3E, + SC_F5 = 0x3F, + SC_F6 = 0x40, + SC_F7 = 0x41, + SC_F8 = 0x42, + SC_F9 = 0x43, + SC_F10 = 0x44, + SC_NumLock = 0x45, + SC_ScrollLock = 0x46, + SC_Numpad_7 = 0x47, + SC_Numpad_8 = 0x48, + SC_Numpad_9 = 0x49, + SC_Numpad_minus = 0x4A, + SC_Numpad_4 = 0x4B, + SC_Numpad_5 = 0x4C, + SC_Numpad_6 = 0x4D, + SC_Numpad_plus = 0x4E, + SC_Numpad_1 = 0x4F, + SC_Numpad_2 = 0x50, + SC_Numpad_3 = 0x51, + SC_Numpad_0 = 0x52, + SC_Numpad_period = 0x53, + SC_Alt_printScreen = 0x54, /* Alt + print screen. MapVirtualKeyEx( VK_SNAPSHOT, MAPVK_VK_TO_VSC_EX, 0 ) returns scancode 0x54. */ + SC_BracketAngle = 0x56, /* Key between the left shift and Z. */ + SC_F11 = 0x57, + SC_F12 = 0x58, + SC_OEM_1 = 0x5a, /* VK_OEM_WSCTRL */ + SC_OEM_2 = 0x5b, /* VK_OEM_FINISH */ + SC_OEM_3 = 0x5c, /* VK_OEM_JUMP */ + SC_EraseEOF = 0x5d, + SC_OEM_4 = 0x5e, /* VK_OEM_BACKTAB */ + SC_OEM_5 = 0x5f, /* VK_OEM_AUTO */ + SC_Zoom = 0x62, + SC_Help = 0x63, + SC_F13 = 0x64, + SC_F14 = 0x65, + SC_F15 = 0x66, + SC_F16 = 0x67, + SC_F17 = 0x68, + SC_F18 = 0x69, + SC_F19 = 0x6a, + SC_F20 = 0x6b, + SC_F21 = 0x6c, + SC_F22 = 0x6d, + SC_F23 = 0x6e, + SC_OEM_6 = 0x6f, /* VK_OEM_PA3 */ + SC_Katakana = 0x70, + SC_OEM_7 = 0x71, /* VK_OEM_RESET */ + SC_F24 = 0x76, + SC_Sbcschar = 0x77, + SC_Convert = 0x79, + SC_Nonconvert = 0x7B, /* VK_OEM_PA1 */ + + SC_Media_previous = 0xE010, + SC_Media_next = 0xE019, + SC_Numpad_enter = 0xE01C, + SC_ControlRight = 0xE01D, + SC_Volume_mute = 0xE020, + SC_Launch_app2 = 0xE021, + SC_Media_play = 0xE022, + SC_Media_stop = 0xE024, + SC_Volume_down = 0xE02E, + SC_Volume_up = 0xE030, + SC_Browser_home = 0xE032, + SC_Numpad_divide = 0xE035, + SC_PrintScreen = 0xE037, + /* + SC_PrintScreen: + - mAke: 0xE02A 0xE037 + - bReak: 0xE0B7 0xE0AA + - MApVirtualKeyEx( VK_SNAPSHOT, MAPVK_VK_TO_VSC_EX, 0 ) returns scancode 0x54; + - THere is no VK_KEYDOWN with VK_SNAPSHOT. + */ + SC_AltRight = 0xE038, + SC_Cancel = 0xE046, /* CTRL + Pause */ + SC_Home = 0xE047, + SC_ArrowUp = 0xE048, + SC_PageUp = 0xE049, + SC_ArrowLeft = 0xE04B, + SC_ArrowRight = 0xE04D, + SC_End = 0xE04F, + SC_ArrowDown = 0xE050, + SC_PageDown = 0xE051, + SC_Insert = 0xE052, + SC_Delete = 0xE053, + SC_MetaLeft = 0xE05B, + SC_MetaRight = 0xE05C, + SC_Application = 0xE05D, + SC_Power = 0xE05E, + SC_Sleep = 0xE05F, + SC_Wake = 0xE063, + SC_Browser_search = 0xE065, + SC_Browser_favorites = 0xE066, + SC_Browser_refresh = 0xE067, + SC_Browser_stop = 0xE068, + SC_Browser_forward = 0xE069, + SC_Browser_back = 0xE06A, + SC_Launch_app1 = 0xE06B, + SC_Launch_email = 0xE06C, + SC_Launch_media = 0xE06D, + + SC_Pause = 0xE11D45, + /* + SC_Pause: + - make: 0xE11D 45 0xE19D C5 + - make in raw input: 0xE11D 0x45 + - break: none + - No repeat when you hold the key down + */ +}; + + +/* + * KBLayoutDefault --- + * Default, US keyboard layout. + **/ +const struct KBRow ** +KBLayoutDefault(void) +{ +#define __V(__v) __v // Value helper +#define __X(__a,__b) __a##__b // Concat helper +#define AK(__k) __V(VK_##__k),__X(L,#__k) // Alphanum VK_[0-9][A-Z] +#define VK(__k) __V(VK_##__k) // VK_xxx +#define EK(__k) (__V(VK_##__k)|VK_ISENHANCED) // Enhanced VK_xxx +#define NK() (0xfff) // NUL key +#define AS(__c) (__c) // ASCII + + // US/AU/HK + // + // --------------------------------------------------------------------------------------------------------------------------------------- + // [ESC ] [ F1 ][ F2 ][ F3 ][ F4 ] [ F5 ][ F6 ][ F7 ][ F8 ] [ F9 ][ F10][ F11][ F12] [Prt] [Slk] [Pse] + // + // [ ` ] [ 1 ][ 2 ][ 3 ][ 4 ][ 5 ][ 6 ][ 7 ][ 8 ][ 9 ][ 0 ][ - ][ = ][ _<_ ] [INS] [HOM] [PUp] [NUM] [ / ] [ * ] [ - ] + // [ |- ] [ Q ][ W ][ E ][ R ][ T ][ Y ][ U ][ I ][ O ][ P ][ { ][ } ] [.....] [DEL] [END] [PDn] [ 7 ] [ 8 ] [ 9 ] | | + // [CAPS.] [ A ][ S ][ D ][ F ][ G ][ H ][ J ][ K ][ L ][ ; ][ ' ][ | ] [ENT] [ 4 ] [ 5 ] [ 6 ] | _ | + // [SHIFT...] [ \ ][ Z ][ X ][ C ][ V ][ B ][ N ][ M ][ , ][ . ][ / ] [SHIFT...] [ ^ ] [ 1 ] [ 2 ] [ 3 ] | | + // [CTRL_][_WIN_][_ALT_][ SPACE ][_ALT_][_APP_][MENU][_CTRL] [ < ] [ V ] [ > ] [ IN ] [ . ] | _ | + // + // + static const struct KBRow row1[] = { + {VK(ESCAPE),L"ESC"},{VK(F1),L"F1"},{VK(F2),L"F2"},{VK(F3),L"F3"},{VK(F4),L"F4"},{VK(F5),L"F5"},{VK(F6),L"F6"},{VK(F7),L"F7"}, + {VK(F8),L"F8"},{VK(F9),L"F9"},{VK(F10),L"F10"},{VK(F11),L"F11"},{VK(F11),L"F12"}, + {VK(PRINT),L"PRT"},{VK(SCROLL),L"SLk"},{EK(PAUSE),L"Brk"}, + {0}}; + static const struct KBRow row2[] = { + {VK(OEM_3),L"~"},{AK(1)},{AK(2)},{AK(3)},{AK(4)},{AK(5)},{AK(6)},{AK(7)},{AK(8)},{AK(9)},{VK(OEM_MINUS),L"-"},{VK(OEM_PLUS),L"="},{VK(BACK),L"Bck"}, + {EK(INSERT),L"Ins"},{EK(HOME),L"Hom"},{EK(PRIOR),L"PUp"}, + {VK(NUMLOCK),L"Num"},{EK(DIVIDE),L"/"},{VK(MULTIPLY),L"*"},{VK(SUBTRACT),L"-"}, + {0}}; + static const struct KBRow row3[] = { + {VK(TAB),L"Tab"},{AK(Q)},{AK(W)},{AK(E)},{AK(T)},{AK(Y)},{AK(U)},{AK(I)},{AK(O)},{AK(P)},{VK(OEM_4),L"["},{VK(OEM_6),L"]"},{-1}, + {EK(DELETE),L"Del"},{EK(END),L"End"},{EK(NEXT),L"PUp"}, + {VK(NUMPAD7),L"7"},{VK(NUMPAD8),L"8"},{VK(NUMPAD9),L"9"},{VK(ADD),L"+"}, + {0}}; + static const struct KBRow row4[] = { + {VK(CAPITAL),L"Cap"},{AK(A)},{AK(S)},{AK(D)},{AK(F)},{AK(G)},{AK(H)},{AK(J)},{AK(K)},{VK(OEM_1),L";"},{VK(OEM_7),L"\'"},{VK(OEM_5),L"\\"},{VK(RETURN),L"CR"}, + {-1},{-1},{-1}, + {VK(NUMPAD4),L"4"},{VK(NUMPAD5),L"5"},{VK(NUMPAD6),L"6"},{-1}, + {0}}; + static const struct KBRow row5[] = { + {VK(LSHIFT),L"LSH"},{VK(OEM_102),L"\\"},{AK(Z)},{AK(X)},{AK(C)},{AK(V)},{AK(B)},{AK(N)},{AK(M)},{VK(OEM_COMMA),L","},{VK(OEM_PERIOD),L"."},{VK(OEM_2),L"/"},{VK(RSHIFT),L"RSH"}, + {-1},{EK(UP),L"\u25B2"},{-1}, + {VK(NUMPAD1),L"1"},{VK(NUMPAD2),L"2"},{VK(NUMPAD3),L"3"},{EK(RETURN),L"CR"}, + {0}}; + static const struct KBRow row6[] = { + {VK(LCONTROL),L"Ctrl"},{EK(LWIN),L"Win"},{VK(LMENU),L"Alt"},{VK(SPACE),L"",44},{EK(RMENU),L"AGr"},{EK(RWIN),L"App"},{VK(APPS),L"\u2261"},{EK(RCONTROL),L"Ctrl"}, + {EK(LEFT),L"\u25C4"},{EK(DOWN),L"\u25BC"},{EK(RIGHT),L"\u25BA"}, + {VK(NUMPAD0),L" 0 ",12},{VK(DECIMAL),L"."}, + {0}}; + static const struct KBRow *rows[] = + { row1, row2, row3, row4, row5, row6, NULL }; + +#undef __V +#undef __X +#undef AK +#undef VK +#undef EK +#undef NK +#undef AS + return rows; +} + + +/* + * KBLayoutBuild --- + * Build a layout from the supplied definition. + **/ +const struct KBRow ** +KBLayoutBuild(const KBDefinition *layout) +{ + // Set-1 Scancodes (see above): + // + // --------------------------------------------------------------------------------------------------------------------------------------------- + // [ 01 ] [ 3B ][ 3C ][ 3D ][ 3E ] [ 3F ][ 40 ][ 41 ][ 42 ] [ 43 ][ 44 ][ 57 ][ 58 ] [ 54 ][ 46 ][E11D] ---- ---- ---- + // + // [ 29 ][ 02 ][ 03 ][ 04 ][ 05 ][ 06 ][ 07 ][ 08 ][ 09 ][ 00 ][ 0B ][ 0C ][ 0D ][ OE ] [E052][E047][E049] [ 45 ][E035][ 37 ][ 4A ] + // [ 0F ][ 10 ][ 11 ][ 12 ][ 13 ][ 14 ][ 15 ][ 16 ][ 17 ][ 18 ][ 19 ][ 1A ][ 1B ][ __ ] [E053][E04F][E051] [ 47 ][ 48 ][ 49 ]| 4E | + // [ 3A__ ][ 1E ][ 1F ][ 20 ][ 21 ][ 22 ][ 23 ][ 24 ][ 25 ][ 26 ][ 27 ][ 28 ][ 2B ][ 1C ] [ 4B ][ 4C ][ 4D ]| __ | + // [ 2A ][ 56 ][ 2C ][ 2D ][ 2E ][ 2F ][ 30 ][ 31 ][ 32 ][ 33 ][ 34 ][ 35 ][ 36 ] [E048] [ 4F ][ 50 ][ 51 ]|E01C| + // [ 1D ][E05B ][ 38 ][ 39 ][E038 ][E05C ][E05D ][E01D ] [E04B][E050][E04D] [ 52 ][ 53 ]| __ | + // + // --------------------------------------------------------------------------------------------------------------------------------------------- + // + +#define SC(_sc) {0,L"",0,_sc} +#define SCX(_sc,_wc) {0,L"",_wc,_sc} +#define SCT(_sc,_tx) {0,_tx,0,_sc} +#define SCTX(_sc,_tx,_wc) {0,_tx,_wc,_sc} +#define SP(_wc) {-1,NULL,_wc,0} + + static struct KBRow row1[] = { + SC(0x01),{-1},SC(0x3B),SC(0x3C),SC(0x3D),SC(0x3E),SP(2),SC(0x3F),SC(0x40),SC(0x41),SC(0x42),SP(2),SC(0x43),SC(0x44),SC(0x57),SC(0x58), + SP(2),SC(0x54),SC(0x46),SC(0xE11D), + {0}}; + static struct KBRow row2[] = { + SC(0x29),SC(0x02),SC(0x03),SC(0x04),SC(0x05),SC(0x06),SC(0x07),SC(0x08),SC(0x09),SC(0x0A),SC(0x0B),SC(0x0C),SC(0x0D),SCX(0x0E,8), + SP(2),SC(0xE052),SC(0xE047),SC(0xE049), + SP(2),SC(0x45),SC(0xE035),SC(0x37),SC(0x4A), + {0}}; + static struct KBRow row3[] = { + SCX(0x0F,6),SC(0x10),SC(0x11),SC(0x12),SC(0x13),SC(0x14),SC(0x15),SC(0x16),SC(0x17),SC(0x18),SC(0x19),SC(0x1A),SC(0x1B),SP(10), + SP(2),SC(0xE053),SC(0xE04F),SC(0xE051), + SP(2),SC(0x47),SC(0x48),SC(0x49),{-1}, + {0}}; + static struct KBRow row4[] = { + SCX(0x3A,7),SC(0x1E),SC(0x1F),SC(0x20),SC(0x21),SC(0x22),SC(0x23),SC(0x24),SC(0x25),SC(0x26),SC(0x27),SC(0x28),SC(0x2B),SCX(0x1C,5), + SP(2),{-1},{-1},{-1}, + SP(2),SC(0x4B),SC(0x4C),SC(0x4D),SC(0x4E), + {0}}; + static struct KBRow row5[] = { + SCX(0x2A,5),SC(0x56),SC(0x2C),SC(0x2D),SC(0x2E),SC(0x2F),SC(0x30),SC(0x31),SC(0x32),SC(0x33),SC(0x34),SC(0x35),SCX(0x36,15), + SP(2),{-1},SCT(0xE048,L"\u25B2"),{-1}, + SP(2),SC(0x4F),SC(0x50),SC(0x51),{-1}, + {0}}; + static struct KBRow row6[] = { + SCX(0x1D,5),SCX(0xE05B,5),SCX(0x38,5),SCTX(0x39,L"",49),SCX(0xE038,5),SCX(0xE05C,5),SCX(0xE05D,5),SCX(0xE01D,5), + SP(2),SCT(0xE04B,L"\u25C4"),SCT(0xE050,L"\u25BC"),SCT(0xE04D,L"\u25BA"), + SP(2),SCX(0x52,12),SC(0x53),SC(0xE01C), + {0}}; + static struct KBRow *rows[] = + { row1, row2, row3, row4, row5, row6, NULL }; + + for (const PhysicalKey *pk = layout->PhysicalKeys, *end = pk + layout->PhysicalKeysCount; pk != end; ++pk) { + for (unsigned r = 0; rows[r]; ++r) { + struct KBRow *row = rows[r]; + if (0 == row->sc) continue; // void + for (;row->sc||row->vk; ++row) { + if (row->vk) continue; + if (row->sc == (int)pk->SC) { // ScanCode match + + row->vk = pk->VK; + if ((row->sc & 0xFF00) == 0xE000) + row->vk |= VK_ISENHANCED; // Enhanced + + if (pk->Results && pk->Results->Text[0]) { + row->label1 = pk->Results->Text; + } else { + if (0 == row->label1[0] && pk->Name[0]) { + row->label1 = pk->Name; + } + } + + for (const PhysicalResults *rs = pk->Results, *rsend = rs + pk->Count; rs != rsend; ++rs) { // Results + if (rs->With == WITH_SHIFT) { // Shift + row->label2 = rs->Text; + } else if (rs->With == (WITH_CONTROL|WITH_MENU)) { // AltGr + row->label3 = rs->Text; + } + } + + r = 5; // done + break; + } + } + } + } + return (const struct KBRow **)(rows); +} + +//end diff --git a/mcwin32/src/kbtest/kblayout.h b/mcwin32/src/kbtest/kblayout.h new file mode 100644 index 0000000..b05e41e --- /dev/null +++ b/mcwin32/src/kbtest/kblayout.h @@ -0,0 +1,51 @@ +#ifndef KBLAYOUT_H_INCLUDED +#define KBLAYOUT_H_INCLUDED +#include +__CIDENT_RCSID(kblayout_h,"$Id: kblayout.h,v 1.2 2024/02/17 08:23:13 cvsuser Exp $") +__CPRAGMA_ONCE + +/* -*- mode: c; indent-width: 4; -*- */ +/* + * console keyboard test application + * + * Copyright (c) 2024, Adam Young. + * All rights reserved. + * + * This file is part of the WinXSH project. + * + * The applications are free software: you can redistribute it + * and/or modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation, version 3. + * + * Redistributions of source code must retain the above copyright + * notice, and must be distributed with the license document above. + * + * Redistributions in binary form must reproduce the above copyright + * notice, and must include the license document above in + * the documentation and/or other materials provided with the + * distribution. + * + * This project is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * License for more details. + * ==end== + */ + +struct KBRow { +#define VK_ISENHANCED 0x100 // Enhanced VirtualKey + + int vk; // Virtual key {-1} = None. + const wchar_t *label1; // First key label. + int width; // Optional, text is centred width. + int sc; // Optional, Scancode. + const wchar_t *label2; // OPtional, second key label. + const wchar_t *label3; // Optional, third key label (AltGr). +}; + +const struct KBRow **KBLayoutDefault(void); +const struct KBRow **KBLayoutBuild(const struct KBDefinition *def); + +#endif //KBLAYOUT_H_INCLUDED + +//end \ No newline at end of file diff --git a/mcwin32/src/kbtest/kbmap.c b/mcwin32/src/kbtest/kbmap.c new file mode 100644 index 0000000..2495957 --- /dev/null +++ b/mcwin32/src/kbtest/kbmap.c @@ -0,0 +1,1027 @@ +#include +__CIDENT_RCSID(kbmap_c,"$Id: kbmap.c,v 1.8 2024/02/25 16:45:12 cvsuser Exp $") + +/* -*- mode: c; indent-width: 4; -*- */ +/* + * libtermemu console driver + * + * Copyright (c) 2015 - 2024, Adam Young. + * All rights reserved. + * + * This file is part of the WinXSH project. + * + * The applications are free software: you can redistribute it + * and/or modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation, version 3. + * + * Redistributions of source code must retain the above copyright + * notice, and must be distributed with the license document above. + * + * Redistributions in binary form must reproduce the above copyright + * notice, and must include the license document above in + * the documentation and/or other materials provided with the + * distribution. + * + * This project is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * License for more details. + * ==end== + */ + +#ifndef _WIN32_WINNT +#define _WIN32_WINNT 0x0500 +#endif +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN +#endif +#include + +#include +#include +#include + +#include "kbvirtualextra.h" +#include "kbmap.h" + +struct xkb { +#define VK_VOID 0xffff +#define __VKVALUE(__v) __v +#define VK(__v) { __VKVALUE(VK_##__v), VK_VOID, 0, #__v } +#define VKN(__v,__n) { __VKVALUE(VK_##__v), VK_VOID, 0, #__v, __n } +#define VKALT(__v,__a) { __VKVALUE(VK_##__v), VK_VOID, __a, #__v } +#define VKALTN(__v,__a,__n) { __VKVALUE(VK_##__v), VK_VOID, __a, #__v, __n } +#define VKSCAN(__v,__s) { __VKVALUE(VK_##__v), __s, 0, #__v } +#define VKSCANALT(__v,__s,__a) { __VKVALUE(VK_##__v), __s, __a, #__v } +#define VKSCANALTN(__v,__s,__a,__n) { __VKVALUE(VK_##__v), __s, __a, #__v, __n } + + WORD wVirtualKeyCode; // virtual key code. + WORD wVirtualScanCode; // optional scan-code. + WORD vkext; // alternative VK_ specials. + const char *vkname; // VK name. + const char *kblabel; // XKB optional label. +}; + +/* + * Standard key table. + */ +static const struct xkb standard[] = { + VK(LBUTTON), // 0x01 - Left mouse button + VK(RBUTTON), // 0x02 - Right mouse button + VK(CANCEL), // 0x03 - Control-break processing + VK(MBUTTON), // 0x04 - Middle mouse button + VK(XBUTTON1), // 0x05 - X1 mouse button + VK(XBUTTON2), // 0x06 - X2 mouse button + // 0x07 -- Reserved + VKN(BACK, "BackSpace"), // 0x08 - BACKSPACE key + VKN(TAB, "Tab"), // 0x09 - TAB key + // 0x0A-0B -- Reserved + VKN(CLEAR, "Clear"), // 0x0C - CLEAR key + VKN(RETURN, "Return"), // 0x0D - ENTER key + // 0x0E-0F -- Unassigned + VKSCANALTN(SHIFT, 0x002a, VK_LSHIFT, "Shift_L"), // 0x10 - SHIFT key + VKSCANALTN(SHIFT, 0x0036, VK_RSHIFT, "Shift_R"), + VK(SHIFT), + VKALT(CONTROL, VK_LCONTROL), // 0x11 - CTRL key + VKALT(MENU, VK_LMENU), // 0x12 - ALT key + VKN(PAUSE, "Pause"), // 0x13 - PAUSE key + VKN(CAPITAL, "Caps_Lock"), // 0x14 - CAPS LOCK key + VK(KANA), // 0x15 - IME Kana mode + VK(HANGUL), // 0x15 - IME Hangul mode (Korean) +#if defined(VK_IME_ON) + VK(IME_ON), // 0x16 - IME On +#endif + VK(JUNJA), // 0x17 - IME Junja mode + VK(FINAL), // 0x18 - IME final mode + VK(HANJA), // 0x19 - IME Hanja mode (Korean) + VK(KANJI), // 0x19 - IME Kanji mode +#if defined(IME_OFF) + VK(IME_OFF), // 0x1A - IME Off +#endif + VKN(ESCAPE, "Escape"), // 0x1B - ESC key + VK(CONVERT), // 0x1C - IME convert + VK(NONCONVERT), // 0x1D - IME nonconvert + VK(ACCEPT), // 0x1E - IME accept + VK(MODECHANGE), // 0x1F - IME mode change request + VKN(SPACE, "Space"), // 0x20 - SPACEBAR + VK(PRIOR), // 0x21 - PAGE UP key + VK(NEXT), // 0x22 - PAGE DOWN key + VK(END), // 0x23 - END key + VK(HOME), // 0x24 - HOME key + VK(LEFT), // 0x25 - LEFT ARROW key + VK(UP), // 0x26 - UP ARROW key + VK(RIGHT), // 0x27 - RIGHT ARROW key + VK(DOWN), // 0x28 - DOWN ARROW key + VK(SELECT), // 0x29 - SELECT key + VK(PRINT), // 0x2A - PRINT key + VK(EXECUTE), // 0x2B - EXECUTE key + VK(SNAPSHOT), // 0x2C - PRINT SCREEN key + VK(INSERT), // 0x2D - INS key + VK(DELETE), // 0x2E - DEL key + VK(HELP), // 0x2F - HELP key +// VK(0), // 0x30 - 0 key +// VK(1), // 0x31 - 1 key +// VK(2), // 0x32 - 2 key +// VK(3), // 0x33 - 3 key +// VK(4), // 0x34 - 4 key +// VK(5), // 0x35 - 5 key +// VK(6), // 0x36 - 6 key +// VK(7), // 0x37 - 7 key +// VK(8), // 0x38 - 8 key +// VK(9), // 0x39 - 9 key + // 0x3A-40 -- Undefined +// VK(A), // 0x41 - A key +// VK(B), // 0x42 - B key +// VK(C), // 0x43 - C key +// VK(D), // 0x44 - D key +// VK(E), // 0x45 - E key +// VK(F), // 0x46 - F key +// VK(G), // 0x47 - G key +// VK(H), // 0x48 - H key +// VK(I), // 0x49 - I key +// VK(J), // 0x4A - J key +// VK(K), // 0x4B - K key +// VK(L), // 0x4C - L key +// VK(M), // 0x4D - M key +// VK(N), // 0x4E - N key +// VK(O), // 0x4F - O key +// VK(P), // 0x50 - P key +// VK(Q), // 0x51 - Q key +// VK(R), // 0x52 - R key +// VK(S), // 0x53 - S key +// VK(T), // 0x54 - T key +// VK(U), // 0x55 - U key +// VK(V), // 0x56 - V key +// VK(W), // 0x57 - W key +// VK(X), // 0x58 - X key +// VK(Y), // 0x59 - Y key +// VK(Z), // 0x5A - Z key +// VK(LWIN), // 0x5B - Left Windows key +// VK(RWIN), // 0x5C - Right Windows key +// VK(APPS), // 0x5D - Applications key + VK(SLEEP), // 0x5F - Computer Sleep key + VKN(NUMPAD0, "KP_0"), // 0x60 - Numeric keypad 0 key + VKN(NUMPAD1, "KP_1"), // 0x61 - Numeric keypad 1 key + VKN(NUMPAD2, "KP_2"), // 0x62 - Numeric keypad 2 key + VKN(NUMPAD3, "KP_3"), // 0x63 - Numeric keypad 3 key + VKN(NUMPAD4, "KP_4"), // 0x64 - Numeric keypad 4 key + VKN(NUMPAD5, "KP_5"), // 0x65 - Numeric keypad 5 key + VKN(NUMPAD6, "KP_6"), // 0x66 - Numeric keypad 6 key + VKN(NUMPAD7, "KP_7"), // 0x67 - Numeric keypad 7 key + VKN(NUMPAD8, "KP_8"), // 0x68 - Numeric keypad 8 key + VKN(NUMPAD9, "KP_9"), // 0x69 - Numeric keypad 9 key + VKN(MULTIPLY, "KP_Multiply"), // 0x6A - Multiply key + VKN(ADD, "KP_Add"), // 0x6B - Add key + VKN(SEPARATOR, "KP_Separator"), // 0x6C - Separator key + VKN(SUBTRACT, "KP_Subtract"), // 0x6D - Subtract key + VKN(DECIMAL, "KP_Decimal"), // 0x6E - Decimal key + VKN(DIVIDE, "KP_Divide"), // 0x6F - Divide key + VKN(F1, "F1"), // 0x70 - F1 key + VKN(F2, "F2"), // 0x71 - F2 key + VKN(F3, "F3"), // 0x72 - F3 key + VKN(F4, "F4"), // 0x73 - F4 key + VKN(F5, "F5"), // 0x74 - F5 key + VKN(F6, "F6"), // 0x75 - F6 key + VKN(F7, "F7"), // 0x76 - F7 key + VKN(F8, "F8"), // 0x77 - F8 key + VKN(F9, "F9"), // 0x78 - F9 key + VKN(F10, "F10"), // 0x79 - F10 key + VKN(F11, "F11"), // 0x7A - F11 key + VKN(F12, "F12"), // 0x7B - F12 key + VKN(F13, "F13"), // 0x7C - F13 key + VKN(F14, "F14"), // 0x7D - F14 key + VKN(F15, "F15"), // 0x7E - F15 key + VKN(F16, "F16"), // 0x7F - F16 key + VKN(F17, "F17"), // 0x80 - F17 key + VKN(F18, "F18"), // 0x81 - F18 key + VKN(F19, "F19"), // 0x82 - F19 key + VKN(F20, "F20"), // 0x83 - F20 key + VKN(F21, "F21"), // 0x84 - F21 key + VKN(F22, "F22"), // 0x85 - F22 key + VKN(F23, "F23"), // 0x86 - F23 key + VKN(F24, "F24"), // 0x87 - F24 key + // 0x88-8F -- Reserved +// VK(NUMLOCK), // 0x90 - NUM LOCK key +// VK(SCROLL), // 0x91 - SCROLL LOCK key + // 0x92-96 -- OEM specific + // 0x97-9F -- Unassigned +// VK(LSHIFT), // 0xA0 - Left SHIFT key +// VK(RSHIFT), // 0xA1 - Right SHIFT key +// VK(LCONTROL), // 0xA2 - Left CONTROL key +// VK(RCONTROL), // 0xA3 - Right CONTROL key +// VK(LMENU), // 0xA4 - Left ALT key +// VK(RMENU), // 0xA5 - Right ALT key + VKN(BROWSER_BACK, "XF86Back"), // 0xA6 - Browser Back key + VKN(BROWSER_FORWARD, "XF86Forward"), // 0xA7 - Browser Forward key + VKN(BROWSER_REFRESH, "XF86Refresh"), // 0xA8 - Browser Refresh key + VKN(BROWSER_STOP, "XF86Stop"), // 0xA9 - Browser Stop key + VKN(BROWSER_SEARCH, "XF86Search"), // 0xAA - Browser Search key + VKN(BROWSER_FAVORITES, "XF86Favorites"), // 0xAB - Browser Favorites key + VKN(BROWSER_HOME, "XF86HomePage"), // 0xAC - Browser Start and Home key + VKN(VOLUME_MUTE, "XF86AudioMute"), // 0xAD - Volume Mute key + VKN(VOLUME_DOWN, "XF86AudioLowerVolume"), // 0xAE - Volume Down key + VKN(VOLUME_UP, "XF86AudioRaiseVolume"), // 0xAF - Volume Up key + VKN(MEDIA_NEXT_TRACK, "XF86AudioNext"), // 0xB0 - Next Track key + VKN(MEDIA_PREV_TRACK, "XF86AudioPrev"), // 0xB1 - Previous Track key + VKN(MEDIA_STOP, "XF86AudioStop"), // 0xB2 - Stop Media key + VKN(MEDIA_PLAY_PAUSE, "XF86AudioPlay"), // 0xB3 - Play/Pause Media key + VKN(LAUNCH_MAIL, "XF86Mail"), // 0xB4 - Start Mail key + VKN(LAUNCH_MEDIA_SELECT, "XF86Select"), // 0xB5 - Select Media key + VKN(LAUNCH_APP1, "XF86Launch0"), // 0xB6 - Start Application 1 key + VKN(LAUNCH_APP2, "XF86Launch1"), // 0xB7 - Start Application 2 key + // 0xB8-B9 -- Reserved + VK(OEM_1), // 0xBA - Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the ;: key + VKN(OEM_PLUS, "Plus"), // 0xBB - For any country/region, the + key + VKN(OEM_COMMA, "Comma"), // 0xBC - For any country/region, the , key + VKN(OEM_MINUS, "Minus"), // 0xBD - For any country/region, the - key + VKN(OEM_PERIOD, "Period"), // 0xBE - For any country/region, the . key + VK(OEM_2), // 0xBF - Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the /? key + VK(OEM_3), // 0xC0 - Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the `~ key + // 0xC1-DA -- Reserved +#if !defined(VK_ABNT_C1) +#define VK_ABNT_C1 0xC1 +#define VK_ABNT_C2 0xC2 +#endif + VK(ABNT_C1), // 0xC1 - Brazilian special. + VK(ABNT_C2), // 0xC2 - Japanese keyboard layout. + // + VK(OEM_4), // 0xDB - Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the [{ key + VK(OEM_5), // 0xDC - Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the \\| key + VK(OEM_6), // 0xDD - Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the ]} key + VK(OEM_7), // 0xDE - Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the '" key + VK(OEM_8), // 0xDF - Used for miscellaneous characters; it can vary by keyboard. + // 0xE0 -- Reserved + // 0xE1 -- OEM specific + VK(OEM_102), // 0xE2 - The <> keys on the US standard keyboard, or the \\| key on the non-US 102-key keyboard + // 0xE3-E4 -- OEM specifi + VK(PROCESSKEY), // 0xE5 - IME PROCESS key + // 0xE6 -- OEM specific + VK(PACKET), // 0xE7 - Used to pass Unicode characters as if they were keystrokes. + // The VK_PACKET key is the low word of a 32-bit Virtual Key value used for non-keyboard input methods. + // For more information, see Remark in KEYBDINPUT, SendInput, WM_KEYDOWN, and WM_KEYUP + // 0xE8 -- Unassigned + VK(OEM_RESET), // 0xE9 + VK(OEM_JUMP), // 0xEA + VK(OEM_PA1), // 0xEB + VK(OEM_PA2), // 0xEC + VK(OEM_PA3), // 0xED + VK(OEM_WSCTRL), // 0xEE + VK(OEM_CUSEL), // 0xEF + VK(OEM_ATTN), // 0xF0 + VK(OEM_FINISH), // 0xF1 + VK(OEM_COPY), // 0xF2 + VK(OEM_AUTO), // 0xF3 + VK(OEM_ENLW), // 0xF4 + VK(OEM_BACKTAB), // 0xF5 + // 0xE9-F5 -- OEM specific + VK(ATTN), // 0xF6 - Attn key + VK(CRSEL), // 0xF7 - CrSel key + VK(EXSEL), // 0xF8 - ExSel key + VK(EREOF), // 0xF9 - Erase EOF key + VK(PLAY), // 0xFA - Play key + VK(ZOOM), // 0xFB - Zoom key + VK(NONAME), // 0xFC - Reserved + VK(PA1), // 0xFD - PA1 key + VK(OEM_CLEAR), // 0xFE - Clear key + // Japanese Extra + VK(DBE_ALPHANUMERIC), // 0xf0 + VK(DBE_KATAKANA), // 0xf1 + VK(DBE_HIRAGANA), // 0xf2 + VK(DBE_SBCSCHAR), // 0xf3 + VK(DBE_DBCSCHAR), // 0xf4 + VK(DBE_ROMAN), // 0xf5 + VK(DBE_NOROMAN), // 0xf6 + VK(DBE_ENTERWORDREGISTERMODE), // 0xf7 + VK(DBE_ENTERIMECONFIGMODE), // 0xf8 + VK(DBE_FLUSHSTRING), // 0xf9 + VK(DBE_CODEINPUT), // 0xfa + VK(DBE_NOCODEINPUT), // 0xfb + VK(DBE_DETERMINESTRING), // 0xfc + VK(DBE_ENTERDLGCONVERSIONMODE) // 0xfd + }; + + +/* + * Enhanced key table. + */ +static const struct xkb enhanced[] = { + // Enhanced keys for the IBM-101, IBM-102 (plus MS-104 key keyboards are the + // INS, DEL, HOME, END, PAGE UP, PAGE DOWN, WIN, RALT, RWIN, APP, LCONTROL + // + // and direction keys in the clusters to the left of the keypad; + // and the divide (/) and ENTER keys in the keypad. + // + // Set-1 Scancodes: + // + // +-------------------------------------------------------------------------------------------------------------------------------------------+ + // | | + // | [ 01 ] [ 3B ][ 3C ][ 3D ][ 3E ] [ 3F ][ 40 ][ 41 ][ 42 ] [ 43 ][ 44 ][ 57 ][ 58 ] [ 54 ][ 46 ][E11D] ---- ---- ---- | + // | | + // | [ 29 ][ 02 ][ 03 ][ 04 ][ 05 ][ 06 ][ 07 ][ 08 ][ 09 ][ 00 ][ 0B ][ 0C ][ 0D ][ OE ] [E052][E047][E049] [ 45 ][E035][ 37 ][ 4A ] | + // | [ 0F ][ 10 ][ 11 ][ 12 ][ 13 ][ 14 ][ 15 ][ 16 ][ 17 ][ 18 ][ 19 ][ 1A ][ 1B ][ __ ] [E053][E04F][E051] [ 47 ][ 48 ][ 49 ]| 4E | | + // | [ 3A__ ][ 1E ][ 1F ][ 20 ][ 21 ][ 22 ][ 23 ][ 24 ][ 25 ][ 26 ][ 27 ][ 28 ][ 2B ][ 1C ] [ 4B ][ 4C ][ 4D ]| __ | | + // | [ 2A ][ 56 ][ 2C ][ 2D ][ 2E ][ 2F ][ 30 ][ 31 ][ 32 ][ 33 ][ 34 ][ 35 ][ 36 ] [E048] [ 4F ][ 50 ][ 51 ]|E01C| | + // | [ 1D ][E05B ][ 38 ][ 39 ][E038 ][E05C ][E05D ][E01D ] [E04B][E050][E04D] [ 52 ][ 53 ]| __ | | + // | | + // +-------------------------------------------------------------------------------------------------------------------------------------------+ + // + VKN(PRIOR, "Prior"), // 0xE049, PgUp + VKN(NEXT, "Next"), // 0xE051, PgDn + VKN(HOME, "Home"), // 0xE047 + VKN(END, "End"), // 0xE04F + VKN(LEFT, "Left"), // 0xE04B + VKN(RIGHT, "Right"), // 0xE04D + VKN(UP, "Up"), // 0xE048 + VKN(DOWN, "Down"), // 0xE050 + VKN(INSERT, "Insert"), // 0xE052 + VKN(DELETE, "Delete"), // 0xE053 + VKN(DIVIDE, "KP_Divide"), // 0xE035 + VKN(RETURN, "KP_Enter"), // 0xE01C + VKALTN(CONTROL, VK_RCONTROL, "Control_R"), // 0xE01D + VKALTN(MENU, VK_RMENU, "Alt_R") // 0xE038 + }; + +/* + * VK_xxxx names + */ +static const char *vknames[0x100] = { + "NONE", // 0x00 + "VK_LBUTTON", // 0x01 + "VK_RBUTTON", // 0x02 + "VK_CANCEL", // 0x03 + "VK_MBUTTON", // 0x04 + "VK_XBUTTON1", // 0x05 + "VK_XBUTTON2", // 0x06 + /* + * 0x07 : unassigned + */ + "VK_RESERVED_07", // 0x07 + /**/ + "VK_BACK", // 0x08 + "VK_TAB", // 0x09 + /* + * 0x0A - 0x0B : reserved + */ + "VK_RESERVED_0A", // 0x0A + "VK_RESERVED_0B", // 0x0B + /**/ + "VK_CLEAR", // 0x0C + "VK_RETURN", // 0x0D, Keys.Enter + /* + * 0x0E - 0x0F : unassigned + */ + "VK_RESERVED_0E", // 0x0E + "VK_RESERVED_0F", // 0x0F + /**/ + "VK_SHIFT", // 0x10 + "VK_CONTROL", // 0x11 + "VK_MENU", // 0x12 + "VK_PAUSE", // 0x13 + "VK_CAPITAL", // 0x14, Keys.CapsLock + "VK_KANA", // 0x15 + "VK_HANGEUL", // 0x15, Keys.HangulMode + "VK_JUNJA", // 0x17 + "VK_FINAL", // 0x18 + "VK_HANJA", // 0x19 + "VK_KANJI", // 0x19 + "VK_ESCAPE", // 0x1B + "VK_CONVERT", // 0x1C + "VK_NONCONVERT", // 0x1D + "VK_ACCEPT", // 0x1E, Keys.IMEAccept + "VK_MODECHANGE", // 0x1F + "VK_SPACE", // 0x20 + "VK_PRIOR", // 0x21, Keys.PageUp + "VK_NEXT", // 0x22, Keys.PageDown + "VK_END", // 0x23 + "VK_HOME", // 0x24 + "VK_LEFT", // 0x25 + "VK_UP", // 0x26 + "VK_RIGHT", // 0x27 + "VK_DOWN", // 0x28 + "VK_SELECT", // 0x29 + "VK_PRINT", // 0x2A + "VK_EXECUTE", // 0x2B + "VK_SNAPSHOT", // 0x2C, Keys.PrintScreen + "VK_INSERT", // 0x2D + "VK_DELETE", // 0x2E + "VK_HELP", // 0x2F + "VK_0", // 0x30 + "VK_1", // 0x31 + "VK_2", // 0x32 + "VK_3", // 0x33 + "VK_4", // 0x34 + "VK_5", // 0x35 + "VK_6", // 0x36 + "VK_7", // 0x37 + "VK_8", // 0x38 + "VK_9", // 0x39 + /* + * 0x3A-40: undefined + */ + "VK_RESERVED_3A", // 0x3A + "VK_RESERVED_3B", // 0x3B + "VK_RESERVED_3C", // 0x3C + "VK_RESERVED_3D", // 0x3D + "VK_RESERVED_3E", // 0x3E + "VK_RESERVED_3F", // 0x3F + "VK_RESERVED_40", // 0x40 + /**/ + "VK_A", // 0x41 + "VK_B", // 0x42 + "VK_C", // 0x43 + "VK_D", // 0x44 + "VK_E", // 0x45 + "VK_F", // 0x46 + "VK_G", // 0x47 + "VK_H", // 0x48 + "VK_I", // 0x49 + "VK_J", // 0x4A + "VK_K", // 0x4B + "VK_L", // 0x4C + "VK_M", // 0x4D + "VK_N", // 0x4E + "VK_O", // 0x4F + "VK_P", // 0x50 + "VK_Q", // 0x51 + "VK_R", // 0x52 + "VK_S", // 0x53 + "VK_T", // 0x54 + "VK_U", // 0x55 + "VK_V", // 0x56 + "VK_W", // 0x57 + "VK_X", // 0x58 + "VK_Y", // 0x59 + "VK_Z", // 0x5A + "VK_LWIN", // 0x5B + "VK_RWIN", // 0x5C + "VK_APPS", // 0x5D + /* + * 0x5E : reserved + */ + "VK_RESERVED_5E", // 0x5E + /**/ + "VK_SLEEP", // 0x5F, Keys.Sleep + "VK_NUMPAD0", // 0x60 + "VK_NUMPAD1", // 0x61 + "VK_NUMPAD2", // 0x62 + "VK_NUMPAD3", // 0x63 + "VK_NUMPAD4", // 0x64 + "VK_NUMPAD5", // 0x65 + "VK_NUMPAD6", // 0x66 + "VK_NUMPAD7", // 0x67 + "VK_NUMPAD8", // 0x68 + "VK_NUMPAD9", // 0x69 + "VK_MULTIPLY", // 0x6A + "VK_ADD", // 0x6B + "VK_SEPARATOR", // 0x6C + "VK_SUBTRACT", // 0x6D + "VK_DECIMAL", // 0x6E + "VK_DIVIDE", // 0x6F + "VK_F1", // 0x70 + "VK_F2", // 0x71 + "VK_F3", // 0x72 + "VK_F4", // 0x73 + "VK_F5", // 0x74 + "VK_F6", // 0x75 + "VK_F7", // 0x76 + "VK_F8", // 0x77 + "VK_F9", // 0x78 + "VK_F10", // 0x79 + "VK_F11", // 0x7A + "VK_F12", // 0x7B + "VK_F13", // 0x7C + "VK_F14", // 0x7D + "VK_F15", // 0x7E + "VK_F16", // 0x7F + "VK_F17", // 0x80 + "VK_F18", // 0x81 + "VK_F19", // 0x82 + "VK_F20", // 0x83 + "VK_F21", // 0x84 + "VK_F22", // 0x85 + "VK_F23", // 0x86 + "VK_F24", // 0x87 + /* + * 0x88 - 0x8F : unassigned + */ + "VK_RESERVED_88", // 0x88 + "VK_RESERVED_89", // 0x89 + "VK_RESERVED_8A", // 0x8A + "VK_RESERVED_8B", // 0x8B + "VK_RESERVED_8C", // 0x8C + "VK_RESERVED_8D", // 0x8D + "VK_RESERVED_8E", // 0x8E + "VK_RESERVED_8F", // 0x8F + /**/ + "VK_NUMLOCK", // 0x90 + "VK_SCROLL", // 0x91 + "VK_OEM_NEC_EQUAL", // 0x92, NEC PC-9800 kbd definition +//dup "VK_OEM_FJ_JISHO", // 0x92, Fujitsu/OASYS kbd definition + "VK_OEM_FJ_MASSHOU", // 0x93, Fujitsu/OASYS kbd definition + "VK_OEM_FJ_TOUROKU", // 0x94, Fujitsu/OASYS kbd definition + "VK_OEM_FJ_LOYA", // 0x95, Fujitsu/OASYS kbd definition + "VK_OEM_FJ_ROYA", // 0x96, Fujitsu/OASYS kbd definition + /* + * 0x97 - 0x9F : unassigned + */ + "VK_RESERVED_97", // 0x97 + "VK_RESERVED_98", // 0x98 + "VK_RESERVED_99", // 0x99 + "VK_RESERVED_9A", // 0x9A + "VK_RESERVED_9B", // 0x9B + "VK_RESERVED_9C", // 0x9C + "VK_RESERVED_9D", // 0x9D + "VK_RESERVED_9E", // 0x9E + "VK_RESERVED_9F", // 0x9F + /**/ + "VK_LSHIFT", // 0xA0 + "VK_RSHIFT", // 0xA1 + "VK_LCONTROL", // 0xA2 + "VK_RCONTROL", // 0xA3 + "VK_LMENU", // 0xA4 + "VK_RMENU", // 0xA5 + "VK_BROWSER_BACK", // 0xA6 + "VK_BROWSER_FORWARD", // 0xA7 + "VK_BROWSER_REFRESH", // 0xA8 + "VK_BROWSER_STOP", // 0xA9 + "VK_BROWSER_SEARCH", // 0xAA + "VK_BROWSER_FAVORITES", // 0xAB + "VK_BROWSER_HOME", // 0xAC + "VK_VOLUME_MUTE", // 0xAD + "VK_VOLUME_DOWN", // 0xAE + "VK_VOLUME_UP", // 0xAF + "VK_MEDIA_NEXT_TRACK", // 0xB0 + "VK_MEDIA_PREV_TRACK", // 0xB1 + "VK_MEDIA_STOP", // 0xB2 + "VK_MEDIA_PLAY_PAUSE", // 0xB3 + "VK_LAUNCH_MAIL", // 0xB4 + "VK_LAUNCH_MEDIA_SELECT", // 0xB5 + "VK_LAUNCH_APP1", // 0xB6 + "VK_LAUNCH_APP2", // 0xB7 + /* + * 0xB8 - 0xB9 : reserved + */ + "VK_RESERVED_B8", // 0xB8 + "VK_RESERVED_B9", // 0xB9 + /**/ + "VK_OEM_1", // 0xBA, Keys.Oem1 + "VK_OEM_PLUS", // 0xBB + "VK_OEM_COMMA", // 0xBC + "VK_OEM_MINUS", // 0xBD + "VK_OEM_PERIOD", // 0xBE + "VK_OEM_2", // 0xBF, Keys.Oem2 + "VK_OEM_3", // 0xC0, Keys.Oem3 + /* + * 0xC1 - 0xD7 : reserved + */ +// "VK_RESERVED_C1", // 0xC1 +// "VK_RESERVED_C2", // 0xC2 + "VK_ABNT_C1", // 0xC1 - Brazilian special. + "VK_ABNT_C2", // 0xC2 - Japanese keyboard layout. + "VK_RESERVED_C3", // 0xC3 + "VK_RESERVED_C4", // 0xC4 + "VK_RESERVED_C5", // 0xC5 + "VK_RESERVED_C6", // 0xC6 + "VK_RESERVED_C7", // 0xC7 + "VK_RESERVED_C8", // 0xC8 + "VK_RESERVED_C9", // 0xC9 + "VK_RESERVED_CA", // 0xCA + "VK_RESERVED_CB", // 0xCB + "VK_RESERVED_CC", // 0xCC + "VK_RESERVED_CD", // 0xCD + "VK_RESERVED_CE", // 0xCE + "VK_RESERVED_CF", // 0xCF + "VK_RESERVED_D0", // 0xD0 + "VK_RESERVED_D1", // 0xD1 + "VK_RESERVED_D2", // 0xD2 + "VK_RESERVED_D3", // 0xD3 + "VK_RESERVED_D4", // 0xD4 + "VK_RESERVED_D5", // 0xD5 + "VK_RESERVED_D6", // 0xD6 + "VK_RESERVED_D7", // 0xD7 + /**/ + /* + * 0xD8 - 0xDA : unassigned + */ + "VK_RESERVED_D8", // 0xD8 + "VK_RESERVED_D9", // 0xD9 + "VK_RESERVED_DA", // 0xDA + /**/ + "VK_OEM_4", // 0xDB, Keys.Oem4 + "VK_OEM_5", // 0xDC, Keys.Oem5 + "VK_OEM_6", // 0xDD, Keys.Oem6 + "VK_OEM_7", // 0xDE, Keys.Oem7 + "VK_OEM_8", // 0xDF + /* + * 0xE0 : reserved + */ + "VK_RESERVED_E0", // 0xE0 + /**/ + "VK_OEM_AX", // 0xE1, 'AX' key on Japanese AX kbd + "VK_OEM_102", // 0xE2, Keys.Oem102 + "VK_ICO_HELP", // 0xE3, Help key on ICO + "VK_ICO_00", // 0xE4, 00 key on ICO + "VK_PROCESSKEY", // 0xE5 + "VK_ICO_CLEAR", // 0xE6 + "VK_PACKET", // 0xE7, Keys.Packet + /* + * 0xE8 : unassigned + */ + "VK_RESERVED_E8", // 0xE8 + /**/ + "VK_OEM_RESET", // 0xE9, Nokia/Ericsson definition + "VK_OEM_JUMP", // 0xEA, Nokia/Ericsson definition + "VK_OEM_PA1", // 0xEB, Nokia/Ericsson definition + "VK_OEM_PA2", // 0xEC, Nokia/Ericsson definition + "VK_OEM_PA3", // 0xED, Nokia/Ericsson definition + "VK_OEM_WSCTRL", // 0xEE, Nokia/Ericsson definition + "VK_OEM_CUSEL", // 0xEF, Nokia/Ericsson definition + "VK_OEM_ATTN", // 0xF0, Nokia/Ericsson definition + "VK_OEM_FINISH", // 0xF1, Nokia/Ericsson definition + "VK_OEM_COPY", // 0xF2, Nokia/Ericsson definition + "VK_OEM_AUTO", // 0xF3, Nokia/Ericsson definition + "VK_OEM_ENLW", // 0xF4, Nokia/Ericsson definition + "VK_OEM_BACKTAB", // 0xF5, Nokia/Ericsson definition + "VK_ATTN", // 0xF6 + "VK_CRSEL", // 0xF7 + "VK_EXSEL", // 0xF8 + "VK_EREOF", // 0xF9 + "VK_PLAY", // 0xFA + "VK_ZOOM", // 0xFB + "VK_NONAME", // 0xFC + "VK_PA1", // 0xFD + "VK_OEM_CLEAR", // 0xFE + /* + * 0xFF : reserved + */ + "VK_RESERVED_FF" // 0xFF + }; + +#undef __VKVALUE +#undef VK +#undef __XKBVALUE +#undef XKB + +static inline int +ToUpper(WORD key) +{ + if (key >= 'a' && key <= 'z') { + return (int)('A' + (key - 'a')); + } + return (int)key; +} + + +/* + * KBMapEvent --- + * Console key event parser. + **/ +int +KBMapEvent(const KEY_EVENT_RECORD *key, key_event_t *evt) +{ + const WORD wVirtualKeyCode = key->wVirtualKeyCode; + const WORD wVirtualScanCode = key->wVirtualScanCode; + const DWORD state = KBNormalizeAltGr(key); + WCHAR uc = key->uChar.UnicodeChar; + + if (! key->bKeyDown) { + return 0; // generally ignore key down events + } + + // Base evt. + evt->vkmodifiers = state; + evt->vkkey = wVirtualKeyCode; + evt->vkext = 0; + evt->vkname = NULL; + evt->vkenhanced = 0; + evt->kblabel = NULL; + evt->kbmodifiers = KBMapModifiers(state, 1); + evt->ascii = 0; + evt->unicode = KEY_INVALID; + + // Virtual keys. + if (ENHANCED_KEY & state) { + const struct xkb *vkkey = enhanced, + *vkend = vkkey + (sizeof(enhanced)/sizeof(enhanced[0])); + for (;vkkey < vkend; ++vkkey) { // Specialised enhanced keys. + if (vkkey->wVirtualKeyCode == wVirtualKeyCode && + (VK_VOID == vkkey->wVirtualScanCode || vkkey->wVirtualScanCode == wVirtualScanCode)) { + evt->vkname = vkkey->vkname; + evt->kblabel = vkkey->kblabel; + evt->vkext = vkkey->vkext; + evt->vkenhanced = 1; + return 1; + } + } + } + + // Unicode keys (Printable/non-printable unicode characters) + if (uc) { + if (uc <= 0x1f && (evt->kbmodifiers & (MODIFIER_CONTROL|MODIFIER_ALT))) { + evt->ascii = '@' + uc; // Control, convert to source key; Ctrl-A .. + // no equiv unicode character. + } else { + //assert((uc >= 0x20 && uc <= 0x7f) || (uc >= 0xa0 && uc < 0x10ffff)); + if (uc <= 0x7f) { // Unshifted ASCII character + evt->ascii = uc; + if ((evt->kbmodifiers & (MODIFIER_SHIFT|MODIFIER_CAPSLOCK)) == MODIFIER_SHIFT) + evt->ascii = ToUpper(uc); // Apply shift. + } + evt->unicode = uc; // Shifted character value. + } + } + + // Standard key. + { const struct xkb *vkkey = standard, + *vkend = vkkey + (sizeof(standard)/sizeof(standard[0])); + for (;vkkey < vkend; ++vkkey) { // General or non-specialised enhanced keys. + if (vkkey->wVirtualKeyCode == wVirtualKeyCode && + (VK_VOID == vkkey->wVirtualScanCode || vkkey->wVirtualScanCode == wVirtualScanCode)) { + evt->vkname = vkkey->vkname; + evt->kblabel = vkkey->kblabel; + evt->vkext = vkkey->vkext; + return 2; + } + } + if (uc) { + evt->vkname = KBVirtualKeyName(wVirtualKeyCode); + return 3; + } + } + + // Specials. +#define SPECIALMODS (MODIFIER_ALT|MODIFIER_CONTROL) + if (SPECIALMODS & evt->kbmodifiers) { + // + // Not all keys are visible when control and/or alt are active + // Lookup the ASCII key against only the scancode possiblity shifted. + // Examples include ',' and '.' + // + // These can be/are reportd via VK_OEM_xxx definitions, yet many are locale specific + // as such not portable beyond US keyboards; the follow method (so far) seems the cleanise. + // + // References: + // https://msdn.microsoft.com/en-us/library/ms892480.aspx, + // scan-code to vk-code, by locale/keyboard. + // +#if (0) + BYTE keystate[256] = {0}; // VK key states. + WORD keys[8] = {0}; + + if (key->dwControlKeyState & SHIFT_PRESSED) + keystate[VK_SHIFT] = 0x80; // down; high bit + if (key->dwControlKeyState & CAPSLOCK_ON) + keystate[VK_CAPITAL] = 0x01; // on; low bit + +//See:KBNormalizeAltGr evt->kbmodifiers &= ~SPECIALMODS; + if (1 == ToUnicode(wVirtualKeyCode, key->wVirtualScanCode, keystate, keys, 8, 0)) { + if (keys[0] >= 0x20 && keys[0] <= 0x7f) { + evt->ascii = keys[0]; + if (evt->kbmodifiers & MODIFIER_SHIFT) + evt=>ascii = tolower(evt->ascii) + return 4; + } else if (keys[0] >= 0x80) { + evt->unicode = keys[0]; + return 4; + } + } +#else + //See:KBNormalizeAltGr + // evt->kbmodifiers &= ~SPECIALMODS; + if ((uc = (WCHAR)MapVirtualKeyW(wVirtualKeyCode, MAPVK_VK_TO_CHAR)) != 0) { + if (uc >= 0x20 && uc <= 0x7f) { + evt->kbmodifiers &= ~MODIFIER_SHIFT; + evt->ascii = ToUpper(uc); + return 4; + } else if (uc >= 0x80) { + evt->unicode = uc; + return 4; + } + } +#endif + } + + return 0; +} + + +/* + * KBVirtualKeyName --- + * Retrieve the VirtualKey name, otherwise VK_UNKNOWN if out of range. + **/ +const char * +KBVirtualKeyName(unsigned vk) +{ + if (vk < 0x100) + return vknames[vk]; + return "VK_UNKNOWN"; +} + + +/* + * KBVirtualKeyValue --- + * Retrieve the VirtualKey value, otherwise 0 if unmapped. + **/ +unsigned +KBVirtualKeyValue(const char *name) +{ + static const struct vkextra { + // Additional + // See: http://www.kbdedit.com/manual/low_level_vk_list.html + char name[30]; + unsigned value; +#define XVK(__v) { #__v, __v } + } vkextras[] = { + /* + * duplicate + */ + XVK(VK_OEM_FJ_JISHO), + /* + * extra + */ + XVK(VK_DBE_ALPHANUMERIC), + XVK(VK_DBE_KATAKANA), + XVK(VK_DBE_HIRAGANA), + XVK(VK_DBE_SBCSCHAR), + XVK(VK_DBE_DBCSCHAR), + XVK(VK_DBE_ROMAN), + XVK(VK_DBE_NOROMAN), + XVK(VK_DBE_ENTERWORDREGISTERMODE), + XVK(VK_DBE_ENTERIMECONFIGMODE), + XVK(VK_DBE_FLUSHSTRING), + XVK(VK_DBE_CODEINPUT), + XVK(VK_DBE_NOCODEINPUT), + XVK(VK_DBE_DETERMINESTRING), + XVK(VK_DBE_ENTERDLGCONVERSIONMODE) + }; + + for (unsigned vk = 1; vk < _countof(vknames); ++vk) { + if (0 == strcmp(name, vknames[vk])) { + return vk; + } + } + + for (const struct vkextra *it = vkextras, *end = it + _countof(vkextras); it != end; ++it) { + if (0 == strcmp(name, it->name)) { + return it->value; + } + } + return 0; +} + + +/* + * KBNormalizeAltGr --- + * Filter AtrGr events from modifiers. + **/ +DWORD +KBNormalizeAltGr(const KEY_EVENT_RECORD *key) +{ + DWORD state = key->dwControlKeyState; + + // AltGr condition (LCtrl + RAlt) + if (0 == (state & (LEFT_ALT_PRESSED | RIGHT_ALT_PRESSED))) + return state; + + if (0 == (state & (LEFT_CTRL_PRESSED | RIGHT_CTRL_PRESSED))) + return state; + + if (0 == key->uChar.UnicodeChar) + return state; + + // Filter Left-Ctrl+Right+Alt, attempt to allow: + // + // Left-Alt + AltGr, + // Right-Ctrl + AltGr, + // or Left-Alt + Right-Ctrl + AltGr. + // + + if (state & RIGHT_ALT_PRESSED) { + // Remove Right-Alt. + state &= ~RIGHT_ALT_PRESSED; + + // As a character was presented, Left-Ctrl is almost always set, + // except if the user presses Right-Ctrl, then AltGr (in that specific order) for whatever reason. + // At any rate, make sure the bit is not set. + state &= ~LEFT_CTRL_PRESSED; + + } else if (state & LEFT_ALT_PRESSED) { + // Remove Left-Alt. + state &= ~LEFT_ALT_PRESSED; + + // Whichever Ctrl key is down, remove it from the state. + // We only remove one key, to improve our chances of detecting the corner-case of Left-Ctrl + Left-Alt + Right-Ctrl. + if ((state & LEFT_CTRL_PRESSED) != 0) { + // Remove Left-Ctrl. + state &= ~LEFT_CTRL_PRESSED; + + } else if ((state & RIGHT_CTRL_PRESSED) != 0) { + // Remove Right-Ctrl. + state &= ~RIGHT_CTRL_PRESSED; + } + } + + return state; +} + + +/* + * KBMapModifiers --- + * Console event modifier parser. + **/ +unsigned +KBMapModifiers(const DWORD state, int apps) +{ + unsigned modifiers = 0; + if (state & (SHIFT_PRESSED)) { + modifiers |= MODIFIER_SHIFT; + } + if (state & (LEFT_CTRL_PRESSED | RIGHT_CTRL_PRESSED)) { + modifiers |= MODIFIER_CONTROL; + } + if (state & (LEFT_ALT_PRESSED | RIGHT_ALT_PRESSED)) { + modifiers |= MODIFIER_ALT; + } + if (state & (NUMLOCK_ON)) { + modifiers |= MODIFIER_NUMLOCK; + } + if (state & (SCROLLLOCK_ON)) { + modifiers |= MODIFIER_SCROLLLOCK; + } + if (state & (CAPSLOCK_ON)) { + modifiers |= MODIFIER_CAPSLOCK; + } + if (apps && GetKeyState(VK_APPS)) { + modifiers |= MODIFIER_LOGO; // Hamburger Button, not windows key + // beware: Key toggles like CapsLock, ie: press on, when press off + } + return modifiers; +} + + +/* + * KBMapModifiers --- + * Console event modifier parser. + **/ +int +KBPrintModifiers(const DWORD state, char *buffer, size_t buflen, unsigned detailed) +{ + static const struct State { + unsigned detailed; + const char *label; + DWORD bits; + } states[] = { + // Detailed + { 0x01, "Enhanced", ENHANCED_KEY }, + { 0x01, "ScrLk", SCROLLLOCK_ON }, + { 0x01, "Caps", CAPSLOCK_ON }, + { 0x01, "NumLk", NUMLOCK_ON }, + { 0x01, "AltL", LEFT_ALT_PRESSED }, + { 0x01, "AltR", RIGHT_ALT_PRESSED }, + { 0x01, "CtrlL", LEFT_CTRL_PRESSED }, + { 0x01, "CtrlR", RIGHT_CTRL_PRESSED }, + { 0x01, "Shift", SHIFT_PRESSED }, + // Summary + { 0x00, "Alt", LEFT_ALT_PRESSED|RIGHT_ALT_PRESSED }, + { 0x00, "Ctrl", LEFT_CTRL_PRESSED|RIGHT_CTRL_PRESSED }, + { 0x00, "Shift", SHIFT_PRESSED }, + }; + + char *cursor = buffer; + unsigned modifiers = 0; + + if (NULL == buffer || 0 == buflen) + return -1; + + --buflen; // nul + + if (GetKeyState(VK_APPS)) { // hamburger key + const int len = _snprintf(cursor, buflen, "%sApps", (modifiers++ ? "-" : "")); + if ((size_t)len <= buflen) { + cursor += len, buflen -= len; + } + } + + for (const struct State *it = states, *end = states + (sizeof(states)/sizeof(states[0])); buflen && it != end; ++it) { + if (it->detailed == detailed && (state & it->bits)) { + const int len = _snprintf(cursor, buflen, "%s%s", (modifiers++ ? "-" : ""), it->label); + if ((size_t)len <= buflen) { + cursor += len, buflen -= len; + continue; + } + break; // overflow + } + } + + if (buflen) { + const int len = snprintf(cursor, buflen, "%s", (modifiers ? "-" : "")); + if ((size_t)len <= buflen) { + cursor += len, buflen -= len; + } + } + + *cursor = 0; // nul + return cursor - buffer; +} + +/*end*/ diff --git a/mcwin32/src/kbtest/kbmap.h b/mcwin32/src/kbtest/kbmap.h new file mode 100644 index 0000000..691bf0e --- /dev/null +++ b/mcwin32/src/kbtest/kbmap.h @@ -0,0 +1,82 @@ +#ifndef KBMAP_H_INCLUDED +#define KBMAP_H_INCLUDED +#include +__CIDENT_RCSID(kbmap_h,"$Id: kbmap.h,v 1.5 2024/02/17 08:23:14 cvsuser Exp $") +__CPRAGMA_ONCE + +/* -*- mode: c; indent-width: 4; -*- */ +/* + * libtermemu console driver + * + * Copyright (c) 2015 - 2024, Adam Young. + * All rights reserved. + * + * This file is part of the WinXSH project. + * + * The applications are free software: you can redistribute it + * and/or modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation, version 3. + * + * Redistributions of source code must retain the above copyright + * notice, and must be distributed with the license document above. + * + * Redistributions in binary form must reproduce the above copyright + * notice, and must include the license document above in + * the documentation and/or other materials provided with the + * distribution. + * + * This project is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * License for more details. + * ==end== + */ + +#ifndef _WIN32_WINNT +#define _WIN32_WINNT 0x0500 +#endif +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN +#endif +#include + +#include + +enum key_modifier { + MODIFIER_SHIFT = (1 << 0), + MODIFIER_CONTROL = (1 << 1), + MODIFIER_ALT = (1 << 2), + MODIFIER_NUMLOCK = (1 << 3), + MODIFIER_SCROLLLOCK = (1 << 4), + MODIFIER_CAPSLOCK = (1 << 5), + MODIFIER_LOGO = (1 << 6) +}; + +#define KEY_INVALID -1 + +typedef struct event { + unsigned vkmodifiers; // Cooked VK modifiers. + unsigned vkkey; // VK_xxxx key code; otherwise 0. + unsigned vkext; // Extended VK_xxxx key code; otherwise 0. + const char *vkname; // VK symbol name; otherwise NULL. + const char *kblabel; // XKB label; otherwise NULL. + int vkenhanced; // Whether an enhanced VK, 1 otherwise 0. + unsigned kbmodifiers; // MODIFIER_XXXK(s) +__CIDENT_RCSID(btest_c,"$Id: kbtest.c,v 1.7 2024/02/25 16:45:12 cvsuser Exp $") + +/* -*- mode: c; indent-width: 4; -*- */ +/* + * console keyboard test application + * + * Copyright (c) 2015 - 2024, Adam Young. + * All rights reserved. + * + * This file is part of the WinXSH project. + * + * The applications are free software: you can redistribute it + * and/or modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation, version 3. + * + * Redistributions of source code must retain the above copyright + * notice, and must be distributed with the license document above. + * + * Redistributions in binary form must reproduce the above copyright + * notice, and must include the license document above in + * the documentation and/or other materials provided with the + * distribution. + * + * This project is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * License for more details. + * ==end== + */ + +#ifndef _WIN32_WINNT +#define _WIN32_WINNT 0x0500 +#endif +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN +#endif +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "expat.h" + +#include "kbmap.h" +#include "kbconsole.h" +#include "kbdefinition.h" +#include "kblayout.h" +#include "kbdump.h" + +#include "kbbuildinfo.h" + +#ifndef XKB_KEY_NoSymbol +#define XKB_KEY_NoSymbol 0 +#define XKB_VoidSymbol 0xffffff +#endif + +struct iobuf { + unsigned length; + unsigned char text[128]; +}; + +struct record { + key_event_t evt; + const char *str; + int key; +}; + +#if !defined(ENABLE_VIRTUAL_TERMINAL_PROCESSING) +#define ENABLE_VIRTUAL_TERMINAL_PROCESSING 0x0004 + // When writing with WriteFile or WriteConsole, characters are parsed for VT100 and similar control + // character sequences that control cursor movement, color/font mode, and other operations that can + // also be performed via the existing Console APIs. +#endif +#if !defined(DISABLE_NEWLINE_AUTO_RETURN) +#define DISABLE_NEWLINE_AUTO_RETURN 0x0008 + // When writing with WriteFile or WriteConsole, this adds an additional state to end-of-line wrapping + // that can delay the cursor move and buffer scroll operations. +#endif + +#define VKS_DONE 0x01 // VK key status +#define VKS_SHIFT 0x02 +#define VKS_CTRL 0x04 +#define VKS_ALT 0x08 +#define VKS_APPS 0x10 +#define VKS_PRESS 0x40 +#define VKS_ON 0x80 + +static void EnvironmentStatus(HANDLE console); + +static void KeyboardPush(HANDLE console, const struct KBRow **rows, BYTE *status, const key_event_t *evt); +static void KeyboardStatus(HANDLE console, const struct KBRow **rows, BYTE *status); +static int KeyboardKey(HANDLE console, unsigned height, const struct KBRow *key, BYTE *status); + +static void Usage(const char *msg, ...); +static void Version(void); + +static BOOL WINAPI ConsoleHandler(DWORD dwCtrlType); +static void XKBTranslation(const key_event_t *evt); +static const char *latin1name(unsigned value); + +static volatile int ctrl_break = 0; + +#define SHORTOPTIONS "ak:l:V" + +static const struct option long_options[] = { + { "help", no_argument, NULL, 1000 }, + { "klid", required_argument, NULL, 'k' }, + { "layout", required_argument, NULL, 'l' }, + { "version", no_argument, NULL, 'V' }, + { NULL } + }; + +static unsigned oklid = 0; +static const char *olayout = NULL; + +int +main(int argc, char *argv[]) +{ + char szKLID[KL_NAMELENGTH] = {0}; + DWORD consolemode = 0, oconsolemode = 0; + BYTE vkstatus[256*3 /*vk,VK+,ascii*/] = {0}; + + const struct KBDefinition *layout = NULL; + const struct KBRow **rows = KBLayoutDefault(); + HANDLE console, oconsole; + const char *cmd = ""; + INPUT_RECORD ir; + int esc = 0, ch; + + // command line + while ((ch = getopt_long(argc, argv, SHORTOPTIONS, long_options, NULL)) != -1) + switch(ch) { + case 'k': // --klid= + oklid = (unsigned) strtoull(optarg, NULL, 0); + break; + case 'l': // --layout= + olayout = optarg; + break; + case 'V': // --version + Version(); + break; + case 1000: // --help + case '?': + Usage(NULL); + break; + } + argv += optind; + if ((argc -= optind) < 1) { + Usage("missing command"); + } else if (argc > 1) { + Usage("unexpected argument(s) <%s ...>", argv[1]); + } + + cmd = argv[0]; + if (0 != strcmp(cmd, "dump") && 0 != strcmp(cmd, "test")) { + Usage("invalid command <%s>", argv[0]); + } + + // setup + console = GetStdHandle(STD_INPUT_HANDLE); + oconsole = GetStdHandle(STD_OUTPUT_HANDLE); + + if (oklid) { // optional KLID + char t_szKLID[KL_NAMELENGTH] = {0}; + + snprintf(t_szKLID, sizeof(t_szKLID), "%08u", oklid); + GetKeyboardLayoutNameA(szKLID); + LoadKeyboardLayoutA(t_szKLID, KLF_ACTIVATE); + + // Layout must be already loaded, inform GUI + // PostMessage(GetConsoleWindow(), WM_INPUTLANGCHANGEREQUEST, 0, (LPARAM)klid); + } + + if (olayout) { // external layout + if (NULL == (layout = KBDefinitionLoad(olayout))) + exit(EXIT_FAILURE); + rows = KBLayoutBuild(layout); + } else { + layout = KBDefinitionCurrent(); + rows = KBLayoutBuild(layout); + } + + // execute + if (0 == strcmp(cmd, "dump")) { + EnvironmentStatus(oconsole); + KBDump(layout); + return 0; + } + + if (! GetConsoleMode(console, &consolemode) || + ! GetConsoleMode(oconsole, &oconsolemode)) { + Usage("console expected"); + } + + SetConsoleMode(console, ENABLE_WINDOW_INPUT); + SetConsoleMode(oconsole, oconsolemode | \ + ENABLE_VIRTUAL_TERMINAL_PROCESSING | DISABLE_NEWLINE_AUTO_RETURN); + SetConsoleCtrlHandler(ConsoleHandler, TRUE); + + ConsoleClear(oconsole); // prime display + KeyboardStatus(oconsole, rows, vkstatus); + EnvironmentStatus(oconsole); + printf("Press consecutively 3 times to exit.\n"); + + while (! ctrl_break && esc < 3) { // foreach(key) + const KEY_EVENT_RECORD *key = &ir.Event.KeyEvent; + char modifiers[128]; + key_event_t evt = {0}; + unsigned scanCode; + DWORD count; + int cio = 1; + + // next event + if (WAIT_OBJECT_0 != WaitForSingleObject(console, INFINITE) || ctrl_break || + 0 == ReadConsoleInputW(console, &ir, 1, &count) || ctrl_break) { + break; // eof or Ctrl-Break + } + + if (WINDOW_BUFFER_SIZE_EVENT == ir.EventType) { + ConsoleClear(oconsole); + KeyboardStatus(oconsole, rows, vkstatus); + EnvironmentStatus(oconsole); + continue; + } else if (!count || ir.EventType != KEY_EVENT || !key->bKeyDown) { + continue; // ignore non-key down events + } + + // decode event + esc = (0x1b == key->uChar.AsciiChar ? esc + 1 : 0); + cio = KBMapEvent(key, &evt); + + ConsoleHome(oconsole); + KeyboardPush(oconsole, rows, vkstatus, &evt); + + scanCode = key->wVirtualScanCode | (key->dwControlKeyState & ENHANCED_KEY ? 0xE000 : 0); + KBPrintModifiers(key->dwControlKeyState, modifiers, sizeof(modifiers), TRUE); + if (key->uChar.AsciiChar >= 0x20 && key->uChar.AsciiChar < 0x7f /*isprint*/) { // ASCII + printf("%sVK:%u/0x%x SCAN:0x%04x/0x%04X Ascii(0x%x/%c) ", + modifiers, key->wVirtualKeyCode, key->wVirtualKeyCode, key->wVirtualScanCode, scanCode, key->uChar.AsciiChar, key->uChar.AsciiChar); + } else { // UNICODE + printf("%sVK:%u/0x%x SCAN:0x%04x/0x%04X Unicode(0x%x) ", + modifiers, key->wVirtualKeyCode, key->wVirtualKeyCode, key->wVirtualScanCode, scanCode, key->uChar.UnicodeChar); + } + XKBTranslation(&evt); + ConsoleClearEOL(oconsole); + + // decode KEY_EVENT + if (cio) { + KBPrintModifiers(evt.vkmodifiers, modifiers, sizeof(modifiers), FALSE); + printf("\n => %sVK(%u) ASCII(0x%x/%c)", + modifiers, evt.vkkey, evt.ascii, (evt.ascii >= 0x20 && evt.ascii <= 0x7f ? evt.ascii : ' ')); + if (evt.unicode != KEY_INVALID) { + fflush(stdout); + ConsolePrintW(oconsole, L" UNICODE(U+%0*x/%c)", (evt.unicode & 0xff0000 ? 6 : 4), (unsigned)evt.unicode, (unsigned)evt.unicode); + } + } else { + printf("\n => "); + } + ConsoleClearEOL(oconsole); + EnvironmentStatus(oconsole); + } + + if (szKLID[0]) LoadKeyboardLayoutA(szKLID, KLF_ACTIVATE); + SetConsoleMode(oconsole, oconsolemode); + SetConsoleMode(console, consolemode); + return 0; +} + + +/* + * KeyboardPush --- + * Push the event status into the keyboard-status buffer. + **/ +static void +KeyboardPush(HANDLE console, const struct KBRow **rows, BYTE *status, const key_event_t *evt) +{ + if (evt->vkext) { // extended key-code. + const unsigned vkext = evt->vkext; + if (evt->vkenhanced) { + /*if (0 == evt->vkmodifier)*/ status[vkext|VK_ISENHANCED] |= VKS_DONE; + status[vkext|VK_ISENHANCED] |= VKS_PRESS; + } else { + /*if (0 == evt->vkmodifier)*/ status[vkext] |= VKS_DONE; + status[vkext] |= VKS_PRESS; + } + } + + if (evt->vkkey) { // primary key-code + const unsigned modifiers = evt->kbmodifiers; + const unsigned vkkey = evt->vkkey; + + if (evt->vkenhanced) { + /*if (0 == evt->vkmodifier)*/ status[vkkey|VK_ISENHANCED] |= VKS_DONE; + status[vkkey|VK_ISENHANCED] |= VKS_PRESS; + } else { + /*if (0 == evt->vkmodifier)*/ status[vkkey] |= VKS_DONE; + status[vkkey] |= VKS_PRESS; + } + + status[VK_SHIFT|VK_ISENHANCED] = 0; + if (modifiers & MODIFIER_SHIFT) { + status[VK_SHIFT|VK_ISENHANCED] = VKS_ON; + status[vkkey] |= VKS_SHIFT; + } + + status[VK_CONTROL|VK_ISENHANCED] = 0; + if (modifiers & MODIFIER_CONTROL) { + status[VK_CONTROL|VK_ISENHANCED] = VKS_ON; + status[vkkey] |= VKS_CTRL; + } + + status[VK_MENU|VK_ISENHANCED] = 0; + if (modifiers & MODIFIER_ALT) { + status[VK_MENU|VK_ISENHANCED] = VKS_ON; + status[vkkey] |= VKS_ALT; + } + + status[VK_APPS|VK_ISENHANCED] = 0; + if (modifiers & MODIFIER_LOGO) { + status[VK_APPS|VK_ISENHANCED] = VKS_ON; + status[vkkey] |= VKS_APPS; + } + } + + KeyboardStatus(console, rows, status); +} + +/* + * EnvironmentStatus + */ +static void +EnvironmentStatus(HANDLE oconsole) +{ + wchar_t klid[KL_NAMELENGTH] = { 0 }; + wchar_t iso639[16] = { 0 }, iso3166[16] = { 0 }, displayname[256] = { 0 }; + const LCID slcid = GetSystemDefaultLCID(); + const LCID ulcid = GetUserDefaultLCID(); + const LCID tlcid = GetThreadLocale(); + + ConsoleClearEOL(oconsole); + wprintf(L"\n"); + + ConsoleClearEOL(oconsole); + GetKeyboardLayoutNameW(klid); + wprintf(L"\nKLID: <%s>, type=0x%x/0x%x, fns=%u", klid, GetKeyboardType(0), GetKeyboardType(1), GetKeyboardType(2)); + + ConsoleClearEOL(oconsole); + wprintf(L"\nLCID:"); + wprintf(L" sys=%u/0x%x", slcid, slcid); + if (GetLocaleInfoW(slcid, LOCALE_SISO639LANGNAME, iso639, _countof(iso639)) && + GetLocaleInfoW(slcid, LOCALE_SISO3166CTRYNAME, iso3166, _countof(iso3166))) { + GetLocaleInfoW(slcid, LOCALE_SLOCALIZEDCOUNTRYNAME, displayname, _countof(displayname)); + wprintf(L" <%s_%s> (%s)", iso639, iso3166, displayname); // "9_9 (displayname)" + } + + wprintf(L", user=%u/0x%x", ulcid, ulcid); + if (GetLocaleInfoW(ulcid, LOCALE_SISO639LANGNAME, iso639, _countof(iso639)) && + GetLocaleInfoW(ulcid, LOCALE_SISO3166CTRYNAME, iso3166, _countof(iso3166))) { + GetLocaleInfoW(ulcid, LOCALE_SLOCALIZEDCOUNTRYNAME, displayname, _countof(displayname)); + wprintf(L" <%s_%s> (%s)", iso639, iso3166, displayname); // "9_9 (displayname)" + } + + wprintf(L", thr=%u/0x%x", tlcid, tlcid); + if (GetLocaleInfoW(tlcid, LOCALE_SISO639LANGNAME, iso639, _countof(iso639)) && + GetLocaleInfoW(tlcid, LOCALE_SISO3166CTRYNAME, iso3166, _countof(iso3166))) { + GetLocaleInfoW(tlcid, LOCALE_SLOCALIZEDCOUNTRYNAME, displayname, _countof(displayname)); + wprintf(L" <%s_%s> (%s)", iso639, iso3166, displayname); // "9_9 (displayname)" + } + + ConsoleClearEOL(oconsole); + wprintf(L"\nCP: oem=%u/0x%x, acp=%u/0x%x, cin=%u/0x%x, cout=%u/0x%x", + GetOEMCP(), GetOEMCP(), GetACP(), GetACP(), GetConsoleCP(), GetConsoleCP(), GetConsoleOutputCP(), GetConsoleOutputCP()); + + ConsoleClearEOL(oconsole); + wprintf(L"\n"); + + ConsoleClearEOL(oconsole); + wprintf(L"\n"); +} + +/* + * KeyboardStatus --- + * Echo the current keyboard status. + **/ +static void +KeyboardStatus(HANDLE console, const struct KBRow **rows, BYTE *status) +{ + COORD coord = {0, 1}; + const struct KBRow *key; + unsigned r, c; + + for (r = 0; rows[r]; ++r) { + for (c = 0, key = rows[r]; key->vk; ++key) { + coord.X = (SHORT)(c + 1); + SetConsoleCursorPosition(console, coord); + c += KeyboardKey(console, 2, key, status); + } + coord.Y += 1; + + for (c = 0, key = rows[r]; key->vk; ++key) { + coord.X = (SHORT)(c + 1); + SetConsoleCursorPosition(console, coord); + c += KeyboardKey(console, 1, key, status); + } + coord.Y += 2; + } + coord.X = 0; + SetConsoleCursorPosition(console, coord); +} + + +/* + * KeyboardKey --- + * Echo the specified key status. + **/ +static int +KeyboardKey(HANDLE console, unsigned line, const struct KBRow *key, BYTE *status) +{ + const int vk = key->vk; + + if (vk > 0) { + const wchar_t t_name[2] = {(wchar_t) '?', 0}; + const wchar_t *label = (2 == line ? (key->label2 ? key->label2 : L"") : + (key->label1 ? key->label1 : t_name)); + const WORD vkstatus = status[vk]; + WCHAR wbuffer[128] = {0}; + DWORD len1, len2; + int length, width; + + length = wcslen(label); + width = (key->width ? key->width : 4); // default=4 + if (length >= width) { // limit + len1 = wnsprintfW(wbuffer, _countof(wbuffer)-1, L"%-*.*s", width, width, label); + } else { // center + const int extra = width - length, left = extra / 2; + len1 = wnsprintfW(wbuffer, _countof(wbuffer)-1, L"%*s%s%*s", left, L"", label, width - (left + length), L""); + } + + if (1 == line && key->label3) { // AltGr + length = wcslen(key->label3); + if (length) { + wbuffer[len1 - 1] = key->label3[0]; + } + } + + SetConsoleTextAttribute(console, FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE|FOREGROUND_INTENSITY| + ((vkstatus & VKS_PRESS) ? BACKGROUND_GREEN : + ((vkstatus & VKS_DONE) ? BACKGROUND_RED : + ((vkstatus & VKS_ON) ? BACKGROUND_BLUE : BACKGROUND_INTENSITY)))); + WriteConsoleW(console, wbuffer, len1, NULL, NULL); + + len2 = wsprintfW(wbuffer, L"%c%c%c", // control bits, width=3 + (vkstatus & VKS_SHIFT) ? 'S' : ' ', (vkstatus & VKS_CTRL) ? 'C' : ' ', (vkstatus & VKS_ALT) ? 'A' : ' '); + SetConsoleTextAttribute(console, FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE); + WriteConsoleW(console, wbuffer, len2, NULL, NULL); + + if (1 == line && (vkstatus & VKS_PRESS)) + status[vk] &= ~VKS_PRESS; + + return len1 + len2 + 1; + } + + if (key->width) return key->width; + return 8; //4+3+1 +} + + +/* + * Usage --- + * Command line usage. + **/ +static void +Usage(const char *msg, ...) +{ + if (msg) { + va_list ap; + va_start(ap, msg); + printf("kbtest: "); vprintf(msg, ap); printf("\n\n"); + va_end(ap); + } + + printf("kbtest - keyboard encode test application\n" \ + "\n" \ + "usage: kbtest [options] keyboard layout ID.\n" \ + " --layout= Layout definition.\n" \ + "\n" \ + " --version application version.\n" \ + " --help command line.\n" \ + "\n" \ + "Commands:\n" \ + " dump report keyboard definition.\n" \ + " test interactive.\n" \ + "\n"); + exit(3); + /*NOTREACHED*/ +} + + +/* + * Version --- + * Application build information. + **/ +static void +Version(void) +{ + printf("kbtest - keyboard encode test application\n"); + exit(3); + /*NOTREACHED*/ +} + + +/* + * HandlerRoutine --- + * Console event/signal handler. + **/ +static BOOL WINAPI +ConsoleHandler(DWORD dwCtrlType) +{ + switch(dwCtrlType) { + case 3: // 3 is reserved! + case 4: // 4 is reserved! + assert(0); + break; + case CTRL_BREAK_EVENT: // Ctrl-Break + ++ctrl_break; // exit main-loop + SetEvent(GetStdHandle(STD_INPUT_HANDLE)); + return TRUE; + } + return FALSE; +} + + +static void +XKBTranslation(const key_event_t *evt) +{ + char text[128] = {0}, *cursor = text; + const char *name; + + // modifiers + if (evt->kbmodifiers) { + const unsigned kbmodifiers = evt->kbmodifiers; + unsigned modifiers = 0; + + if (kbmodifiers & MODIFIER_LOGO ) cursor += sprintf(cursor, "%sLogo", (modifiers++ ? "-" : "")); + if (kbmodifiers & MODIFIER_ALT ) cursor += sprintf(cursor, "%sAlt", (modifiers++ ? "-" : "")); + if (kbmodifiers & MODIFIER_CONTROL) cursor += sprintf(cursor, "%sCtrl", (modifiers++ ? "-" : "")); + if (kbmodifiers & MODIFIER_SHIFT ) cursor += sprintf(cursor, "%sShift", (modifiers++ ? "-" : "")); + } + + // event + cursor += sprintf(cursor, ""); + if (evt->kblabel) { // resolved key-symbol. + cursor += sprintf(cursor, "%s", evt->kblabel); + + } else if (evt->ascii && NULL != (name = latin1name(evt->ascii))) { + cursor += sprintf(cursor, "%s", name); // latin1 key-symbol. + + } else if (evt->vkname) { // VK name. + cursor += sprintf(cursor, "%s", evt->vkname); + + } else if (evt->ascii >= 0x20 && evt->ascii <= 0x7f /*isprint*/) { + cursor += sprintf(cursor, "%c", evt->ascii); // value; unshifted see cio decoder. + + } else if (evt->unicode != KEY_INVALID) { + cursor += sprintf(cursor, "0x%u", evt->unicode); // unicode. + } + + assert(cursor < (text + sizeof(text))); + printf("XKB: %s", text); +} + + +static const char * +latin1name(unsigned value) +{ + switch (value) { + // controls + + case 0x20: return "space"; // ! ! + case 0x21: return "exclam"; // ! ! ! + case 0x22: return "quotedbl"; // ! " ! + case 0x23: return "numbersign"; // ! # ! + case 0x24: return "dollar"; // ! $ ! + case 0x25: return "percent"; // ! % ! + case 0x26: return "ampersand"; // ! & ! + case 0x27: return "apostrophe"; // ! \ ! + case 0x28: return "parenleft"; // ! ( ! + case 0x29: return "parenright"; // ! ) ! + case 0x2a: return "asterisk"; // ! * ! + case 0x2b: return "plus"; // ! + ! + case 0x2c: return "comma"; // ! , ! + case 0x2d: return "minus"; // ! - ! + case 0x2e: return "period"; // ! . ! + case 0x2f: return "slash"; // ! / ! + // 0 .. 9 + case 0x3a: return "colon"; // ! : ! + case 0x3b: return "semicolon"; // ! ; ! + case 0x3c: return "less "; // ! < ! + case 0x3d: return "equal"; // ! = ! + case 0x3e: return "greater"; // ! > ! + case 0x3f: return "question"; // ! ? ! + case 0x40: return "at"; // ! @ ! + // A .. Z + case 0x5b: return "bracketleft"; // ! [ ! + case 0x5c: return "backslash"; // ! \ ! + case 0x5d: return "bracketright"; // ! ] ! + case 0x5e: return "asciicircum"; // ! ^ ! + case 0x5f: return "underscore"; // ! _ ! + // a .. z + case 0x60: return "grave"; // ! ` ! + case 0x7b: return "braceleft"; // ! { ! + case 0x7c: return "bar"; // ! | ! + case 0x7d: return "braceright"; // ! } ! + case 0x7e: return "asciitilde"; // ! ~ ! + // controls + + // Latin1 + case 0xa0: return "nobreakspace"; // ! ! + case 0xa1: return "exclamdown"; // ! ¡ ! + case 0xa2: return "cent"; // ! ¢ ! + case 0xa3: return "sterling"; // ! £ ! + case 0xa4: return "currency"; // ! ¤ ! + case 0xa5: return "yen"; // ! ¥ ! + case 0xa6: return "brokenbar"; // ! ¦ ! + case 0xa7: return "section"; // ! § ! + case 0xa8: return "diaeresis"; // ! ¨ ! + case 0xa9: return "copyright"; // ! © ! + case 0xaa: return "ordfeminine"; // ! ª ! + case 0xab: return "guillemotleft"; // ! « ! + case 0xac: return "notsign"; // ! ¬ ! + case 0xad: return "hyphen"; // ! ­ ! + case 0xae: return "registered"; // ! ® ! + case 0xaf: return "macron"; // ! ¯ ! + case 0xb0: return "degree"; // ! ° ! + case 0xb1: return "plusminus"; // ! ± ! + case 0xb2: return "twosuperior"; // ! ² ! + case 0xb3: return "threesuperior"; // ! ³ ! + case 0xb4: return "acute"; // ! ´ ! + case 0xb5: return "mu"; // ! µ ! + case 0xb6: return "paragraph"; // ! ¶ ! + case 0xb7: return "periodcentere"; // ! · ! + case 0xb8: return "cedilla"; // ! ç ! + case 0xb9: return "onesuperior"; // ! ¹ ! + case 0xba: return "masculine"; // ! º ! + case 0xbb: return "guillemotrigh"; // ! » ! + case 0xbc: return "onequarter"; // ! ¼ ! + case 0xbd: return "onehalf"; // ! ½ ! + case 0xbe: return "threequarters"; // ! ¾ ! + case 0xbf: return "questiondown"; // ! ¿ ! + case 0xc0: return "Agrave"; // ! À ! + case 0xc1: return "Aacute"; // ! Á ! + case 0xc2: return "Acircumflex"; // ! Â ! + case 0xc3: return "Atilde"; // ! Ã ! + case 0xc4: return "Adiaeresis"; // ! Ä ! + case 0xc5: return "Aring"; // ! Å ! + case 0xc6: return "AE"; // ! Æ ! + case 0xc7: return "Ccedilla"; // ! Ç ! + case 0xc8: return "Egrave"; // ! È ! + case 0xc9: return "Eacute"; // ! É ! + case 0xca: return "Ecircumflex"; // ! Ê ! + case 0xcb: return "Ediaeresis"; // ! Ë ! + case 0xcc: return "Igrave"; // ! Ì ! + case 0xcd: return "Iacute"; // ! Í ! + case 0xce: return "Icircumflex"; // ! Î ! + case 0xcf: return "Idiaeresis"; // ! Ï ! + case 0xd0: return "ETH"; // ! Ð ! + case 0xd1: return "Ntilde"; // ! Ñ ! + case 0xd2: return "Ograve"; // ! Ò ! + case 0xd3: return "Oacute"; // ! Ó ! + case 0xd4: return "Ocircumflex"; // ! Ô ! + case 0xd5: return "Otilde"; // ! Õ ! + case 0xd6: return "Odiaeresis"; // ! Ö ! + case 0xd7: return "multiply"; // ! × ! + case 0xd8: return "Ooblique"; // ! Ø ! + case 0xd9: return "Ugrave"; // ! Ù ! + case 0xda: return "Uacute"; // ! Ú ! + case 0xdb: return "Ucircumflex"; // ! Û ! + case 0xdc: return "Udiaeresis"; // ! Ü ! + case 0xdd: return "Yacute"; // ! Ý ! + case 0xde: return "THORN"; // ! Þ ! + case 0xdf: return "ssharp"; // ! ß ! + case 0xe0: return "agrave"; // ! à ! + case 0xe1: return "aacute"; // ! á ! + case 0xe2: return "acircumflex"; // ! â ! + case 0xe3: return "atilde"; // ! ã ! + case 0xe4: return "adiaeresis"; // ! ä ! + case 0xe5: return "aring"; // ! å ! + case 0xe6: return "ae"; // ! æ ! + case 0xe7: return "ccedilla"; // ! ç ! + case 0xe8: return "egrave"; // ! è ! + case 0xe9: return "eacute"; // ! é ! + case 0xea: return "ecircumflex"; // ! ê ! + case 0xeb: return "ediaeresis"; // ! ë ! + case 0xec: return "igrave"; // ! ì ! + case 0xed: return "iacute"; // ! í ! + case 0xee: return "icircumflex"; // ! î ! + case 0xef: return "idiaeresis"; // ! ï ! + case 0xf0: return "eth"; // ! ð ! + case 0xf1: return "ntilde"; // ! ñ ! + case 0xf2: return "ograve"; // ! ò ! + case 0xf3: return "oacute"; // ! ó ! + case 0xf4: return "ocircumflex"; // ! ô ! + case 0xf5: return "otilde"; // ! õ ! + case 0xf6: return "odiaeresis"; // ! ö ! + case 0xf7: return "division"; // ! ÷ ! + case 0xf8: return "oslash"; // ! ø ! + case 0xf9: return "ugrave"; // ! ù ! + case 0xfa: return "uacute"; // ! ú ! + case 0xfb: return "ucircumflex"; // ! û ! + case 0xfc: return "udiaeresis"; // ! ü ! + case 0xfd: return "yacute"; // ! ý ! + case 0xfe: return "thorn"; // ! þ ! + case 0xff: return "ydiaeresis"; // ! ! + } + return NULL; +} + +/*end*/ diff --git a/mcwin32/src/kbtest/kbtest.rc b/mcwin32/src/kbtest/kbtest.rc new file mode 100644 index 0000000..9022a85 --- /dev/null +++ b/mcwin32/src/kbtest/kbtest.rc @@ -0,0 +1,124 @@ +/* + * windows resource file + * + * This file is part of the Midnight Commander. + * + * The Midnight Commander is free software: you can redistribute it + * and/or modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the License, + * or (at your option) any later version. + * + * The Midnight Commander is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#ifndef WINDRES +#include "windows.h" +#include "winver.h" +#endif + +#include "kbbuildinfo.h" + +#define RC_PRODUCTVERSION VERSION_1 , VERSION_2 , VERSION_3 , VERSION_4 +#define RC_FILEVERSION VERSION_1 , VERSION_2 , VERSION_3 , VERSION_4 + +/* + * English (U.S.) resources + */ + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) + +#ifdef _WIN32 +#ifndef WINDRES +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#endif +#pragma code_page(1252) +#endif /* _WIN32 */ + +/* + * Manifest + */ +#ifndef RT_MANIFEST +#define RT_MANIFEST 24 +#endif +#ifndef CREATEPROCESS_MANIFEST_RESOURCE_ID +#define CREATEPROCESS_MANIFEST_RESOURCE_ID 1 +#endif + +/* + * Updater Meta Data + * nameID typeID { raw data } + */ + +UPDATER HostURL { "\0" } +UPDATER Channel { "release\0" } + + +/* + * Version Information + */ + +VS_VERSION_INFO VERSIONINFO +#if defined(RC_FILEVERSION) + FILEVERSION RC_FILEVERSION + PRODUCTVERSION RC_PRODUCTVERSION +#endif + FILEFLAGSMASK VS_FFI_FILEFLAGSMASK +#ifdef _DEBUG + FILEFLAGS (VS_FF_SPECIALBUILD|VS_FF_DEBUG) +#else + FILEFLAGS (VS_FF_SPECIALBUILD) +#endif + FILEOS VOS_NT_WINDOWS32 + FILETYPE VFT_APP + FILESUBTYPE VFT2_UNKNOWN + BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904E4" + BEGIN + VALUE "CompanyName", "" + + VALUE "FileDescription", "KBTest" + + VALUE "FileVersion", VERSION ", Build:" BUILD_DATE "-" BUILD_NUMBER /* match mc.rc */ + + VALUE "InternalName", "Console keyboard tester" + + VALUE "Copyright", + "Copyright (C) 2024, Adam Young. All rights reserved. \n" + "Copyright (c) 1998-2000 Thai Open Source Software Center Ltd and Clark Cooper. \n" + "Copyright (c) 2001-2019 Expat maintainers. \n" + "This is free software; see the source for copying conditions. \n" + "There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. \n" + + VALUE "Maintainers", "https://github.com/adamyg/mcwin32" + + VALUE "LegalTrademarks", "see MC License" + + VALUE "OriginalFilename", "kbtest.exe" + + VALUE "ProductName", "KBTest" /* match mc.rc */ + END + END + + /* The following line should only be modified for localized versions. */ + /* It consists of any number of WORD,WORD pairs, with each pair */ + /* describing a language,codepage combination supported by the file. */ + /* */ + /* For example, a file might have values "0x409,1252" indicating that it */ + /* supports English language (0x409) in the Windows ANSI codepage (1252). */ + + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1252 + END + END + +#endif /* English (U.S.) resources */ + diff --git a/mcwin32/src/kbtest/kbvirtualextra.h b/mcwin32/src/kbtest/kbvirtualextra.h new file mode 100644 index 0000000..6dc175b --- /dev/null +++ b/mcwin32/src/kbtest/kbvirtualextra.h @@ -0,0 +1,86 @@ +/* -*- mode: c; indent-width: 4; -*- */ +/* + * libtermemu console driver + * + * Copyright (c) 2024, Adam Young. + * All rights reserved. + * + * This file is part of the WinXSH project. + * + * The applications are free software: you can redistribute it + * and/or modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation, version 3. + * + * Redistributions of source code must retain the above copyright + * notice, and must be distributed with the license document above. + * + * Redistributions in binary form must reproduce the above copyright + * notice, and must include the license document above in + * the documentation and/or other materials provided with the + * distribution. + * + * This project is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * License for more details. + * ==end== + */ + +#if !defined(VK_0) +#define VK_0 0x30 // 0x30 - 0 key +#define VK_1 0x31 // 0x31 - 1 key +#define VK_2 0x32 // 0x32 - 2 key +#define VK_3 0x33 // 0x33 - 3 key +#define VK_4 0x34 // 0x34 - 4 key +#define VK_5 0x35 // 0x35 - 5 key +#define VK_6 0x36 // 0x36 - 6 key +#define VK_7 0x37 // 0x37 - 7 key +#define VK_8 0x38 // 0x38 - 8 key +#define VK_9 0x39 // 0x39 - 9 key + +#define VK_A 0x41 // 0x41 - A key +#define VK_B 0x42 // 0x42 - B key +#define VK_C 0x43 // 0x43 - C key +#define VK_D 0x44 // 0x44 - D key +#define VK_E 0x45 // 0x45 - E key +#define VK_F 0x46 // 0x46 - F key +#define VK_G 0x47 // 0x47 - G key +#define VK_H 0x48 // 0x48 - H key +#define VK_I 0x49 // 0x49 - I key +#define VK_J 0x4A // 0x4A - J key +#define VK_K 0x4B // 0x4B - K key +#define VK_L 0x4C // 0x4C - L key +#define VK_M 0x4D // 0x4D - M key +#define VK_N 0x4E // 0x4E - N key +#define VK_O 0x4F // 0x4F - O key +#define VK_P 0x50 // 0x50 - P key +#define VK_Q 0x51 // 0x51 - Q key +#define VK_R 0x52 // 0x52 - R key +#define VK_S 0x53 // 0x53 - S key +#define VK_T 0x54 // 0x54 - T key +#define VK_U 0x55 // 0x55 - U key +#define VK_V 0x56 // 0x56 - V key +#define VK_W 0x57 // 0x57 - W key +#define VK_X 0x58 // 0x58 - X key +#define VK_Y 0x59 // 0x59 - Y key +#define VK_Z 0x5A // 0x5A - Z key +#endif + +#if !defined(VK_DBE_ALPHANUMERIC) +#define VK_DBE_ALPHANUMERIC 0x0f0 +#define VK_DBE_KATAKANA 0x0f1 +#define VK_DBE_HIRAGANA 0x0f2 +#define VK_DBE_SBCSCHAR 0x0f3 +#define VK_DBE_DBCSCHAR 0x0f4 +#define VK_DBE_ROMAN 0x0f5 +#define VK_DBE_NOROMAN 0x0f6 +#define VK_DBE_ENTERWORDREGISTERMODE 0x0f7 +#define VK_DBE_ENTERIMECONFIGMODE 0x0f8 +#define VK_DBE_FLUSHSTRING 0x0f9 +#define VK_DBE_CODEINPUT 0x0fa +#define VK_DBE_NOCODEINPUT 0x0fb +#define VK_DBE_DETERMINESTRING 0x0fc +#define VK_DBE_ENTERDLGCONVERSIONMODE 0x0fd +#endif + +//end From da4910ea273c054ddd86d9ab4f4d1fe9647da60a Mon Sep 17 00:00:00 2001 From: adamyg Date: Mon, 26 Feb 2024 21:49:21 +0800 Subject: [PATCH 08/47] 2024 --- mcwin32/autoupdater/updater.rc | 2 +- mcwin32/libw32/Makefile.in | 4 ++-- mcwin32/libw32/dlfcn.h | 4 ++-- mcwin32/libw32/getopt.h | 4 ++-- mcwin32/libw32/unicode_cp437.h | 2 +- mcwin32/libw32/w32_dlfcn.c | 4 ++-- mcwin32/libw32/w32_gethostname.c | 4 ++-- mcwin32/libw32/w32_getlocale.c | 4 ++-- mcwin32/libw32/w32_iconv.c | 4 ++-- mcwin32/libw32/w32_poll.c | 4 ++-- mcwin32/libw32/w32_rwlock.c | 4 ++-- mcwin32/libw32/w32_uname.c | 4 ++-- mcwin32/libw32/w32config.hin | 4 ++-- mcwin32/libw32/win32_time.h | 4 ++-- mcwin32/src/drive.h | 2 +- mcwin32/support/updateyear.pl | 2 +- 16 files changed, 28 insertions(+), 28 deletions(-) diff --git a/mcwin32/autoupdater/updater.rc b/mcwin32/autoupdater/updater.rc index fb91b8a..def1191 100644 --- a/mcwin32/autoupdater/updater.rc +++ b/mcwin32/autoupdater/updater.rc @@ -96,7 +96,7 @@ VS_VERSION_INFO VERSIONINFO VALUE "InternalName", "WIN32 Midnight Commander" VALUE "Copyright", - "Copyright (C) 2012-2023, Adam Young. All rights reserved. \n" + "Copyright (C) 2012-2024, Adam Young. All rights reserved. \n" "Copyright (c) 1998-2000 Thai Open Source Software Center Ltd and Clark Cooper. \n" "Copyright (c) 2001-2019 Expat maintainers. \n" "This is free software; see the source for copying conditions. \n" diff --git a/mcwin32/libw32/Makefile.in b/mcwin32/libw32/Makefile.in index 6eae0c1..a31c4cb 100644 --- a/mcwin32/libw32/Makefile.in +++ b/mcwin32/libw32/Makefile.in @@ -1,9 +1,9 @@ # -*- mode: mak; indent-tabs-mode: t; tab-width: 8 -*- -# $Id: Makefile.in,v 1.26 2024/01/01 16:54:38 cvsuser Exp $ +# $Id: Makefile.in,v 1.27 2024/02/03 17:22:14 cvsuser Exp $ # libwin32 makefile. # # -# Copyright (c) 2007, 2012 - 2023 Adam Young. +# Copyright (c) 2007, 2012 - 2024 Adam Young. # All rights reserved. # # This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/dlfcn.h b/mcwin32/libw32/dlfcn.h index f05cf80..0c97841 100644 --- a/mcwin32/libw32/dlfcn.h +++ b/mcwin32/libw32/dlfcn.h @@ -1,14 +1,14 @@ #ifndef GR_DLFCN_H_INCLUDED #define GR_DLFCN_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_dlfcn_h,"$Id: dlfcn.h,v 1.4 2023/09/17 13:04:55 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_dlfcn_h,"$Id: dlfcn.h,v 1.5 2024/02/03 17:22:14 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* * for windows * - * Copyright (c) 1998 - 2023, Adam Young. + * Copyright (c) 1998 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/getopt.h b/mcwin32/libw32/getopt.h index ce9904b..0512949 100644 --- a/mcwin32/libw32/getopt.h +++ b/mcwin32/libw32/getopt.h @@ -1,14 +1,14 @@ #ifndef LIBW32_GETOPT_H_INCLUDED #define LIBW32_GETOPT_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_getopt_h,"$Id: getopt.h,v 1.12 2024/01/01 16:54:38 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_getopt_h,"$Id: getopt.h,v 1.13 2024/02/03 17:22:14 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* * win * - * Copyright (c) 1998 - 2023, Adam Young. + * Copyright (c) 1998 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/unicode_cp437.h b/mcwin32/libw32/unicode_cp437.h index dc72d1b..21290eb 100644 --- a/mcwin32/libw32/unicode_cp437.h +++ b/mcwin32/libw32/unicode_cp437.h @@ -1,7 +1,7 @@ #ifndef UNICODE_CP437_H_INCLUDED #define UNICODE_CP437_H_INCLUDED /* -*- mode: c; indent-width: 4; -*- */ -/* $Id: unicode_cp437.h,v 1.2 2018/09/29 02:22:53 cvsuser Exp $ +/* $Id: unicode_cp437.h,v 1.3 2024/02/02 15:18:41 cvsuser Exp $ * * UNICODE to CP437 table */ diff --git a/mcwin32/libw32/w32_dlfcn.c b/mcwin32/libw32/w32_dlfcn.c index e235930..ae69669 100644 --- a/mcwin32/libw32/w32_dlfcn.c +++ b/mcwin32/libw32/w32_dlfcn.c @@ -1,5 +1,5 @@ #include -__CIDENT_RCSID(gr_w32_dlfcn_c,"$Id: w32_dlfcn.c,v 1.5 2023/09/17 13:04:57 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_dlfcn_c,"$Id: w32_dlfcn.c,v 1.6 2024/02/04 10:38:35 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* @@ -7,7 +7,7 @@ __CIDENT_RCSID(gr_w32_dlfcn_c,"$Id: w32_dlfcn.c,v 1.5 2023/09/17 13:04:57 cvsuse * * dlopen, dlsym, dlclose and dlerror * - * Copyright (c) 1998 - 2023, Adam Young. + * Copyright (c) 1998 - 2024, Adam Young. * * This file is part of the Midnight Commander. * diff --git a/mcwin32/libw32/w32_gethostname.c b/mcwin32/libw32/w32_gethostname.c index c92fa7d..673e6cb 100644 --- a/mcwin32/libw32/w32_gethostname.c +++ b/mcwin32/libw32/w32_gethostname.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_gethostname_c,"$Id: w32_gethostname.c,v 1.13 2023/11/06 15:07:42 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_gethostname_c,"$Id: w32_gethostname.c,v 1.14 2024/02/04 10:38:35 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 gethostname * - * Copyright (c) 1998 - 2023, Adam Young. + * Copyright (c) 1998 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_getlocale.c b/mcwin32/libw32/w32_getlocale.c index dfae64c..d8c9387 100644 --- a/mcwin32/libw32/w32_getlocale.c +++ b/mcwin32/libw32/w32_getlocale.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_getlocale_c,"$Id: w32_getlocale.c,v 1.4 2023/09/17 13:04:57 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_getlocale_c,"$Id: w32_getlocale.c,v 1.5 2024/02/04 10:38:35 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 getlocale() system calls * - * Copyright (c) 1998 - 2023, Adam Young. + * Copyright (c) 1998 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_iconv.c b/mcwin32/libw32/w32_iconv.c index ac10782..66f7cef 100644 --- a/mcwin32/libw32/w32_iconv.c +++ b/mcwin32/libw32/w32_iconv.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_iconv_c,"$Id: w32_iconv.c,v 1.10 2023/09/17 13:04:58 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_iconv_c,"$Id: w32_iconv.c,v 1.11 2024/02/04 10:39:25 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 iconv dynamic loader. * - * Copyright (c) 1998 - 2023, Adam Young. + * Copyright (c) 1998 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_poll.c b/mcwin32/libw32/w32_poll.c index 8332fc8..acedf4e 100644 --- a/mcwin32/libw32/w32_poll.c +++ b/mcwin32/libw32/w32_poll.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_poll_c,"$Id: w32_poll.c,v 1.11 2023/12/28 17:30:52 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_poll_c,"$Id: w32_poll.c,v 1.12 2024/02/04 10:38:35 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 poll system calls * - * Copyright (c) 1998 - 2023 Adam Young. + * Copyright (c) 1998 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_rwlock.c b/mcwin32/libw32/w32_rwlock.c index eb21eb8..f6d03e3 100644 --- a/mcwin32/libw32/w32_rwlock.c +++ b/mcwin32/libw32/w32_rwlock.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_rwlock_c,"$Id: w32_rwlock.c,v 1.8 2023/11/06 15:07:42 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_rwlock_c,"$Id: w32_rwlock.c,v 1.9 2024/02/04 10:38:35 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 rwlock functionality/emulation * - * Copyright (c) 1998 - 2023, Adam Young. + * Copyright (c) 1998 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/w32_uname.c b/mcwin32/libw32/w32_uname.c index c7c3423..b5c1bb9 100644 --- a/mcwin32/libw32/w32_uname.c +++ b/mcwin32/libw32/w32_uname.c @@ -1,11 +1,11 @@ #include -__CIDENT_RCSID(gr_w32_uname_c,"$Id: w32_uname.c,v 1.10 2023/09/17 13:05:00 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_uname_c,"$Id: w32_uname.c,v 1.11 2024/02/04 10:38:35 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* * win32 uname() system calls. * - * Copyright (c) 1998 - 2023, Adam Young. + * Copyright (c) 1998 - 2024, Adam Young. * * This file is part of the Midnight Commander. * diff --git a/mcwin32/libw32/w32config.hin b/mcwin32/libw32/w32config.hin index 2bfbb44..605b208 100644 --- a/mcwin32/libw32/w32config.hin +++ b/mcwin32/libw32/w32config.hin @@ -1,13 +1,13 @@ #ifndef WIN32_CONFIG_H_INCLUDED #define WIN32_CONFIG_H_INCLUDED /* -*- mode: c; set-indent: 4; -*- */ -/* $Id: w32config.hin,v 1.22 2023/10/24 16:48:46 cvsuser Exp $ +/* $Id: w32config.hin,v 1.23 2024/02/03 17:22:14 cvsuser Exp $ * Machine configuration. * * System dependent configuration template, * Windows targets (see makelib.pl for details). * - * Copyright (c) 1998 - 2023, Adam Young. + * Copyright (c) 1998 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/win32_time.h b/mcwin32/libw32/win32_time.h index 770fe24..bc5aa42 100644 --- a/mcwin32/libw32/win32_time.h +++ b/mcwin32/libw32/win32_time.h @@ -1,14 +1,14 @@ #ifndef LIBW32_WIN32_TIME_H_INCLUDED #define LIBW32_WIN32_TIME_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_win32_time_h,"$Id: win32_time.h,v 1.15 2023/09/17 13:05:00 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_win32_time_h,"$Id: win32_time.h,v 1.16 2024/02/03 17:22:14 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* * win32 time functionality. * - * Copyright (c) 1998 - 2023, Adam Young. + * Copyright (c) 1998 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/src/drive.h b/mcwin32/src/drive.h index 70901a5..408b955 100644 --- a/mcwin32/src/drive.h +++ b/mcwin32/src/drive.h @@ -7,7 +7,7 @@ Copyright (C) 2012 The Free Software Foundation, Inc. - Written by: Adam Young 2012 - 2023 + Written by: Adam Young 2012 - 2024 This file is part of the Midnight Commander. diff --git a/mcwin32/support/updateyear.pl b/mcwin32/support/updateyear.pl index c911541..2f90f16 100644 --- a/mcwin32/support/updateyear.pl +++ b/mcwin32/support/updateyear.pl @@ -1,5 +1,5 @@ #!/usr/bin/perl -# $Id: updateyear.pl,v 1.1 2023/10/02 08:13:36 cvsuser Exp $ +# $Id: updateyear.pl,v 1.2 2024/02/02 15:19:01 cvsuser Exp $ # -*- mode: perl; tabs: 8; indent-width: 4; -*- # Update the copyright year within the specified files # From 82853c0353a856a44deaf0aa586252d4c949f0f9 Mon Sep 17 00:00:00 2001 From: adamyg Date: Thu, 29 Feb 2024 00:05:56 +0800 Subject: [PATCH 09/47] kbtest --- mcwin32/diff/.cvsignore | 5 + mcwin32/diff/.gitignore | 5 + mcwin32/src/kbtest/Makefile.in | 4 +- mcwin32/src/kbtest/kbconsole.c | 53 +++++--- mcwin32/src/kbtest/kbconsole.h | 13 +- mcwin32/src/kbtest/kbcurrent.c | 4 +- mcwin32/src/kbtest/kbdefinition.c | 11 +- mcwin32/src/kbtest/kbdefinition.h | 5 +- mcwin32/src/kbtest/kbdump.c | 28 ++-- mcwin32/src/kbtest/kblayout.c | 190 ++------------------------- mcwin32/src/kbtest/kblayout.h | 5 +- mcwin32/src/kbtest/kbmap.c | 3 +- mcwin32/src/kbtest/kbmap.h | 5 +- mcwin32/src/kbtest/kbscancodes.h | 205 ++++++++++++++++++++++++++++++ mcwin32/src/kbtest/kbtest.c | 71 +++++------ mcwin32/src/kbtest/kbutil.h | 42 ++++++ 16 files changed, 376 insertions(+), 273 deletions(-) create mode 100644 mcwin32/diff/.cvsignore create mode 100644 mcwin32/diff/.gitignore create mode 100644 mcwin32/src/kbtest/kbscancodes.h create mode 100644 mcwin32/src/kbtest/kbutil.h diff --git a/mcwin32/diff/.cvsignore b/mcwin32/diff/.cvsignore new file mode 100644 index 0000000..83a4ebf --- /dev/null +++ b/mcwin32/diff/.cvsignore @@ -0,0 +1,5 @@ +diff_license.h +diff_usage.h +mcdiffinfo.h +Makefile +*.err diff --git a/mcwin32/diff/.gitignore b/mcwin32/diff/.gitignore new file mode 100644 index 0000000..512cd22 --- /dev/null +++ b/mcwin32/diff/.gitignore @@ -0,0 +1,5 @@ +diff_license.h +diff_usage.h +mcdiffinfo.h + + diff --git a/mcwin32/src/kbtest/Makefile.in b/mcwin32/src/kbtest/Makefile.in index bb19326..7bcc445 100644 --- a/mcwin32/src/kbtest/Makefile.in +++ b/mcwin32/src/kbtest/Makefile.in @@ -1,5 +1,5 @@ # -*- mode: mak; indent-tabs-mode: t; tab-width: 8 -*- -# $Id: Makefile.in,v 1.1 2024/02/15 18:21:36 cvsuser Exp $ +# $Id: Makefile.in,v 1.2 2024/02/27 17:18:08 cvsuser Exp $ # kbtest # # @@ -137,7 +137,7 @@ RMDFLAGS= -rf KBTESTTSK= $(D_BIN)/kbtest$(E) KBTESTSRC= . ifeq ("owc19","@TOOLCHAIN@") -EXPATSRC= ../../autoupdater/libappupdater/expat_legacy +EXPATSRC= ../../autoupdater/expat_legacy else EXPATSRC= ../../autoupdater/libappupdater/expat endif diff --git a/mcwin32/src/kbtest/kbconsole.c b/mcwin32/src/kbtest/kbconsole.c index 222fbd4..45c610b 100644 --- a/mcwin32/src/kbtest/kbconsole.c +++ b/mcwin32/src/kbtest/kbconsole.c @@ -1,5 +1,5 @@ #include -__CIDENT_RCSID(btest_c,"$Id: kbconsole.c,v 1.3 2024/02/17 08:23:13 cvsuser Exp $") +__CIDENT_RCSID(btest_c,"$Id: kbconsole.c,v 1.5 2024/02/28 15:55:21 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* @@ -34,6 +34,7 @@ __CIDENT_RCSID(btest_c,"$Id: kbconsole.c,v 1.3 2024/02/17 08:23:13 cvsuser Exp $ #include #include +#include "kbutil.h" /* * ConsoleClear --- @@ -59,7 +60,7 @@ ConsoleClear(HANDLE console) * Clear to End-Of-Screen. **/ void -ConsoleClearEOS(HANDLE console) +ConsoleCEOS(HANDLE console) { CONSOLE_SCREEN_BUFFER_INFO csbi = {0,0}; DWORD dwConSize, cCharsWritten; @@ -77,7 +78,7 @@ ConsoleClearEOS(HANDLE console) * Clear to End-Of-Line. **/ void -ConsoleClearEOL(HANDLE console) +ConsoleCEOL(HANDLE console) { CONSOLE_SCREEN_BUFFER_INFO csbi = {0,0}; DWORD dwConSize, cCharsWritten; @@ -128,39 +129,59 @@ ConsoleHome(HANDLE console) /* - * ConsolePrintA --- - * Formatted console output. + * Console formatted output **/ + void -ConsolePrintA(HANDLE console, const char *fmt, ...) +cprinta(const char *fmt, ...) { + HANDLE cout = GetStdHandle(STD_OUTPUT_HANDLE); + char *cursor, *nl; char buffer[1024]; va_list ap; int len; va_start(ap, fmt); len = vsnprintf(buffer, _countof(buffer), fmt, ap); - SetConsoleTextAttribute(console, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE); - WriteConsoleA(console, buffer, len, NULL, NULL); + SetConsoleTextAttribute(cout, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE); + + cursor = buffer; + while ((nl = strchr(cursor, '\n')) != NULL) { + const int part = (nl - cursor) + 1; + WriteConsoleA(cout, cursor, part - 1, NULL, NULL); + ConsoleCEOL(cout); + WriteConsoleA(cout, "\n\r", 2, NULL, NULL); + cursor += part; + len -= part; + } + WriteConsoleA(cout, cursor, len, NULL, NULL); va_end(ap); } -/* - * ConsolePrintW --- - * Formatted console output. - **/ -void -ConsolePrintW(HANDLE console, const wchar_t *fmt, ...) +void +cprintw(const wchar_t *fmt, ...) { + HANDLE cout = GetStdHandle(STD_OUTPUT_HANDLE); + wchar_t *cursor, *nl; wchar_t buffer[1024]; va_list ap; int len; va_start(ap, fmt); len = _vsnwprintf(buffer, _countof(buffer), fmt, ap); - SetConsoleTextAttribute(console, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE); - WriteConsoleW(console, buffer, len, NULL, NULL); + SetConsoleTextAttribute(cout, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE); + + cursor = buffer; + while ((nl = wcschr(cursor, '\n')) != NULL) { + const int part = (nl - cursor) + 1; + WriteConsoleW(cout, cursor, part - 1, NULL, NULL); + ConsoleCEOL(cout); + WriteConsoleA(cout, "\n\r", 2, NULL, NULL); + cursor += part; + len -= part; + } + WriteConsoleW(cout, cursor, len, NULL, NULL); va_end(ap); } diff --git a/mcwin32/src/kbtest/kbconsole.h b/mcwin32/src/kbtest/kbconsole.h index 8e7f7d4..3621b37 100644 --- a/mcwin32/src/kbtest/kbconsole.h +++ b/mcwin32/src/kbtest/kbconsole.h @@ -1,7 +1,7 @@ #ifndef KBCONSOLE_H_INCLUDED #define KBCONSOLE_H_INCLUDED #include -__CIDENT_RCSID(kbconsole_h,"$Id: kbconsole.h,v 1.2 2024/02/17 08:23:13 cvsuser Exp $") +__CIDENT_RCSID(kbconsole_h,"$Id: kbconsole.h,v 1.4 2024/02/28 15:55:21 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ @@ -41,16 +41,15 @@ __CPRAGMA_ONCE #include void ConsoleClear(HANDLE console); -void ConsoleClearEOS(HANDLE console); -void ConsoleClearEOL(HANDLE console); +void ConsoleCEOS(HANDLE console); +void ConsoleCEOL(HANDLE console); void ConsoleHome(HANDLE console); int ConsoleSizeSet(HANDLE console, int width, int height); -void ConsoleHome(HANDLE console); -void ConsolePrintA(HANDLE console, const char *fmt, ...); -void ConsolePrintW(HANDLE console, const wchar_t *fmt, ...); +void cprinta(const char *fmt, ...); +void cprintw(const wchar_t *fmt, ...); #endif //KBCONSOLE_H_INCLUDED -//end \ No newline at end of file +//end diff --git a/mcwin32/src/kbtest/kbcurrent.c b/mcwin32/src/kbtest/kbcurrent.c index 9f50dcb..7785dda 100644 --- a/mcwin32/src/kbtest/kbcurrent.c +++ b/mcwin32/src/kbtest/kbcurrent.c @@ -39,6 +39,7 @@ #include #include "kbdefinition.h" +#include "kbutil.h" static unsigned VirtualKeys(const HKL hkl, unsigned *vk2sc); @@ -192,4 +193,5 @@ VirtualKeys(const HKL hkl, unsigned *vk2sc) return count; } -//end \ No newline at end of file +//end + diff --git a/mcwin32/src/kbtest/kbdefinition.c b/mcwin32/src/kbtest/kbdefinition.c index bb15882..0cdedbd 100644 --- a/mcwin32/src/kbtest/kbdefinition.c +++ b/mcwin32/src/kbtest/kbdefinition.c @@ -49,11 +49,7 @@ #include "kbdefinition.h" #include "kbvirtualextra.h" #include "kbmap.h" - - -#if !defined(_countof) -#define _countof(a) (sizeof(a)/sizeof(a[0])) -#endif +#include "kbutil.h" typedef enum Element { elmNone = 0, @@ -75,7 +71,7 @@ typedef struct { PhysicalKey *current; } ParserContext; -static int __cdecl PhysicalKeysCompare(const void *a, const void *b); +static int /*_cdecl*/ PhysicalKeysCompare(const void *a, const void *b); static void XMLCALL OnStartElement(void *data, const char *name, const char **attrs); static void XMLCALL OnEndElement(void *data, const char *name); static void XMLCALL OnTextElement(void *data, const char *s, int len); @@ -145,7 +141,7 @@ KBDefinitionLoad(const char *source) } -static int __cdecl +static int /*__cdecl*/ PhysicalKeysCompare(const void *a, const void *b) { const PhysicalKey *v1 = (const PhysicalKey *)(a), *v2 = (const PhysicalKey *)(b); @@ -468,3 +464,4 @@ AttributeWITH(const char *value) } //end + diff --git a/mcwin32/src/kbtest/kbdefinition.h b/mcwin32/src/kbtest/kbdefinition.h index 1ccf6bd..1b45670 100644 --- a/mcwin32/src/kbtest/kbdefinition.h +++ b/mcwin32/src/kbtest/kbdefinition.h @@ -1,7 +1,7 @@ #ifndef KBDEFINITION_H_INCLUDED #define KBDEFINITION_H_INCLUDED #include -__CIDENT_RCSID(kbdefinition_h,"$Id: kbdefinition.h,v 1.4 2024/02/17 08:23:13 cvsuser Exp $") +__CIDENT_RCSID(kbdefinition_h,"$Id: kbdefinition.h,v 1.5 2024/02/27 17:18:08 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ @@ -68,4 +68,5 @@ void KBDefinitionFree(KBDefinition *); #endif //KBDEFINITION_H_INCLUDED -//end \ No newline at end of file +//end + diff --git a/mcwin32/src/kbtest/kbdump.c b/mcwin32/src/kbtest/kbdump.c index 979753e..6919b1d 100644 --- a/mcwin32/src/kbtest/kbdump.c +++ b/mcwin32/src/kbtest/kbdump.c @@ -1,5 +1,5 @@ #include -__CIDENT_RCSID(kblayout_c, "$Id: kbdump.c,v 1.4 2024/02/17 08:23:13 cvsuser Exp $") +__CIDENT_RCSID(kblayout_c, "$Id: kbdump.c,v 1.6 2024/02/28 15:55:21 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* @@ -44,6 +44,8 @@ __CIDENT_RCSID(kblayout_c, "$Id: kbdump.c,v 1.4 2024/02/17 08:23:13 cvsuser Exp #include "kbdump.h" #include "kbdefinition.h" #include "kbmap.h" +#include "kbconsole.h" +#include "kbutil.h" /* @@ -64,9 +66,9 @@ KBDump(const struct KBDefinition *def) WITH_SHIFT|WITH_CONTROL|WITH_MENU }; - printf("\n"); - printf(" SC VK TEXT _ s C sC c sc ca sca\n"); - printf(" ==========================================================================================================================================\n"); + cprinta("\n"); + cprinta(" SC VK TEXT _ s C sC c sc ca sca\n"); + cprinta(" ==========================================================================================================================================\n"); // 1234567 12 - 123456789012345678901234567890 123456789012345678901234567890 1234567 1234567 1234567 1234567 1234567 1234567 1234567 1234567 for (const PhysicalKey *pk = def->PhysicalKeys, *end = pk + def->PhysicalKeysCount; pk != end; ++pk) { @@ -88,30 +90,30 @@ KBDump(const struct KBDefinition *def) } if (0xE000 & sc) { - printf(" %04x ", sc); + cprinta(" %04x ", sc); } else { - printf(" %02x ", sc); + cprinta(" %02x ", sc); } - printf("%02x - %-30.30s ", vk, KBVirtualKeyName(vk)); - wprintf(L"%-30.30s ", pk->Name); + cprinta("%02x - %-30.30s ", vk, KBVirtualKeyName(vk)); + cprintw(L"%-30.30s ", pk->Name); for (unsigned v = 0; v < _countof(values); ++v) { const wchar_t value = values[v]; if (value) { if (value & 0xff00) { - printf("%04x ", value); + cprinta("%04x ", value); } else { - printf("%02x ", value); + cprinta("%02x ", value); } } else { - printf("-1 "); + cprinta("-1 "); } } - printf("\n"); + cprinta("\n"); } - printf("\n"); + cprinta("\n"); } //end diff --git a/mcwin32/src/kbtest/kblayout.c b/mcwin32/src/kbtest/kblayout.c index 8c537a4..50de7f9 100644 --- a/mcwin32/src/kbtest/kblayout.c +++ b/mcwin32/src/kbtest/kblayout.c @@ -1,5 +1,5 @@ #include -__CIDENT_RCSID(kblayout_c, "$Id: kblayout.c,v 1.5 2024/02/17 08:23:13 cvsuser Exp $") +__CIDENT_RCSID(kblayout_c, "$Id: kblayout.c,v 1.7 2024/02/28 16:00:49 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* @@ -42,179 +42,11 @@ __CIDENT_RCSID(kblayout_c, "$Id: kblayout.c,v 1.5 2024/02/17 08:23:13 cvsuser Ex #include "kbdefinition.h" #include "kblayout.h" -enum USScancode { - SC_Escape = 0x01, - SC_1 = 0x02, - SC_2 = 0x03, - SC_3 = 0x04, - SC_4 = 0x05, - SC_5 = 0x06, - SC_6 = 0x07, - SC_7 = 0x08, - SC_8 = 0x09, - SC_9 = 0x0A, - SC_0 = 0x0B, - SC_Minus = 0x0C, - SC_Equals = 0x0D, - SC_Backspace = 0x0E, - SC_Tab = 0x0F, - SC_Q = 0x10, - SC_W = 0x11, - SC_E = 0x12, - SC_R = 0x13, - SC_T = 0x14, - SC_Y = 0x15, - SC_U = 0x16, - SC_I = 0x17, - SC_O = 0x18, - SC_P = 0x19, - SC_BracketLeft = 0x1A, - SC_BracketRight = 0x1B, - SC_Enter = 0x1C, - SC_ControlLeft = 0x1D, - SC_A = 0x1E, - SC_S = 0x1F, - SC_D = 0x20, - SC_F = 0x21, - SC_G = 0x22, - SC_H = 0x23, - SC_J = 0x24, - SC_K = 0x25, - SC_L = 0x26, - SC_Semicolon = 0x27, - SC_Apostrophe = 0x28, - SC_Grave = 0x29, - SC_ShiftLeft = 0x2A, - SC_Backslash = 0x2B, - SC_Z = 0x2C, - SC_X = 0x2D, - SC_C = 0x2E, - SC_V = 0x2F, - SC_B = 0x30, - SC_N = 0x31, - SC_M = 0x32, - SC_Comma = 0x33, - SC_Preiod = 0x34, - SC_Slash = 0x35, - SC_ShiftRight = 0x36, - SC_Numpad_multiply = 0x37, - SC_AltLeft = 0x38, - SC_Space = 0x39, - SC_CapsLock = 0x3A, - SC_F1 = 0x3B, - SC_F2 = 0x3C, - SC_F3 = 0x3D, - SC_F4 = 0x3E, - SC_F5 = 0x3F, - SC_F6 = 0x40, - SC_F7 = 0x41, - SC_F8 = 0x42, - SC_F9 = 0x43, - SC_F10 = 0x44, - SC_NumLock = 0x45, - SC_ScrollLock = 0x46, - SC_Numpad_7 = 0x47, - SC_Numpad_8 = 0x48, - SC_Numpad_9 = 0x49, - SC_Numpad_minus = 0x4A, - SC_Numpad_4 = 0x4B, - SC_Numpad_5 = 0x4C, - SC_Numpad_6 = 0x4D, - SC_Numpad_plus = 0x4E, - SC_Numpad_1 = 0x4F, - SC_Numpad_2 = 0x50, - SC_Numpad_3 = 0x51, - SC_Numpad_0 = 0x52, - SC_Numpad_period = 0x53, - SC_Alt_printScreen = 0x54, /* Alt + print screen. MapVirtualKeyEx( VK_SNAPSHOT, MAPVK_VK_TO_VSC_EX, 0 ) returns scancode 0x54. */ - SC_BracketAngle = 0x56, /* Key between the left shift and Z. */ - SC_F11 = 0x57, - SC_F12 = 0x58, - SC_OEM_1 = 0x5a, /* VK_OEM_WSCTRL */ - SC_OEM_2 = 0x5b, /* VK_OEM_FINISH */ - SC_OEM_3 = 0x5c, /* VK_OEM_JUMP */ - SC_EraseEOF = 0x5d, - SC_OEM_4 = 0x5e, /* VK_OEM_BACKTAB */ - SC_OEM_5 = 0x5f, /* VK_OEM_AUTO */ - SC_Zoom = 0x62, - SC_Help = 0x63, - SC_F13 = 0x64, - SC_F14 = 0x65, - SC_F15 = 0x66, - SC_F16 = 0x67, - SC_F17 = 0x68, - SC_F18 = 0x69, - SC_F19 = 0x6a, - SC_F20 = 0x6b, - SC_F21 = 0x6c, - SC_F22 = 0x6d, - SC_F23 = 0x6e, - SC_OEM_6 = 0x6f, /* VK_OEM_PA3 */ - SC_Katakana = 0x70, - SC_OEM_7 = 0x71, /* VK_OEM_RESET */ - SC_F24 = 0x76, - SC_Sbcschar = 0x77, - SC_Convert = 0x79, - SC_Nonconvert = 0x7B, /* VK_OEM_PA1 */ - - SC_Media_previous = 0xE010, - SC_Media_next = 0xE019, - SC_Numpad_enter = 0xE01C, - SC_ControlRight = 0xE01D, - SC_Volume_mute = 0xE020, - SC_Launch_app2 = 0xE021, - SC_Media_play = 0xE022, - SC_Media_stop = 0xE024, - SC_Volume_down = 0xE02E, - SC_Volume_up = 0xE030, - SC_Browser_home = 0xE032, - SC_Numpad_divide = 0xE035, - SC_PrintScreen = 0xE037, - /* - SC_PrintScreen: - - mAke: 0xE02A 0xE037 - - bReak: 0xE0B7 0xE0AA - - MApVirtualKeyEx( VK_SNAPSHOT, MAPVK_VK_TO_VSC_EX, 0 ) returns scancode 0x54; - - THere is no VK_KEYDOWN with VK_SNAPSHOT. - */ - SC_AltRight = 0xE038, - SC_Cancel = 0xE046, /* CTRL + Pause */ - SC_Home = 0xE047, - SC_ArrowUp = 0xE048, - SC_PageUp = 0xE049, - SC_ArrowLeft = 0xE04B, - SC_ArrowRight = 0xE04D, - SC_End = 0xE04F, - SC_ArrowDown = 0xE050, - SC_PageDown = 0xE051, - SC_Insert = 0xE052, - SC_Delete = 0xE053, - SC_MetaLeft = 0xE05B, - SC_MetaRight = 0xE05C, - SC_Application = 0xE05D, - SC_Power = 0xE05E, - SC_Sleep = 0xE05F, - SC_Wake = 0xE063, - SC_Browser_search = 0xE065, - SC_Browser_favorites = 0xE066, - SC_Browser_refresh = 0xE067, - SC_Browser_stop = 0xE068, - SC_Browser_forward = 0xE069, - SC_Browser_back = 0xE06A, - SC_Launch_app1 = 0xE06B, - SC_Launch_email = 0xE06C, - SC_Launch_media = 0xE06D, - - SC_Pause = 0xE11D45, - /* - SC_Pause: - - make: 0xE11D 45 0xE19D C5 - - make in raw input: 0xE11D 0x45 - - break: none - - No repeat when you hold the key down - */ -}; - +static const wchar_t CUp[2] = {0x25B2}; +static const wchar_t CLeft[2] = {0x25C4}; +static const wchar_t CRight[2] = {0x25BA}; +static const wchar_t CDown[2] = {0x25BC}; +static const wchar_t CApp[2] = {0x2261}; /* * KBLayoutDefault --- @@ -265,12 +97,12 @@ KBLayoutDefault(void) {0}}; static const struct KBRow row5[] = { {VK(LSHIFT),L"LSH"},{VK(OEM_102),L"\\"},{AK(Z)},{AK(X)},{AK(C)},{AK(V)},{AK(B)},{AK(N)},{AK(M)},{VK(OEM_COMMA),L","},{VK(OEM_PERIOD),L"."},{VK(OEM_2),L"/"},{VK(RSHIFT),L"RSH"}, - {-1},{EK(UP),L"\u25B2"},{-1}, + {-1},{EK(UP),CUp},{-1}, {VK(NUMPAD1),L"1"},{VK(NUMPAD2),L"2"},{VK(NUMPAD3),L"3"},{EK(RETURN),L"CR"}, {0}}; static const struct KBRow row6[] = { - {VK(LCONTROL),L"Ctrl"},{EK(LWIN),L"Win"},{VK(LMENU),L"Alt"},{VK(SPACE),L"",44},{EK(RMENU),L"AGr"},{EK(RWIN),L"App"},{VK(APPS),L"\u2261"},{EK(RCONTROL),L"Ctrl"}, - {EK(LEFT),L"\u25C4"},{EK(DOWN),L"\u25BC"},{EK(RIGHT),L"\u25BA"}, + {VK(LCONTROL),L"Ctrl"},{EK(LWIN),L"Win"},{VK(LMENU),L"Alt"},{VK(SPACE),L"",44},{EK(RMENU),L"AGr"},{EK(RWIN),L"App"},{VK(APPS),CApp},{EK(RCONTROL),L"Ctrl"}, + {EK(LEFT),CLeft},{EK(DOWN),CDown},{EK(RIGHT),CRight}, {VK(NUMPAD0),L" 0 ",12},{VK(DECIMAL),L"."}, {0}}; static const struct KBRow *rows[] = @@ -335,12 +167,12 @@ KBLayoutBuild(const KBDefinition *layout) {0}}; static struct KBRow row5[] = { SCX(0x2A,5),SC(0x56),SC(0x2C),SC(0x2D),SC(0x2E),SC(0x2F),SC(0x30),SC(0x31),SC(0x32),SC(0x33),SC(0x34),SC(0x35),SCX(0x36,15), - SP(2),{-1},SCT(0xE048,L"\u25B2"),{-1}, + SP(2),{-1},SCT(0xE048,CUp),{-1}, SP(2),SC(0x4F),SC(0x50),SC(0x51),{-1}, {0}}; static struct KBRow row6[] = { SCX(0x1D,5),SCX(0xE05B,5),SCX(0x38,5),SCTX(0x39,L"",49),SCX(0xE038,5),SCX(0xE05C,5),SCX(0xE05D,5),SCX(0xE01D,5), - SP(2),SCT(0xE04B,L"\u25C4"),SCT(0xE050,L"\u25BC"),SCT(0xE04D,L"\u25BA"), + SP(2),SCT(0xE04B,CLeft),SCT(0xE050,CDown),SCT(0xE04D,CRight), SP(2),SCX(0x52,12),SC(0x53),SC(0xE01C), {0}}; static struct KBRow *rows[] = diff --git a/mcwin32/src/kbtest/kblayout.h b/mcwin32/src/kbtest/kblayout.h index b05e41e..c7ff861 100644 --- a/mcwin32/src/kbtest/kblayout.h +++ b/mcwin32/src/kbtest/kblayout.h @@ -1,7 +1,7 @@ #ifndef KBLAYOUT_H_INCLUDED #define KBLAYOUT_H_INCLUDED #include -__CIDENT_RCSID(kblayout_h,"$Id: kblayout.h,v 1.2 2024/02/17 08:23:13 cvsuser Exp $") +__CIDENT_RCSID(kblayout_h,"$Id: kblayout.h,v 1.3 2024/02/27 17:18:08 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ @@ -48,4 +48,5 @@ const struct KBRow **KBLayoutBuild(const struct KBDefinition *def); #endif //KBLAYOUT_H_INCLUDED -//end \ No newline at end of file +//end + diff --git a/mcwin32/src/kbtest/kbmap.c b/mcwin32/src/kbtest/kbmap.c index 2495957..d4ea567 100644 --- a/mcwin32/src/kbtest/kbmap.c +++ b/mcwin32/src/kbtest/kbmap.c @@ -1,5 +1,5 @@ #include -__CIDENT_RCSID(kbmap_c,"$Id: kbmap.c,v 1.8 2024/02/25 16:45:12 cvsuser Exp $") +__CIDENT_RCSID(kbmap_c,"$Id: kbmap.c,v 1.9 2024/02/27 17:18:08 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* @@ -43,6 +43,7 @@ __CIDENT_RCSID(kbmap_c,"$Id: kbmap.c,v 1.8 2024/02/25 16:45:12 cvsuser Exp $") #include "kbvirtualextra.h" #include "kbmap.h" +#include "kbutil.h" struct xkb { #define VK_VOID 0xffff diff --git a/mcwin32/src/kbtest/kbmap.h b/mcwin32/src/kbtest/kbmap.h index 691bf0e..8b60b39 100644 --- a/mcwin32/src/kbtest/kbmap.h +++ b/mcwin32/src/kbtest/kbmap.h @@ -1,7 +1,7 @@ #ifndef KBMAP_H_INCLUDED #define KBMAP_H_INCLUDED #include -__CIDENT_RCSID(kbmap_h,"$Id: kbmap.h,v 1.5 2024/02/17 08:23:14 cvsuser Exp $") +__CIDENT_RCSID(kbmap_h,"$Id: kbmap.h,v 1.6 2024/02/27 17:18:08 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ @@ -79,4 +79,5 @@ __END_DECLS #endif // KBMAP_H_INCLUDED -//end \ No newline at end of file +//end + diff --git a/mcwin32/src/kbtest/kbscancodes.h b/mcwin32/src/kbtest/kbscancodes.h new file mode 100644 index 0000000..bdfc0f9 --- /dev/null +++ b/mcwin32/src/kbtest/kbscancodes.h @@ -0,0 +1,205 @@ +#include +__CIDENT_RCSID(kbscancode_c, "$Id: kbscancodes.h,v 1.1 2024/02/28 16:00:49 cvsuser Exp $") + +/* -*- mode: c; indent-width: 4; -*- */ +/* + * console keyboard test application + * + * Copyright (c) 2015 - 2024, Adam Young. + * All rights reserved. + * + * This file is part of the WinXSH project. + * + * The applications are free software: you can redistribute it + * and/or modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation, version 3. + * + * Redistributions of source code must retain the above copyright + * notice, and must be distributed with the license document above. + * + * Redistributions in binary form must reproduce the above copyright + * notice, and must include the license document above in + * the documentation and/or other materials provided with the + * distribution. + * + * This project is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * License for more details. + * ==end== + */ + +enum USScancode { + SC_Escape = 0x01, + SC_1 = 0x02, + SC_2 = 0x03, + SC_3 = 0x04, + SC_4 = 0x05, + SC_5 = 0x06, + SC_6 = 0x07, + SC_7 = 0x08, + SC_8 = 0x09, + SC_9 = 0x0A, + SC_0 = 0x0B, + SC_Minus = 0x0C, + SC_Equals = 0x0D, + SC_Backspace = 0x0E, + SC_Tab = 0x0F, + SC_Q = 0x10, + SC_W = 0x11, + SC_E = 0x12, + SC_R = 0x13, + SC_T = 0x14, + SC_Y = 0x15, + SC_U = 0x16, + SC_I = 0x17, + SC_O = 0x18, + SC_P = 0x19, + SC_BracketLeft = 0x1A, + SC_BracketRight = 0x1B, + SC_Enter = 0x1C, + SC_ControlLeft = 0x1D, + SC_A = 0x1E, + SC_S = 0x1F, + SC_D = 0x20, + SC_F = 0x21, + SC_G = 0x22, + SC_H = 0x23, + SC_J = 0x24, + SC_K = 0x25, + SC_L = 0x26, + SC_Semicolon = 0x27, + SC_Apostrophe = 0x28, + SC_Grave = 0x29, + SC_ShiftLeft = 0x2A, + SC_Backslash = 0x2B, + SC_Z = 0x2C, + SC_X = 0x2D, + SC_C = 0x2E, + SC_V = 0x2F, + SC_B = 0x30, + SC_N = 0x31, + SC_M = 0x32, + SC_Comma = 0x33, + SC_Preiod = 0x34, + SC_Slash = 0x35, + SC_ShiftRight = 0x36, + SC_Numpad_multiply = 0x37, + SC_AltLeft = 0x38, + SC_Space = 0x39, + SC_CapsLock = 0x3A, + SC_F1 = 0x3B, + SC_F2 = 0x3C, + SC_F3 = 0x3D, + SC_F4 = 0x3E, + SC_F5 = 0x3F, + SC_F6 = 0x40, + SC_F7 = 0x41, + SC_F8 = 0x42, + SC_F9 = 0x43, + SC_F10 = 0x44, + SC_NumLock = 0x45, + SC_ScrollLock = 0x46, + SC_Numpad_7 = 0x47, + SC_Numpad_8 = 0x48, + SC_Numpad_9 = 0x49, + SC_Numpad_minus = 0x4A, + SC_Numpad_4 = 0x4B, + SC_Numpad_5 = 0x4C, + SC_Numpad_6 = 0x4D, + SC_Numpad_plus = 0x4E, + SC_Numpad_1 = 0x4F, + SC_Numpad_2 = 0x50, + SC_Numpad_3 = 0x51, + SC_Numpad_0 = 0x52, + SC_Numpad_period = 0x53, + SC_Alt_printScreen = 0x54, /* Alt + print screen. MapVirtualKeyEx( VK_SNAPSHOT, MAPVK_VK_TO_VSC_EX, 0 ) returns scancode 0x54. */ + SC_BracketAngle = 0x56, /* Key between the left shift and Z. */ + SC_F11 = 0x57, + SC_F12 = 0x58, + SC_OEM_1 = 0x5a, /* VK_OEM_WSCTRL */ + SC_OEM_2 = 0x5b, /* VK_OEM_FINISH */ + SC_OEM_3 = 0x5c, /* VK_OEM_JUMP */ + SC_EraseEOF = 0x5d, + SC_OEM_4 = 0x5e, /* VK_OEM_BACKTAB */ + SC_OEM_5 = 0x5f, /* VK_OEM_AUTO */ + SC_Zoom = 0x62, + SC_Help = 0x63, + SC_F13 = 0x64, + SC_F14 = 0x65, + SC_F15 = 0x66, + SC_F16 = 0x67, + SC_F17 = 0x68, + SC_F18 = 0x69, + SC_F19 = 0x6a, + SC_F20 = 0x6b, + SC_F21 = 0x6c, + SC_F22 = 0x6d, + SC_F23 = 0x6e, + SC_OEM_6 = 0x6f, /* VK_OEM_PA3 */ + SC_Katakana = 0x70, + SC_OEM_7 = 0x71, /* VK_OEM_RESET */ + SC_F24 = 0x76, + SC_Sbcschar = 0x77, + SC_Convert = 0x79, + SC_Nonconvert = 0x7B, /* VK_OEM_PA1 */ + + SC_Media_previous = 0xE010, + SC_Media_next = 0xE019, + SC_Numpad_enter = 0xE01C, + SC_ControlRight = 0xE01D, + SC_Volume_mute = 0xE020, + SC_Launch_app2 = 0xE021, + SC_Media_play = 0xE022, + SC_Media_stop = 0xE024, + SC_Volume_down = 0xE02E, + SC_Volume_up = 0xE030, + SC_Browser_home = 0xE032, + SC_Numpad_divide = 0xE035, + SC_PrintScreen = 0xE037, + /* + SC_PrintScreen: + - mAke: 0xE02A 0xE037 + - bReak: 0xE0B7 0xE0AA + - MApVirtualKeyEx( VK_SNAPSHOT, MAPVK_VK_TO_VSC_EX, 0 ) returns scancode 0x54; + - THere is no VK_KEYDOWN with VK_SNAPSHOT. + */ + SC_AltRight = 0xE038, + SC_Cancel = 0xE046, /* CTRL + Pause */ + SC_Home = 0xE047, + SC_ArrowUp = 0xE048, + SC_PageUp = 0xE049, + SC_ArrowLeft = 0xE04B, + SC_ArrowRight = 0xE04D, + SC_End = 0xE04F, + SC_ArrowDown = 0xE050, + SC_PageDown = 0xE051, + SC_Insert = 0xE052, + SC_Delete = 0xE053, + SC_MetaLeft = 0xE05B, + SC_MetaRight = 0xE05C, + SC_Application = 0xE05D, + SC_Power = 0xE05E, + SC_Sleep = 0xE05F, + SC_Wake = 0xE063, + SC_Browser_search = 0xE065, + SC_Browser_favorites = 0xE066, + SC_Browser_refresh = 0xE067, + SC_Browser_stop = 0xE068, + SC_Browser_forward = 0xE069, + SC_Browser_back = 0xE06A, + SC_Launch_app1 = 0xE06B, + SC_Launch_email = 0xE06C, + SC_Launch_media = 0xE06D, + + SC_Pause = 0xE11D45, + /* + SC_Pause: + - make: 0xE11D 45 0xE19D C5 + - make in raw input: 0xE11D 0x45 + - break: none + - No repeat when you hold the key down + */ +}; + +//end diff --git a/mcwin32/src/kbtest/kbtest.c b/mcwin32/src/kbtest/kbtest.c index b1323f9..e1a0894 100644 --- a/mcwin32/src/kbtest/kbtest.c +++ b/mcwin32/src/kbtest/kbtest.c @@ -1,5 +1,5 @@ #include -__CIDENT_RCSID(btest_c,"$Id: kbtest.c,v 1.7 2024/02/25 16:45:12 cvsuser Exp $") +__CIDENT_RCSID(btest_c,"$Id: kbtest.c,v 1.9 2024/02/28 15:55:21 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* @@ -57,11 +57,7 @@ __CIDENT_RCSID(btest_c,"$Id: kbtest.c,v 1.7 2024/02/25 16:45:12 cvsuser Exp $") #include "kbdump.h" #include "kbbuildinfo.h" - -#ifndef XKB_KEY_NoSymbol -#define XKB_KEY_NoSymbol 0 -#define XKB_VoidSymbol 0xffffff -#endif +#include "kbutil.h" struct iobuf { unsigned length; @@ -94,7 +90,7 @@ struct record { #define VKS_PRESS 0x40 #define VKS_ON 0x80 -static void EnvironmentStatus(HANDLE console); +static void EnvironmentStatus(void); static void KeyboardPush(HANDLE console, const struct KBRow **rows, BYTE *status, const key_event_t *evt); static void KeyboardStatus(HANDLE console, const struct KBRow **rows, BYTE *status); @@ -191,7 +187,7 @@ main(int argc, char *argv[]) // execute if (0 == strcmp(cmd, "dump")) { - EnvironmentStatus(oconsole); + EnvironmentStatus(); KBDump(layout); return 0; } @@ -208,8 +204,8 @@ main(int argc, char *argv[]) ConsoleClear(oconsole); // prime display KeyboardStatus(oconsole, rows, vkstatus); - EnvironmentStatus(oconsole); - printf("Press consecutively 3 times to exit.\n"); + EnvironmentStatus(); + cprinta("Press consecutively 3 times to exit.\n"); while (! ctrl_break && esc < 3) { // foreach(key) const KEY_EVENT_RECORD *key = &ir.Event.KeyEvent; @@ -228,7 +224,7 @@ main(int argc, char *argv[]) if (WINDOW_BUFFER_SIZE_EVENT == ir.EventType) { ConsoleClear(oconsole); KeyboardStatus(oconsole, rows, vkstatus); - EnvironmentStatus(oconsole); + EnvironmentStatus(); continue; } else if (!count || ir.EventType != KEY_EVENT || !key->bKeyDown) { continue; // ignore non-key down events @@ -244,29 +240,26 @@ main(int argc, char *argv[]) scanCode = key->wVirtualScanCode | (key->dwControlKeyState & ENHANCED_KEY ? 0xE000 : 0); KBPrintModifiers(key->dwControlKeyState, modifiers, sizeof(modifiers), TRUE); if (key->uChar.AsciiChar >= 0x20 && key->uChar.AsciiChar < 0x7f /*isprint*/) { // ASCII - printf("%sVK:%u/0x%x SCAN:0x%04x/0x%04X Ascii(0x%x/%c) ", + cprinta("%sVK:%u/0x%x SCAN:0x%04x/0x%04X Ascii(0x%x/%c) ", modifiers, key->wVirtualKeyCode, key->wVirtualKeyCode, key->wVirtualScanCode, scanCode, key->uChar.AsciiChar, key->uChar.AsciiChar); } else { // UNICODE - printf("%sVK:%u/0x%x SCAN:0x%04x/0x%04X Unicode(0x%x) ", + cprinta("%sVK:%u/0x%x SCAN:0x%04x/0x%04X Unicode(0x%x) ", modifiers, key->wVirtualKeyCode, key->wVirtualKeyCode, key->wVirtualScanCode, scanCode, key->uChar.UnicodeChar); } XKBTranslation(&evt); - ConsoleClearEOL(oconsole); // decode KEY_EVENT if (cio) { KBPrintModifiers(evt.vkmodifiers, modifiers, sizeof(modifiers), FALSE); - printf("\n => %sVK(%u) ASCII(0x%x/%c)", + cprinta("\n => %sVK(%u) ASCII(0x%x/%c)", modifiers, evt.vkkey, evt.ascii, (evt.ascii >= 0x20 && evt.ascii <= 0x7f ? evt.ascii : ' ')); if (evt.unicode != KEY_INVALID) { - fflush(stdout); - ConsolePrintW(oconsole, L" UNICODE(U+%0*x/%c)", (evt.unicode & 0xff0000 ? 6 : 4), (unsigned)evt.unicode, (unsigned)evt.unicode); + cprintw(L" UNICODE(U+%0*x/%c)", (evt.unicode & 0xff0000 ? 6 : 4), (unsigned)evt.unicode, (unsigned)evt.unicode); } } else { - printf("\n => "); + cprinta("\n => "); } - ConsoleClearEOL(oconsole); - EnvironmentStatus(oconsole); + EnvironmentStatus(); } if (szKLID[0]) LoadKeyboardLayoutA(szKLID, KLF_ACTIVATE); @@ -334,11 +327,12 @@ KeyboardPush(HANDLE console, const struct KBRow **rows, BYTE *status, const key_ KeyboardStatus(console, rows, status); } + /* * EnvironmentStatus */ static void -EnvironmentStatus(HANDLE oconsole) +EnvironmentStatus(void) { wchar_t klid[KL_NAMELENGTH] = { 0 }; wchar_t iso639[16] = { 0 }, iso3166[16] = { 0 }, displayname[256] = { 0 }; @@ -346,47 +340,40 @@ EnvironmentStatus(HANDLE oconsole) const LCID ulcid = GetUserDefaultLCID(); const LCID tlcid = GetThreadLocale(); - ConsoleClearEOL(oconsole); - wprintf(L"\n"); + cprintw(L"\n"); - ConsoleClearEOL(oconsole); GetKeyboardLayoutNameW(klid); - wprintf(L"\nKLID: <%s>, type=0x%x/0x%x, fns=%u", klid, GetKeyboardType(0), GetKeyboardType(1), GetKeyboardType(2)); + cprintw(L"\nKLID: <%s>, type=0x%x/0x%x, fns=%u", klid, GetKeyboardType(0), GetKeyboardType(1), GetKeyboardType(2)); - ConsoleClearEOL(oconsole); - wprintf(L"\nLCID:"); - wprintf(L" sys=%u/0x%x", slcid, slcid); + cprintw(L"\nLCID:"); + cprintw(L" sys=%u/0x%x", slcid, slcid); if (GetLocaleInfoW(slcid, LOCALE_SISO639LANGNAME, iso639, _countof(iso639)) && GetLocaleInfoW(slcid, LOCALE_SISO3166CTRYNAME, iso3166, _countof(iso3166))) { GetLocaleInfoW(slcid, LOCALE_SLOCALIZEDCOUNTRYNAME, displayname, _countof(displayname)); - wprintf(L" <%s_%s> (%s)", iso639, iso3166, displayname); // "9_9 (displayname)" + cprintw(L" <%s_%s> (%s)", iso639, iso3166, displayname); // "9_9 (displayname)" } - wprintf(L", user=%u/0x%x", ulcid, ulcid); + cprintw(L", user=%u/0x%x", ulcid, ulcid); if (GetLocaleInfoW(ulcid, LOCALE_SISO639LANGNAME, iso639, _countof(iso639)) && GetLocaleInfoW(ulcid, LOCALE_SISO3166CTRYNAME, iso3166, _countof(iso3166))) { GetLocaleInfoW(ulcid, LOCALE_SLOCALIZEDCOUNTRYNAME, displayname, _countof(displayname)); - wprintf(L" <%s_%s> (%s)", iso639, iso3166, displayname); // "9_9 (displayname)" + cprintw(L" <%s_%s> (%s)", iso639, iso3166, displayname); // "9_9 (displayname)" } - wprintf(L", thr=%u/0x%x", tlcid, tlcid); + cprintw(L", thr=%u/0x%x", tlcid, tlcid); if (GetLocaleInfoW(tlcid, LOCALE_SISO639LANGNAME, iso639, _countof(iso639)) && GetLocaleInfoW(tlcid, LOCALE_SISO3166CTRYNAME, iso3166, _countof(iso3166))) { GetLocaleInfoW(tlcid, LOCALE_SLOCALIZEDCOUNTRYNAME, displayname, _countof(displayname)); - wprintf(L" <%s_%s> (%s)", iso639, iso3166, displayname); // "9_9 (displayname)" + cprintw(L" <%s_%s> (%s)", iso639, iso3166, displayname); // "9_9 (displayname)" } - ConsoleClearEOL(oconsole); - wprintf(L"\nCP: oem=%u/0x%x, acp=%u/0x%x, cin=%u/0x%x, cout=%u/0x%x", + cprintw(L"\nCP: oem=%u/0x%x, acp=%u/0x%x, cin=%u/0x%x, cout=%u/0x%x", GetOEMCP(), GetOEMCP(), GetACP(), GetACP(), GetConsoleCP(), GetConsoleCP(), GetConsoleOutputCP(), GetConsoleOutputCP()); - ConsoleClearEOL(oconsole); - wprintf(L"\n"); - - ConsoleClearEOL(oconsole); - wprintf(L"\n"); + cprintw(L"\n\n"); } + /* * KeyboardStatus --- * Echo the current keyboard status. @@ -404,6 +391,7 @@ KeyboardStatus(HANDLE console, const struct KBRow **rows, BYTE *status) SetConsoleCursorPosition(console, coord); c += KeyboardKey(console, 2, key, status); } + ConsoleCEOL(console); coord.Y += 1; for (c = 0, key = rows[r]; key->vk; ++key) { @@ -411,6 +399,7 @@ KeyboardStatus(HANDLE console, const struct KBRow **rows, BYTE *status) SetConsoleCursorPosition(console, coord); c += KeyboardKey(console, 1, key, status); } + ConsoleCEOL(console); coord.Y += 2; } coord.X = 0; @@ -578,7 +567,7 @@ XKBTranslation(const key_event_t *evt) } assert(cursor < (text + sizeof(text))); - printf("XKB: %s", text); + cprinta("XKB: %s", text); } diff --git a/mcwin32/src/kbtest/kbutil.h b/mcwin32/src/kbtest/kbutil.h new file mode 100644 index 0000000..5f3c057 --- /dev/null +++ b/mcwin32/src/kbtest/kbutil.h @@ -0,0 +1,42 @@ +#ifndef KBUTIL_H_INCLUDED +#define KBUTIL_H_INCLUDED +#include +__CIDENT_RCSID(kbutil_h,"$Id: kbutil.h,v 1.1 2024/02/27 17:18:08 cvsuser Exp $") +__CPRAGMA_ONCE + +/* -*- mode: c; indent-width: 4; -*- */ +/* + * console keyboard test application + * + * Copyright (c) 2024, Adam Young. + * All rights reserved. + * + * This file is part of the WinXSH project. + * + * The applications are free software: you can redistribute it + * and/or modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation, version 3. + * + * Redistributions of source code must retain the above copyright + * notice, and must be distributed with the license document above. + * + * Redistributions in binary form must reproduce the above copyright + * notice, and must include the license document above in + * the documentation and/or other materials provided with the + * distribution. + * + * This project is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * License for more details. + * ==end== + */ + +#if !defined(_countof) +#define _countof(a) (sizeof(a)/sizeof(a[0])) +#endif + +#endif //KBUTIL_H_INCLUDED + +//end + From bdf63eb814cd91b942d5421dc8b757c9ae6e6aa2 Mon Sep 17 00:00:00 2001 From: adamyg Date: Sun, 3 Mar 2024 15:45:29 +0800 Subject: [PATCH 10/47] mcdiff --- mcwin32/Makefile.in | 11 +- mcwin32/diff/LICENSE | 63 + mcwin32/diff/Makefile.in | 260 ++++ mcwin32/diff/TODO | 9 + mcwin32/diff/compat/asprintf.c | 62 + mcwin32/diff/compat/bcopy.c | 53 + mcwin32/diff/compat/bzero.c | 51 + mcwin32/diff/compat/explicit_bzero.c | 104 ++ mcwin32/diff/compat/fgetln.c | 82 ++ mcwin32/diff/compat/fnmatch.c | 309 +++++ mcwin32/diff/compat/fnmatch.h | 59 + mcwin32/diff/compat/getline.c | 101 ++ mcwin32/diff/compat/libcompat.h | 264 ++++ mcwin32/diff/compat/localtime_r.c | 18 + mcwin32/diff/compat/mktemp.c | 256 ++++ mcwin32/diff/compat/qsort.c | 202 +++ mcwin32/diff/compat/qsort_r.c | 8 + mcwin32/diff/compat/reallocarray.c | 43 + mcwin32/diff/compat/recallocarray.c | 87 ++ mcwin32/diff/compat/scandir.c | 147 +++ mcwin32/diff/compat/strlcat.c | 67 + mcwin32/diff/compat/strlcpy.c | 63 + mcwin32/diff/compat/strndup.c | 81 ++ mcwin32/diff/compat/strtonum.c | 71 ++ mcwin32/diff/compat/timegm.c | 129 ++ mcwin32/diff/compat/vasprintf.c | 93 ++ mcwin32/diff/diff.1 | 741 +++++++++++ mcwin32/diff/diff.c | 716 +++++++++++ mcwin32/diff/diff.h | 123 ++ mcwin32/diff/diffbool.h | 15 + mcwin32/diff/diffdir.c | 320 +++++ mcwin32/diff/diffreg.c | 1730 ++++++++++++++++++++++++++ mcwin32/diff/diffwin.c | 101 ++ mcwin32/diff/diffwin.h | 10 + mcwin32/diff/man.txt | 381 ++++++ mcwin32/diff/mcdiff.rc | 122 ++ mcwin32/diff/paths.h | 17 + mcwin32/diff/pr.c | 123 ++ mcwin32/diff/pr.h | 36 + mcwin32/diff/xmalloc.c | 89 ++ mcwin32/diff/xmalloc.h | 36 + mcwin32/makelib.in | 4 +- 42 files changed, 7255 insertions(+), 2 deletions(-) create mode 100644 mcwin32/diff/LICENSE create mode 100644 mcwin32/diff/Makefile.in create mode 100644 mcwin32/diff/TODO create mode 100644 mcwin32/diff/compat/asprintf.c create mode 100644 mcwin32/diff/compat/bcopy.c create mode 100644 mcwin32/diff/compat/bzero.c create mode 100644 mcwin32/diff/compat/explicit_bzero.c create mode 100644 mcwin32/diff/compat/fgetln.c create mode 100644 mcwin32/diff/compat/fnmatch.c create mode 100644 mcwin32/diff/compat/fnmatch.h create mode 100644 mcwin32/diff/compat/getline.c create mode 100644 mcwin32/diff/compat/libcompat.h create mode 100644 mcwin32/diff/compat/localtime_r.c create mode 100644 mcwin32/diff/compat/mktemp.c create mode 100644 mcwin32/diff/compat/qsort.c create mode 100644 mcwin32/diff/compat/qsort_r.c create mode 100644 mcwin32/diff/compat/reallocarray.c create mode 100644 mcwin32/diff/compat/recallocarray.c create mode 100644 mcwin32/diff/compat/scandir.c create mode 100644 mcwin32/diff/compat/strlcat.c create mode 100644 mcwin32/diff/compat/strlcpy.c create mode 100644 mcwin32/diff/compat/strndup.c create mode 100644 mcwin32/diff/compat/strtonum.c create mode 100644 mcwin32/diff/compat/timegm.c create mode 100644 mcwin32/diff/compat/vasprintf.c create mode 100644 mcwin32/diff/diff.1 create mode 100644 mcwin32/diff/diff.c create mode 100644 mcwin32/diff/diff.h create mode 100644 mcwin32/diff/diffbool.h create mode 100644 mcwin32/diff/diffdir.c create mode 100644 mcwin32/diff/diffreg.c create mode 100644 mcwin32/diff/diffwin.c create mode 100644 mcwin32/diff/diffwin.h create mode 100644 mcwin32/diff/man.txt create mode 100644 mcwin32/diff/mcdiff.rc create mode 100644 mcwin32/diff/paths.h create mode 100644 mcwin32/diff/pr.c create mode 100644 mcwin32/diff/pr.h create mode 100644 mcwin32/diff/xmalloc.c create mode 100644 mcwin32/diff/xmalloc.h diff --git a/mcwin32/Makefile.in b/mcwin32/Makefile.in index c54fd2e..13cb712 100644 --- a/mcwin32/Makefile.in +++ b/mcwin32/Makefile.in @@ -558,7 +558,6 @@ else MC_RES= $(D_OBJ)/mc.res endif - OBJS= $(MC_OBJS) @@ -687,6 +686,8 @@ CONFIGURATION=\ TARGETS=\ $(D_BIN)/mc$(E) \ + $(D_BIN)/mcdiff$(E) \ + $(D_BIN)/kbtest$(E) \ $(D_BIN)/man2hlp.pl IMPORT=\ @@ -912,6 +913,8 @@ clean: $(MAKE) -C libregex clean $(MAKE) -C libz clean $(MAKE) -C libw32 clean + $(MAKE) -C diff clean + $(MAKE) -C kbtest clean $(MAKE) -C autoupdater clean -$(RM) $(MSGOBJS) $(MSGDIRS) $(QUIETOUT) -$(RM) $(CONFIGURATION) $(QUIETOUT) @@ -932,6 +935,12 @@ $(D_BIN)/mc$(E): MAPFILE=$(basename $@).map $(D_BIN)/mc$(E): $(MC_OBJS) $(MC_RES) $(LDLIBRARIES) $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -o $@ $^ $(LDLIBS) @LDMAPFILE@ +$(D_BIN)/mcdiff$(E): + $(MAKE) -C diff + +$(D_BIN)/kbtest$(E): + $(MAKE) -C src/kbtest + $(MC_RES): config.h buildinfo.h BUILD_DATE= $(shell $(BUSYBOX) date +'%Y%m%d') diff --git a/mcwin32/diff/LICENSE b/mcwin32/diff/LICENSE new file mode 100644 index 0000000..bb0a295 --- /dev/null +++ b/mcwin32/diff/LICENSE @@ -0,0 +1,63 @@ +/*- + * SPDX-License-Identifier: BSD-4-Clause + * + * Copyright (C) Caldera International Inc. 2001-2002. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code and documentation must retain the above + * copyright notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed or owned by Caldera + * International, Inc. + * 4. Neither the name of Caldera International, Inc. nor the names of other + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA + * INTERNATIONAL, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL CALDERA INTERNATIONAL, INC. BE LIABLE FOR ANY DIRECT, + * INDIRECT INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +/*- + * Copyright (c) 1991, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ diff --git a/mcwin32/diff/Makefile.in b/mcwin32/diff/Makefile.in new file mode 100644 index 0000000..8e3332e --- /dev/null +++ b/mcwin32/diff/Makefile.in @@ -0,0 +1,260 @@ +# -*- mode: mak; indent-tabs-mode: t; tab-width: 8 -*- +# $Id: Makefile.in,v 1.2 2024/03/03 06:56:44 cvsuser Exp $ +# mcdiff +# +# +# + +@SET_MAKE@ +ROOT= @abs_top_builddir@ +top_builddir= @top_builddir@ + +# Configuration + +PACKAGE= "mc" +PKG_NAME= "mcdiff" +PKG_VERSION= 1.0.2 + +# File extensions + +E= +O= .o +A= .a +LP= lib + +CLEAN= *.bak *~ *.BAK *.swp *.tmp core *.core a.out +XCLEAN= + +# Compilers, programs + +CC= @CC@ +CXX= @CXX@ +AR= @AR@ +RANLIB= @RANLIB@ +RM= @RM@ +PERL= @PERL@ +LIBTOOL= @LIBTOOL@ +RC= @RC@ + +BUSYBOX= @BUSYBOX@ +ifeq ($(BUSYBOX),busybox) +BUSYBOX= $(shell which busybox 2>/dev/null) +endif + +BUILD_DATE= $(shell $(BUSYBOX) date +'%Y%m%d') +ifneq ($(APPVEYOR_BUILD_NUMBER),) +BUILD_NUMBER= $(APPVEYOR_BUILD_NUMBER) +else ifneq ($(GITHUB_RUN_NUMBER),) +BUILD_NUMBER= $(GITHUB_RUN_NUMBER) +else +BUILD_NUMBER= $(shell $(BUSYBOX) cat ../BUILDNUMBER) +endif + +# Configuration + +ifeq ("$(BUILD_TYPE)","") #default +BUILD_TYPE= debug +MAKEFLAGS+= BUILD_TYPE=debug +endif +ifneq ("$(BUILD_TYPE)","release") +RTSUFFIX=d +endif + +QUIETOUT:= >/dev/null 2>&1 +ifeq ($(VERBOSE),1) +QUIETOUT:= +else ifeq ($(VERBOSE),0) +else ifeq ($(VERBOSE),) +else +$(error VERBOSE: unexpected value 0 or 1 required, $(VERBOSE) given])) +endif + +# Directories + +D_INC= $(ROOT)/include +D_BIN= $(ROOT)/bin@TOOLCHAINEXT@/$(BUILD_TYPE) +D_LIB= $(ROOT)/lib@TOOLCHAINEXT@/$(BUILD_TYPE) +D_OBJ= $(ROOT)/obj@TOOLCHAINEXT@/$(BUILD_TYPE)/mcdiff + +# Common flags + +XFLAGS= +CFLAGS= @CFLAGS@ +CWARN= @CWARN@ $(CWALL) +ifeq ("gcc","@CC@") +#CWARN+= -Wno-shadow -Wno-sign-compare -Wno-type-limits +#CWARN+= -Wno-unused-variable -Wno-unused-parameter +#CWARN+= -Wno-unused-parameter -Wno-unused-function +#CWARN+= -Wno-missing-field-initializers -Wno-implicit-fallthrough +endif +CDEBUG= @CDEBUG@ +CRELEASE= @CRELEASE@ +CXXFLAGS= @CXXFLAGS@ +ifeq ("gcc","@CC@") +CXXFLAGS+= -fpermissive +endif +CXXDEBUG= @CXXDEBUG@ +ifeq ("$(CXXDEBUG)","") +CXXDEBUG= $(CDEBUG) +endif +CXXRELEASE= @CXXRELEASE@ +ifeq ("$(CXXRELEASE)","") +CXXRELEASE= $(CRELEASE) +endif +LDDEBUG= @LDDEBUG@ +LDRELEASE= @LDRELEASE@ + +CINCLUDE= -I$(D_INC) @CINCLUDE@ +CEXTRA= @DEFS@ @LIBCURL_CPPFLAGS@ -DLIBTRE_DLL +ifdef PURIFY +CEXTRA+= -DUSING_PURIFY +endif +ifeq ("win32","@build_os@") +CEXTRA+= -DWIN32 +endif +CDEPFLAGS= $(CEXTRA) $(CINCLUDE) + +ifeq ("$(BUILD_TYPE)","release") +CFLAGS+= $(CRELEASE) $(CWARN) $(CINCLUDE) $(CEXTRA) $(XFLAGS) +CXXFLAGS+= $(CXXRELEASE) $(CXXWARN) $(CINCLUDE) @CXXINCLUDE@ $(CEXTRA) $(XFLAGS) +LDFLAGS= $(LDRELEASE) @LDFLAGS@ +else +CFLAGS+= $(CDEBUG) $(CWARN) $(CINCLUDE) $(CEXTRA) $(XFLAGS) +CXXFLAGS+= $(CXXDEBUG) $(CXXWARN) $(CINCLUDE) @CXXINCLUDE@ $(CEXTRA) $(XFLAGS) +LDFLAGS= $(LDDEBUG) @LDFLAGS@ +endif +LDLIBS= -L$(D_LIB) $(D_LIB)/$(LP)regex$(A) @LIBS@ @EXTRALIBS@ + +YFLAGS= -d +ARFLAGS= rcv +RMFLAGS= -f +RMDFLAGS= -rf + + +######################################################################################### +# Targets + +MCDIFFLIB= $(D_LIB)/$(LP)mcdiff$(A) + +MCDIFFTSK= $(D_BIN)/mcdiff$(E) +MCDIFFSRC= . + +VPATH+= ./compat +LIBCSOURCES=\ + bcopy.c \ + bzero.c \ + explicit_bzero.c \ + fgetln.c \ + getline.c \ + fnmatch.c \ + localtime_r.c \ + mktemp.c \ + qsort_r.c \ + scandir.c \ + strndup.c \ + strtonum.c \ + \ + reallocarray.c \ + recallocarray.c \ + \ + asprintf.c \ + vasprintf.c + +VPATH+= $(MCDIFFSRC) +CSOURCES=\ + diff.c \ + diffdir.c \ + diffreg.c \ + diffwin.c \ + xmalloc.c + +## $(D_OBJ)/pr.c + +LIBOBJS= $(addprefix $(D_OBJ)/,$(subst .c,$(O),$(LIBCSOURCES))) + +TSKOBJS= $(addprefix $(D_OBJ)/,$(subst .c,$(O),$(CSOURCES))) + +ifeq (mingw,$(findstring mingw,"@TOOLCHAIN@")) +TSKOBJS+= $(D_OBJ)/mcdiff_res.o +else +TSKOBJS+= $(D_OBJ)/mcdiff.res +endif + +OBJS= $(LIBOBJS) $(TSKOBJS) +LIBS= $(MCDIFFLIB) +DLLS= +TSKS= $(MCDIFFTSK) +INSTALLED= +GENERATED= + + +######################################################################################### +# Rules + +.PHONY: headers build release debug +build: headers buildinfo $(LIBS) $(DLLS) $(TSKS) + +release: + $(MAKE) BUILD_TYPE=release $(filter-out release, $(MAKECMDGOALS)) +debug: + $(MAKE) BUILD_TYPE=debug $(filter-out debug, $(MAKECMDGOALS)) + +headers: diff_license.h diff_usage.h + +GENERATED+= diff_license.h +diff_license.h: LICENSE ../support/mklicense.pl + @$(PERL) ../support/mklicense.pl $< $@ diff_license + +GENERATED+= diff_usage.h +diff_usage.h: man.txt ../support/mklicense.pl + @$(PERL) ../support/mklicense.pl $< $@ diff_usage + +$(MCDIFFLIB): CEXTRA += -I./compat -DLIBCOMPAT_SOURCE +$(MCDIFFLIB): CEXTRA += -DLIBW32_DYNAMIC +$(MCDIFFLIB): $(D_OBJ)/.created $(LIBOBJS) + $(RM) $(RMFLAGS) $@ $(QUIETOUT) + $(AR) $(ARFLAGS) $@ $(LIBOBJS) + $(RANLIB) $@ + +$(MCDIFFTSK): CEXTRA += -I. -I./compat +$(MCDIFFTSK): CEXTRA += -DLIBW32_DYNAMIC +$(MCDIFFTSK): MAPFILE=$(basename $@).map +$(MCDIFFTSK): $(D_OBJ)/.created $(TSKOBJS) + $(LIBTOOL) --mode=link $(CXX) $(LDFLAGS) -o $@ $(TSKOBJS) $(MCDIFFLIB) $(LDLIBS) -MAP:$(MAPFILE) + +.PHONY: buildinfo +mcdiffinfo.h: buildinfo +buildinfo: Makefile ../buildinfo.pl + @echo updating mcdiffinfo.h ... + -@$(PERL) ..//buildinfo.pl -o mcdiffinfo.h --package="$(PACKAGE)" --name="$(PKG_NAME)" --version="$(PKG_VERSION)" \ + --date="$(BUILD_DATE)" --build="$(BUILD_NUMBER)" --toolchain="@TOOLCHAINEXT@" + +%/.created: + -@mkdir $(@D) + @echo "do not delete, managed directory" > $@ + +clean: + @echo $(BUILD_TYPE) clean + -@$(LIBTOOL) --mode=clean $(RM) $(OBJS) $(DLLS) $(DLLOBJS) $(QUIETOUT) + -@$(RM) $(RMFLAGS) $(BAK) $(TSKS) $(INSTALLED) $(LIBS) $(CLEAN) $(XCLEAN) $(QUIETOUT) + -@$(RM) $(LIBOBJS) $(QUIETOUT) + +$(D_OBJ)/%$(O): %.cpp + $(CC) $(CXXFLAGS) -o $@ -c $< + +$(D_OBJ)/%$(O): %.c + $(CC) $(CFLAGS) -o $@ -c $< + +$(D_OBJ)/%.lo: %.cpp + $(LIBTOOL) --mode=compile $(CC) $(CXXFLAGS) -o $@ -c $< + +$(D_OBJ)/%.lo: %.c + $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) -o $@ -c $< + +$(D_OBJ)/%.res: %.rc + $(RC) -fo $@ $(RCDEFS) $< + +$(D_OBJ)/%_res.o: %.rc + $(RC) -o $@ $(RCDEFS) $< + +#end diff --git a/mcwin32/diff/TODO b/mcwin32/diff/TODO new file mode 100644 index 0000000..c958ee2 --- /dev/null +++ b/mcwin32/diff/TODO @@ -0,0 +1,9 @@ +to be implemented: +--horizon-lines +--ignore-tab-expansion +--line-format + +Will probably be not implemented: +--GTYPE-group-format (partially implement - minimal) +--LTYPE-line-format +--help (We have a manpage already) diff --git a/mcwin32/diff/compat/asprintf.c b/mcwin32/diff/compat/asprintf.c new file mode 100644 index 0000000..f25a870 --- /dev/null +++ b/mcwin32/diff/compat/asprintf.c @@ -0,0 +1,62 @@ +// +// compat_asprintf +// + +#include "libcompat.h" + +#if !defined(HAVE_ASPRINTF) + +#include +#include +#include +#include + +/* + SYNOPSIS + int + asprintf(char **ret, const char *format, ...); + + int + vasprintf(char **ret, const char *format, va_list ap); + + DESCRIPTION + The printf() family of functions ... + + The functions asprintf() and vasprintf() are analogs of sprintf(3) and vsprintf(3), + except that they allocate a string large enough to hold the output including the + terminating null byte, and return a pointer to it via the first argument. + This pointer should be passed to free(3) to release the allocated storage when it is + no longer needed. + + RETURNS + When successful, these functions return the number of bytes printed, just like sprintf(3). + If sufficient space cannot be allocated, asprintf() and vasprintf() will return -1 and set ret to be a NULL pointer. +*/ + +#if !defined(HAVE_VASPRINTF) +extern int vasprintf(char **str, const char *fmt, va_list ap); +#endif + +int +asprintf(char **str, const char *fmt, ...) +{ + va_list ap; + int size; + + va_start(ap, fmt); + size = vasprintf(str, fmt, ap); + va_end(ap); + + return size; +} + + +#else +extern void __stdlibrary_has_asprintf(void); + +void +__stdlibrary_has_asprintf(void) +{ +} + +#endif \ No newline at end of file diff --git a/mcwin32/diff/compat/bcopy.c b/mcwin32/diff/compat/bcopy.c new file mode 100644 index 0000000..6803653 --- /dev/null +++ b/mcwin32/diff/compat/bcopy.c @@ -0,0 +1,53 @@ +// +// compat_bcopy +// + +#include "libcompat.h" + +#include +#include +#if defined(HAVE_STRINGS_H) +#include +#endif + +// NAME +// +// bcopy - memory operations (LEGACY) +// +// SYNOPSIS +// +// #include +// +// void bcopy(const void *s1, void *s2, size_t n); +// +// DESCRIPTION +// +// The bcopy() function shall copy n bytes from the area pointed to by s1 to the area pointed to by s2. +// +// The bytes are copied correctly even if the area pointed to by s1 overlaps the area pointed to by s2. +// +// RETURN VALUE +// +// The bcopy() function shall not return a value. +// +// ERRORS +// +// No errors are defined. +// + +#if !defined(HAVE_BCOPY) +void +bcopy(const void *s1, void *s2, size_t n) +{ + (void) memmove(s2, s1, n); +} + +#else +extern void __stdlibrary_has_bcopy(void); + +void +__stdlibrary_has_bcopy(void) +{ +} + +#endif diff --git a/mcwin32/diff/compat/bzero.c b/mcwin32/diff/compat/bzero.c new file mode 100644 index 0000000..2a31111 --- /dev/null +++ b/mcwin32/diff/compat/bzero.c @@ -0,0 +1,51 @@ +// +// compat_bzero +// + +#include "libcompat.h" + +#include +#include +#if defined(HAVE_STRINGS_H) +#include +#endif + +// NAME +// +// bzero - memory operations (LEGACY) +// +// SYNOPSIS +// +// #include +// +// void bzero(void *s, size_t n); +// +// DESCRIPTION +// +// The bzero() function shall place n zero-valued bytes in the area pointed to by s. +// +// RETURN VALUE +// +// The bzero() function shall not return a value. +// +// ERRORS +// +// No errors are defined. +// + +#if !defined(HAVE_BZERO) +void +bzero(void *s, size_t len) +{ + (void) memset (s, '\0', len); +} + +#else +extern void __stdlibrary_has_bzero(void); + +void +__stdlibrary_has_bzero(void) +{ +} + +#endif \ No newline at end of file diff --git a/mcwin32/diff/compat/explicit_bzero.c b/mcwin32/diff/compat/explicit_bzero.c new file mode 100644 index 0000000..fa92af5 --- /dev/null +++ b/mcwin32/diff/compat/explicit_bzero.c @@ -0,0 +1,104 @@ +/* + * compat_explicit_bzero - don't let the compiler optimize away bzero + * + * Public domain. + * Written by Ted Unangst + * OPENBSD ORIGINAL: lib/libc/string/explicit_bzero.c + */ + +#include "libcompat.h" + +#include +#include +#if defined(HAVE_STRINGS_H) +#include +#endif + +#if defined(HAVE_SECUREZEROMEMORY) && (defined(WIN32) || defined(_WIN32)) +#define WINDOWS_MEAN_AND_LEAN +#include +#endif + + +// NAME +// +// explicit_bzero - memory operations (LEGACY) +// +// SYNOPSIS +// +// #include +// +// void explicit_bzero(void *s, size_t n); +// +// DESCRIPTION +// +// The explicit_bzero() variant behaves like bzero(), but will not be removed by +// a compiler's dead store optimization pass, making it useful for clearing +// sensitive memory such as a password. +// +// RETURN VALUE +// +// The explicit_bzero() function shall not return a value. +// +// ERRORS +// +// No errors are defined. +// + +#if defined(HAVE_MEMSET_S) + +void +explicit_bzero(void *p, size_t n) +{ + if (n == 0) + return; + (void)memset_s(p, n, 0, n); +} + + +#elif defined(HAVE_SECUREZEROMEMORY) + +void +explicit_bzero(void *p, size_t n) +{ + if (n == 0) + return; + (void)SecureZeroMemory(p, n); +} + + +#else /*HAVE_MEMSET_S*/ + +#if !defined(HAVE_BZERO) +/* + * See bzero.c + */ +extern void bzero(void *s, size_t len); +#endif + +/* + * Indirect bzero through a volatile pointer to hopefully avoid + * dead-store optimisation eliminating the call. + */ +static void (* volatile xbzero)(void *, size_t) = bzero; + +void +explicit_bzero(void *p, size_t n) +{ + if (n == 0) + return; + /* + * clang -fsanitize=memory needs to intercept memset-like functions + * to correctly detect memory initialisation. Make sure one is called + * directly since our indirection trick above sucessfully confuses it. + */ +#if defined(__has_feature) +#if __has_feature(memory_sanitizer) + memset(p, 0, n); +#endif +#endif + + xbzero(p, n); +} + +#endif /* HAVE_MEMSET_S */ \ No newline at end of file diff --git a/mcwin32/diff/compat/fgetln.c b/mcwin32/diff/compat/fgetln.c new file mode 100644 index 0000000..2a5205e --- /dev/null +++ b/mcwin32/diff/compat/fgetln.c @@ -0,0 +1,82 @@ +/* $NetBSD: fgetln.c,v 1.8 2006/10/18 15:17:38 christos Exp $ */ + +/*- + * Copyright (c) 1998 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#include "libcompat.h" + +#include +#include +#include +#include +#include + +char * +fgetln(FILE *fp, size_t *len) +{ + static char *buf = NULL; + static size_t bufsiz = 0; + char *ptr; + + if (buf == NULL) { + bufsiz = BUFSIZ; + if ((buf = malloc(bufsiz)) == NULL) + return NULL; + } + + if (fgets(buf, bufsiz, fp) == NULL) + return NULL; + + *len = 0; + while ((ptr = strchr(&buf[*len], '\n')) == NULL) { + size_t nbufsiz = bufsiz + BUFSIZ; + char *nbuf = realloc(buf, nbufsiz); + + if (nbuf == NULL) { + int oerrno = errno; + free(buf); + errno = oerrno; + buf = NULL; + return NULL; + } else + buf = nbuf; + + if (fgets(&buf[bufsiz], BUFSIZ, fp) == NULL) { + buf[bufsiz] = '\0'; + *len = strlen(buf); + return buf; + } + + *len = bufsiz; + bufsiz = nbufsiz; + } + + *len = (ptr - buf) + 1; + return buf; +} diff --git a/mcwin32/diff/compat/fnmatch.c b/mcwin32/diff/compat/fnmatch.c new file mode 100644 index 0000000..d9191d3 --- /dev/null +++ b/mcwin32/diff/compat/fnmatch.c @@ -0,0 +1,309 @@ +/* + * Copyright (c) 1989, 1993, 1994 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Guido van Rossum. + * + * Copyright (c) 2011 The FreeBSD Foundation + * All rights reserved. + * Portions of this software were developed by David Chisnall + * under sponsorship from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#if defined(LIBC_SCCS) && !defined(lint) +static char sccsid[] = "@(#)fnmatch.c 8.2 (Berkeley) 4/16/94"; +#endif /* LIBC_SCCS and not lint */ +#include +//__FBSDID("$FreeBSD$"); + +/* + * Function fnmatch() as specified in POSIX 1003.2-1992, section B.6. + * Compares a filename or pathname to a pattern. + */ + +/* + * Some notes on multibyte character support: + * 1. Patterns with illegal byte sequences match nothing. + * 2. Illegal byte sequences in the "string" argument are handled by treating + * them as single-byte characters with a value of the first byte of the + * sequence cast to wchar_t. + * 3. Multibyte conversion state objects (mbstate_t) are passed around and + * used for most, but not all, conversions. Further work will be required + * to support state-dependent encodings. + */ + +#if defined(WIN32) +#define __BSD_VISIBLE 1 +#endif + +#include "fnmatch.h" +#include +#include +#include +#include + +#if !defined(WIN32) +#include "collate.h" +#endif + +#define EOS '\0' + +#define RANGE_MATCH 1 +#define RANGE_NOMATCH 0 +#define RANGE_ERROR (-1) + +static int rangematch(const char *, wchar_t, int, char **, mbstate_t *); +static int fnmatch1(const char *, const char *, const char *, int, mbstate_t, + mbstate_t); + +int +fnmatch(const char *pattern, const char *string, int flags) +// const char *pattern, *string; +// int flags; +{ + static const mbstate_t initial; + + return (fnmatch1(pattern, string, string, flags, initial, initial)); +} + +static int +fnmatch1(const char *pattern, const char *string, const char *stringstart, int flags, mbstate_t patmbs, mbstate_t strmbs) +// const char *pattern, *string, *stringstart; +// int flags; +// mbstate_t patmbs, strmbs; +{ + char *newp; + char c; + wchar_t pc, sc; + size_t pclen, sclen; + + for (;;) { + pclen = mbrtowc(&pc, pattern, MB_LEN_MAX, &patmbs); + if (pclen == (size_t)-1 || pclen == (size_t)-2) + return (FNM_NOMATCH); + pattern += pclen; + sclen = mbrtowc(&sc, string, MB_LEN_MAX, &strmbs); + if (sclen == (size_t)-1 || sclen == (size_t)-2) { + sc = (unsigned char)*string; + sclen = 1; + memset(&strmbs, 0, sizeof(strmbs)); + } + switch (pc) { + case EOS: + if ((flags & FNM_LEADING_DIR) && sc == '/') + return (0); + return (sc == EOS ? 0 : FNM_NOMATCH); + case '?': + if (sc == EOS) + return (FNM_NOMATCH); + if (sc == '/' && (flags & FNM_PATHNAME)) + return (FNM_NOMATCH); + if (sc == '.' && (flags & FNM_PERIOD) && + (string == stringstart || + ((flags & FNM_PATHNAME) && *(string - 1) == '/'))) + return (FNM_NOMATCH); + string += sclen; + break; + case '*': + c = *pattern; + /* Collapse multiple stars. */ + while (c == '*') + c = *++pattern; + + if (sc == '.' && (flags & FNM_PERIOD) && + (string == stringstart || + ((flags & FNM_PATHNAME) && *(string - 1) == '/'))) + return (FNM_NOMATCH); + + /* Optimize for pattern with * at end or before /. */ + if (c == EOS) + if (flags & FNM_PATHNAME) + return ((flags & FNM_LEADING_DIR) || + strchr(string, '/') == NULL ? + 0 : FNM_NOMATCH); + else + return (0); + else if (c == '/' && flags & FNM_PATHNAME) { + if ((string = strchr(string, '/')) == NULL) + return (FNM_NOMATCH); + break; + } + + /* General case, use recursion. */ + while (sc != EOS) { + if (!fnmatch1(pattern, string, stringstart, + flags, patmbs, strmbs)) + return (0); + sclen = mbrtowc(&sc, string, MB_LEN_MAX, + &strmbs); + if (sclen == (size_t)-1 || + sclen == (size_t)-2) { + sc = (unsigned char)*string; + sclen = 1; + memset(&strmbs, 0, sizeof(strmbs)); + } + if (sc == '/' && flags & FNM_PATHNAME) + break; + string += sclen; + } + return (FNM_NOMATCH); + case '[': + if (sc == EOS) + return (FNM_NOMATCH); + if (sc == '/' && (flags & FNM_PATHNAME)) + return (FNM_NOMATCH); + if (sc == '.' && (flags & FNM_PERIOD) && + (string == stringstart || + ((flags & FNM_PATHNAME) && *(string - 1) == '/'))) + return (FNM_NOMATCH); + + switch (rangematch(pattern, sc, flags, &newp, + &patmbs)) { + case RANGE_ERROR: + goto norm; + case RANGE_MATCH: + pattern = newp; + break; + case RANGE_NOMATCH: + return (FNM_NOMATCH); + } + string += sclen; + break; + case '\\': + if (!(flags & FNM_NOESCAPE)) { + pclen = mbrtowc(&pc, pattern, MB_LEN_MAX, + &patmbs); + if (pclen == (size_t)-1 || pclen == (size_t)-2) + return (FNM_NOMATCH); + pattern += pclen; + } + /* FALLTHROUGH */ + default: + norm: + if (pc == sc) + ; + else if ((flags & FNM_CASEFOLD) && + (towlower(pc) == towlower(sc))) + ; + else + return (FNM_NOMATCH); + string += sclen; + break; + } + } + /* NOTREACHED */ +} + +static int +rangematch(const char *pattern, wchar_t test, int flags, char **newp, mbstate_t *patmbs) +// const char *pattern; +// wchar_t test; +// int flags; +// char **newp; +// mbstate_t *patmbs; +{ + int negate, ok; + wchar_t c, c2; + size_t pclen; + const char *origpat; +#if !defined(WIN32) + struct xlocale_collate *table = + (struct xlocale_collate*)__get_locale()->components[XLC_COLLATE]; +#endif + + /* + * A bracket expression starting with an unquoted circumflex + * character produces unspecified results (IEEE 1003.2-1992, + * 3.13.2). This implementation treats it like '!', for + * consistency with the regular expression syntax. + * J.T. Conklin (conklin@ngai.kaleida.com) + */ + if ( (negate = (*pattern == '!' || *pattern == '^')) ) + ++pattern; + + if (flags & FNM_CASEFOLD) + test = towlower(test); + + /* + * A right bracket shall lose its special meaning and represent + * itself in a bracket expression if it occurs first in the list. + * -- POSIX.2 2.8.3.2 + */ + ok = 0; + origpat = pattern; + for (;;) { + if (*pattern == ']' && pattern > origpat) { + pattern++; + break; + } else if (*pattern == '\0') { + return (RANGE_ERROR); + } else if (*pattern == '/' && (flags & FNM_PATHNAME)) { + return (RANGE_NOMATCH); + } else if (*pattern == '\\' && !(flags & FNM_NOESCAPE)) + pattern++; + pclen = mbrtowc(&c, pattern, MB_LEN_MAX, patmbs); + if (pclen == (size_t)-1 || pclen == (size_t)-2) + return (RANGE_NOMATCH); + pattern += pclen; + + if (flags & FNM_CASEFOLD) + c = towlower(c); + + if (*pattern == '-' && *(pattern + 1) != EOS && + *(pattern + 1) != ']') { + if (*++pattern == '\\' && !(flags & FNM_NOESCAPE)) + if (*pattern != EOS) + pattern++; + pclen = mbrtowc(&c2, pattern, MB_LEN_MAX, patmbs); + if (pclen == (size_t)-1 || pclen == (size_t)-2) + return (RANGE_NOMATCH); + pattern += pclen; + if (c2 == EOS) + return (RANGE_ERROR); + + if (flags & FNM_CASEFOLD) + c2 = towlower(c2); + +#if defined(WIN32) + if (c <= test && test <= c2) + ok = 1; +#else + if (table->__collate_load_error ? + c <= test && test <= c2 : + __collate_range_cmp(table, c, test) <= 0 + && __collate_range_cmp(table, test, c2) <= 0 + ) + ok = 1; +#endif + } else if (c == test) + ok = 1; + } + + *newp = (char *)pattern; + return (ok == negate ? RANGE_NOMATCH : RANGE_MATCH); +} diff --git a/mcwin32/diff/compat/fnmatch.h b/mcwin32/diff/compat/fnmatch.h new file mode 100644 index 0000000..e6403a5 --- /dev/null +++ b/mcwin32/diff/compat/fnmatch.h @@ -0,0 +1,59 @@ +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + * @(#)fnmatch.h 8.1 (Berkeley) 6/2/93 + */ + +#ifndef _FNMATCH_H_ +#define _FNMATCH_H_ + +#include + +#define FNM_NOMATCH 1 /* Match failed. */ + +#define FNM_NOESCAPE 0x01 /* Disable backslash escaping. */ +#define FNM_PATHNAME 0x02 /* Slash must be matched by slash. */ +#define FNM_PERIOD 0x04 /* Period must be matched by period. */ + +#if __XSI_VISIBLE +#define FNM_NOSYS (-1) /* Reserved. */ +#endif + +#if __BSD_VISIBLE +#define FNM_LEADING_DIR 0x08 /* Ignore / after Imatch. */ +#define FNM_CASEFOLD 0x10 /* Case insensitive search. */ +#define FNM_IGNORECASE FNM_CASEFOLD +#define FNM_FILE_NAME FNM_PATHNAME +#endif + +__BEGIN_DECLS +int fnmatch(const char *, const char *, int); +__END_DECLS + +#endif /* !_FNMATCH_H_ */ diff --git a/mcwin32/diff/compat/getline.c b/mcwin32/diff/compat/getline.c new file mode 100644 index 0000000..222660d --- /dev/null +++ b/mcwin32/diff/compat/getline.c @@ -0,0 +1,101 @@ +/* $NetBSD: fgetln.c,v 1.9 2008/04/29 06:53:03 martin Exp $ */ + +/*- + * Copyright (c) 2011 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#include "libcompat.h" + +#if !defined(HAVE_GETLINE) + +#include +#include +#include +#include +#include + +#if !defined(ssize_t) +#define ssize_t int +#endif + +int /*ssize_t*/ +getdelim(char **buf, size_t *bufsiz, int delimiter, FILE *fp) +{ + char *ptr, *eptr; + + + if (*buf == NULL || *bufsiz == 0) { + *bufsiz = BUFSIZ; + if ((*buf = malloc(*bufsiz)) == NULL) + return -1; + } + + for (ptr = *buf, eptr = *buf + *bufsiz;;) { + int c = fgetc(fp); + if (c == -1) { + if (feof(fp)) + return ptr == *buf ? -1 : ptr - *buf; + else + return -1; + } + *ptr++ = (char)c; + if (c == delimiter) { + *ptr = '\0'; + return ptr - *buf; + } + if (ptr + 2 >= eptr) { + char *nbuf; + size_t nbufsiz = *bufsiz * 2; + ssize_t d = ptr - *buf; + if ((nbuf = realloc(*buf, nbufsiz)) == NULL) + return -1; + *buf = nbuf; + *bufsiz = nbufsiz; + eptr = nbuf + nbufsiz; + ptr = nbuf + d; + } + } +} + + +int /*ssize_t*/ +getline(char **buf, size_t *bufsiz, FILE *fp) +{ + return getdelim(buf, bufsiz, '\n', fp); +} + + +#else +extern void __stdlibrary_has_getline(void); + +void +__stdlibrary_has_getline(void) +{ +} + +#endif \ No newline at end of file diff --git a/mcwin32/diff/compat/libcompat.h b/mcwin32/diff/compat/libcompat.h new file mode 100644 index 0000000..6ade162 --- /dev/null +++ b/mcwin32/diff/compat/libcompat.h @@ -0,0 +1,264 @@ +#pragma once +#ifndef LIBCOMPACT_H_INCLUDED +#define LIBCOMPACT_H_INCLUDED +// +// libcompat +// + +#include "w32config.h" + +#if defined(LIBCOMPAT_SOURCE) +#if !defined(_CRT_SECURE_NO_WARNINGS) +#define _CRT_SECURE_NO_WARNINGS +#endif +#endif + +#include +#include +#include +#include +#include + +__BEGIN_DECLS + +//#if !defined(HAVE_STRNLEN) +//extern size_t strnlen(const char *str, size_t maxlen); +//#if !defined(LIBCOMPAT_SOURCE) +//#define HAVE_STRNLEN +//#endif +//#endif /*HAVE_STRNLEN*/ + +#if !defined(HAVE_STRNDUP) +extern char *strndup(const char *str, size_t maxlen); +#if !defined(LIBCOMPAT_SOURCE) +#define HAVE_STRNDUP +#endif +#endif /*HAVE_STRNDUP*/ + +//#if !defined(HAVE_STRCATN) +//extern char *strcatn(char *s1, char *s2, int n); +//#if !defined(LIBCOMPAT_SOURCE) +//#define HAVE_STRCATN +//#endif +//#endif /*HAVE_STRCATN*/ + +//#if !defined(HAVE_STRLCPY) +//extern size_t strlcpy(char *dst, const char *src, size_t siz); +//#if !defined(LIBCOMPAT_SOURCE) +//#define HAVE_STRLCPY +//#endif +//#endif /*HAVE_STRLCPY*/ + +//#if !defined(HAVE_STRLCAT) +//extern size_t strlcat(char *dst, const char *src, size_t siz); +//#if !defined(LIBCOMPAT_SOURCE) +//#define HAVE_STRLCAT +///#endif +//#endif /*HAVE_STRLCAT*/ + +//#if !defined(HAVE_STRSEP) +//extern char *strsep(char **stringp, const char *delim); +//#if !defined(LIBCOMPAT_SOURCE) +//#define HAVE_STRSEP +//#endif +//#endif /*HAVE_STRSEP*/ + +#if !defined(HAVE_STRTONUM) /*libbsd*/ +extern long long strtonum(const char *numstr, long long minval, long long maxval, const char **errstrp); +#if !defined(LIBCOMPAT_SOURCE) +#define HAVE_STRTONUM +#endif +#endif /*HAVE_STRTONUM*/ + +//#if !defined(HAVE_STRCASECMP) +//extern int strcasecmp(const char *s1, const char *s2); +//#if !defined(LIBCOMPAT_SOURCE) +//#define HAVE_STRCASECMP +//#endif +//#endif /*HAVE_STRCASECMP*/ + +//#if !defined(HAVE_STRNCASECMP) +//extern int strncasecmp(const char *s1, const char *s2, size_t len); +//#if !defined(LIBCOMPAT_SOURCE) +//#define HAVE_STRNCASECMP +//#endif +//#endif /*HAVE_STRNCASECMP*/ + +//#if !defined(HAVE_STRTOK_R) +//extern char * strtok_r(char *s, const char *delim, char **lasts); +//#if !defined(LIBCOMPAT_SOURCE) +//#define HAVE_STRTOK_R +//#endif +//#endif /*HAVE_STRTOK_R*/ + +#if !defined(HAVE_BCOPY) +extern void bcopy(const void *s1, void *s2, size_t n); +#if !defined(LIBCOMPAT_SOURCE) +#define HAVE_BCOPY +#endif +#endif /*HAVE_BCOPY*/ + +#if !defined(HAVE_BZERO) +extern void bzero(void *s, size_t len); +#if !defined(LIBCOMPAT_SOURCE) +#define HAVE_BZERO +#endif +#endif /*HAVE_BZERO*/ + +#if !defined(HAVE_EXPLICIT_BZERO) +extern void explicit_bzero(void *s, size_t len); +#if !defined(LIBCOMPAT_SOURCE) +#define HAVE_EXPLICIT_BZERO +#endif +#endif /*HAVE_EXPLICIT_BZERO*/ + +//#if !defined(HAVE_MEMMEM) +//extern void *memmem(const void *h0, size_t k, const void *n0, size_t l); +//#if !defined(LIBCOMPAT_SOURCE) +//#define HAVE_MEMMEM +//#endif +//#endif /*HAVE_MEMMEM*/ + +//#if !defined(HAVE_PUTW) +//extern int putw(int w, FILE *fp); +//#if !defined(LIBCOMPAT_SOURCE) +//#define HAVE_PUTW +//#endif +//#endif /*HAVE_PUTW*/ + +//#if !defined(HAVE_GETW) +//extern int getw(FILE *fp); +//#if !defined(LIBCOMPAT_SOURCE) +//#define HAVE_GETW +//#endif +//#endif /*HAVE_GETW*/ + +//#if !defined(HAVE_INDEX) +//extern char *index(const char *s, int c); +//#if !defined(LIBCOMPAT_SOURCE) +//#define HAVE_INDEX +//#endif +//#endif /*HAVE_INDEX*/ + +//#if !defined(HAVE_RINDEX) +//extern char *rindex(const char *s, int c); +//#if !defined(LIBCOMPAT_SOURCE) +//#define HAVE_RINDEX +//#endif +//#endif /*HAVE_RINDEX*/ + +#if !defined(HAVE_MKSTEMP) +extern int mkstemp(char *path); +#if !defined(LIBCOMPAT_SOURCE) +#define HAVE_MKSTEMP +#endif +#endif /*HAVE_MKSTEMP*/ + +#if !defined(HAVE_MKTEMP) +extern char *mktemp(char *path); +#if !defined(LIBCOMPAT_SOURCE) +#define HAVE_MKTEMP +#endif +#endif /*HAVE_MKTEMP*/ +extern char *xmktemp(char *path, char *result, size_t length); /*extension*/ + +//#if !defined(HAVE_BASENAME) /*libgen.h*/ +//extern char *basename(char *path); +//#if !defined(LIBCOMPAT_SOURCE) +//#define HAVE_BASENAME +//#endif +//#endif /*HAVE_BASENAME*/ + +//#if !defined(HAVE_DIRNAME) /*libgen.h*/ +//extern char *dirname(char *path); +//#if !defined(LIBCOMPAT_SOURCE) +//#define HAVE_DIRNAME +//#endif +//#endif /*HAVE_DIRNAME*/ + +#if !defined(HAVE_REALLOCARRAY) +extern void *reallocarray(void *optr, size_t nmemb, size_t size); +#if !defined(LIBCOMPAT_SOURCE) +#define HAVE_REALLOCARRAY +#endif +#endif /*HAVE_REALLOCARRAY*/ + +#if !defined(HAVE_RECALLOCARRAY) +extern void *recallocarray(void *ptr, size_t oldnmemb, size_t newnmemb, size_t size); +#if !defined(LIBCOMPAT_SOURCE) +#define HAVE_RECALLOCARRAY +#endif +#endif /*HAVE_RECALLOCARRAY*/ + +#if !defined(HAVE_ASPRINTF) /*stdio.h*/ +extern int asprintf(char **str, const char *fmt, ...); +#if !defined(LIBCOMPAT_SOURCE) +#define HAVE_REALLOCARRAY +#endif +#endif /*HAVE_ASPRINTF*/ + +#if !defined(HAVE_VASPRINTF) /*stdio.h*/ +extern int vasprintf(char **str, const char *fmt, va_list ap); +#if !defined(LIBCOMPAT_SOURCE) +#define HAVE_VASPRINTF +#endif +#endif /*HAVE_VASPRINTF*/ + +#if !defined(HAVE_TIMEGM) /*unistd.h*/ +struct tm; +extern time_t timegm(struct tm *tm); +#if !defined(LIBCOMPAT_SOURCE) +#define HAVE_TIMEGM +#endif +#endif /*HAVE_TIMEGM*/ + +#if !defined(HAVE_LOCALTIME_R) /*unistd.h*/ +extern struct tm *localtime_r(const time_t *timep, struct tm *result); +#if !defined(LIBCOMPAT_SOURCE) +#define HAVE_LOCALTIME_R +#endif +#endif /*HAVE_TIMEGM*/ + +//extern char *xmktemp(char *path, char *result, size_t length); + +#if !defined(HAVE_GETLINE) +extern int /*ssize_t*/ getdelim(char **buf, size_t *bufsiz, int delimiter, FILE *fp); +extern int /*ssize_t*/ getline(char **buf, size_t *bufsiz, FILE *fp); +#if !defined(LIBCOMPAT_SOURCE) +#define HAVE_GETLINE +#endif +#endif + +#if !defined(HAVE_FGETLN) +extern char *fgetln(FILE *fp, size_t *len); +#if !defined(LIBCOMPAT_SOURCE) +#define HAVE_FGETLN +#endif +#endif /*HAVE_FGETLN*/ + +#if !defined(HAVE_ALPHASORT) +struct dirent; +extern int alphasort(const struct dirent **d1, const struct dirent **d2); +#if !defined(LIBCOMPAT_SOURCE) +#define HAVE_ALPHASORT +#endif +#endif /*HAVE_ALPHASORT*/ + +#if !defined(HAVE_SCANDIR) +struct dirent; +extern int scandir(const char *dirname, struct dirent ***namelist, int (*select)(const struct dirent *), int (*dcomp)(const struct dirent **, const struct dirent **)); +#if !defined(LIBCOMPAT_SOURCE) +#define HAVE_SCANDIR +#endif +#endif /*HAVE_SCANDIR*/ + +#if !defined(HAVE_QSORT_R) +extern void qsort_r(void *a, size_t n, size_t es, void *thunk, int (*cmp)(void *, const void *, const void *)); +#if !defined(LIBCOMPAT_SOURCE) +#define HAVE_QSORT_R +#endif +#endif /*HAVE_QSORT_R*/ + +__END_DECLS + +#endif /*LIBCOMPACT_H_INCLUDED*/ diff --git a/mcwin32/diff/compat/localtime_r.c b/mcwin32/diff/compat/localtime_r.c new file mode 100644 index 0000000..f6ee39e --- /dev/null +++ b/mcwin32/diff/compat/localtime_r.c @@ -0,0 +1,18 @@ +/* + * localtime_r: WIN32 + */ + +#include "libcompat.h" + +// #if !defined(HAVE_LOCALTIME_R) + +struct tm * +localtime_r(const time_t *timep, struct tm *result) +{ + *result = *localtime(timep); + return result; +} + +// #endif //HAVE_LOCALTIME_R + +//end diff --git a/mcwin32/diff/compat/mktemp.c b/mcwin32/diff/compat/mktemp.c new file mode 100644 index 0000000..d9d718b --- /dev/null +++ b/mcwin32/diff/compat/mktemp.c @@ -0,0 +1,256 @@ +/* -*- c: tabs: 9 -*- + * Copyright (c) 1987, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#if !defined(lint) && defined(sccs) +static char sccsid[] = "@(#)mktemp.c 8.1 (Berkeley) 6/4/93"; +#endif /* LIBC_SCCS and not lint */ + +#ifndef _CRT_SECURE_NO_WARNINGS +#define _CRT_SECURE_NO_WARNINGS +#endif + +#include "libcompat.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +#if !defined(unix) +#include +#include + +#if defined(WIN32) || defined(_WIN32) +#define WINDOWS_MEAN_AND_LEAN +#include +#endif + +#if defined(_MSC_VER) +#define getpid() _getpid() +#endif + +#if (defined(WIN32) || defined(_WIN32)) && !defined(S_ISDIR) +#define S_ISDIR(m) (m & _S_IFDIR) +#endif +#endif + +static int _gettemp(char *path, int *doopen); + + +#if !defined(HAVE_MKSTEMP) +int +mkstemp(char *path) +{ + int fd = -1; + + if (_gettemp(path, &fd)) { + return fd; + } + +#if defined(WIN32) || defined(_WIN32) + /* "/tmp/", reference system temporary path */ + if (path && 0 == memcmp(path, "/tmp/", 5)) { + + int pathlen, tmplen; + char t_path[256], *p; + + tmplen = (int)GetTempPathA(sizeof(t_path), t_path); + + pathlen = strlen(path + 4); /*include trailing '/'*/ + if (tmplen && (pathlen + tmplen) < sizeof(t_path)) { + + if (t_path[tmplen-1] == '\\') --tmplen; + (void) memcpy(t_path + tmplen, path + 4, pathlen + 1 /*nul*/); + for (p = t_path; NULL != (p = strchr(p, '/'));) { + *p++ = '\\'; + } + + if (_gettemp(t_path, &fd)) { + + strcpy(path + 4, t_path + tmplen); + if ('\\' == path[4]) path[4] = '/'; + return fd; + } + } + } +#endif + + assert(0); + return -1; +} +#endif //HAVE_MKSTEMP + + +#if !defined(HAVE_MKTEMP) +char * +mktemp(char *path) +{ + return(_gettemp(path, (int *)NULL) ? path : (char *)NULL); +} +#endif //HAVE_MKTEMP) + + +// +// xmktemp - extension +// +char * +xmktemp(char *path, char *result, size_t length) +{ + if (_gettemp(path, (int *)NULL)) { + if (result && length) { /* return resulting path*/ + strncpy(result, (const char *)path, length); + result[length-1]=0; + } + return result; + } + +#if defined(WIN32) || defined(_WIN32) + if (path && result && length && 0 == memcmp(path, "/tmp/", 5)) { + + size_t pathlen, tmplen; + char t_path[256], *p; + + tmplen = (size_t)GetTempPathA(sizeof(t_path), t_path); + + pathlen = strlen(path + 4); /*include trailing '/'*/ + + if (tmplen && (pathlen + tmplen) < sizeof(t_path)) { + + if (t_path[tmplen - 1] == '\\') --tmplen; + (void) memcpy(t_path + tmplen, path + 4, pathlen + 1 /*nul*/); + for (p = t_path; NULL != (p = strchr(p, '/'));) { + *p++ = '\\'; + } + + if (_gettemp(t_path, NULL)) { + + strcpy(path + 4, t_path + tmplen); + if ('\\' == path[4]) path[4] = '/'; + strncpy(result, t_path, length); + + return result; + } + } + } +#endif + + assert(0); + return NULL; +} + + +static int +_gettemp(char *path, register int *doopen) +{ + register char *start, *trv; + struct stat sbuf; + unsigned int pid; +#if !defined(unix) + char slash; +#endif + + pid = getpid(); + for (trv = path; *trv; ++trv); /* extra X's get set to 0's */ + while (*--trv == 'X') { + *trv = (pid % 10) + '0'; + pid /= 10; + } + + /* + * check the target directory; if you have six X's and it + * doesn't exist this runs for a *very* long time. + */ + for (start = trv + 1;; --trv) { + if (trv <= path) + break; +#if !defined(unix) + if (*trv == '/' || *trv == '\\') { /*}*/ + slash = *trv; +#else + if (*trv == '/') { +#endif + *trv = '\0'; + if (stat(path, &sbuf)) { + return 0; + } + if (!S_ISDIR(sbuf.st_mode)) { + errno = ENOTDIR; + return 0; + } +#if !defined(unix) + *trv = slash; +#else + *trv = '/'; +#endif + break; + } + } + + for (;;) { + if (doopen) { +#if defined(_MSC_VER) || defined(__WATCOMC__) + if ((*doopen = _open(path, O_CREAT|O_EXCL|O_RDWR|O_BINARY, 0600)) >= 0) +#else + if ((*doopen = open(path, O_CREAT|O_EXCL|O_RDWR|O_BINARY, 0600)) >= 0) +#endif + return(1); + if (errno != EEXIST) + return(0); + } else if (stat(path, &sbuf)) { + return(errno == ENOENT ? 1 : 0); + } + + /* tricky little algorithm for backward compatibility */ + for (trv = start;;) { + if (!*trv) + return(0); + if (*trv == 'z') + *trv++ = 'a'; + else { + if (isdigit(*trv)) + *trv = 'a'; + else + ++*trv; + break; + } + } + } + /*NOTREACHED*/ +} + + + diff --git a/mcwin32/diff/compat/qsort.c b/mcwin32/diff/compat/qsort.c new file mode 100644 index 0000000..52dbbe0 --- /dev/null +++ b/mcwin32/diff/compat/qsort.c @@ -0,0 +1,202 @@ +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#if defined(LIBC_SCCS) && !defined(lint) +static char sccsid[] = "@(#)qsort.c 8.1 (Berkeley) 6/4/93"; +#endif /* LIBC_SCCS and not lint */ +#include +//__FBSDID("$FreeBSD$"); + +#include "libcompat.h" + +#if defined(__GNUC__) +#pragma GCC diagnostic ignored "-Wsign-compare" +#endif + +#include + +#ifdef I_AM_QSORT_R +typedef int cmp_t(void *, const void *, const void *); +#else +typedef int cmp_t(const void *, const void *); +#endif +static inline char *med3(char *, char *, char *, cmp_t *, void *); +static inline void swapfunc(char *, char *, int, int); + +#undef min +#define min(a, b) (a) < (b) ? a : b + +/* + * Qsort routine from Bentley & McIlroy's "Engineering a Sort Function". + */ +#define swapcode(TYPE, parmi, parmj, n) { \ + long i = (n) / sizeof (TYPE); \ + TYPE *pi = (TYPE *) (parmi); \ + TYPE *pj = (TYPE *) (parmj); \ + do { \ + TYPE t = *pi; \ + *pi++ = *pj; \ + *pj++ = t; \ + } while (--i > 0); \ +} + +#define SWAPINIT(a, es) swaptype = ((char *)a - (char *)0) % sizeof(long) || \ + es % sizeof(long) ? 2 : es == sizeof(long)? 0 : 1; + +static inline void +swapfunc(char *a, char *b, int n, int swaptype) +// char *a, *b; +// int n, swaptype; +{ + if(swaptype <= 1) + swapcode(long, a, b, n) + else + swapcode(char, a, b, n) +} + +#define swap(a, b) \ + if (swaptype == 0) { \ + long t = *(long *)(a); \ + *(long *)(a) = *(long *)(b); \ + *(long *)(b) = t; \ + } else \ + swapfunc(a, b, es, swaptype) + +#define vecswap(a, b, n) if ((n) > 0) swapfunc(a, b, n, swaptype) + +#ifdef I_AM_QSORT_R +#define CMP(t, x, y) (cmp((t), (x), (y))) +#else +#define CMP(t, x, y) (cmp((x), (y))) +#endif + +static inline char * +med3(char *a, char *b, char *c, cmp_t *cmp, void *thunk +#ifndef I_AM_QSORT_R +__unused +#endif +) +{ + return CMP(thunk, a, b) < 0 ? + (CMP(thunk, b, c) < 0 ? b : (CMP(thunk, a, c) < 0 ? c : a )) + :(CMP(thunk, b, c) > 0 ? b : (CMP(thunk, a, c) < 0 ? a : c )); +} + +#ifdef I_AM_QSORT_R +void +qsort_r(void *a, size_t n, size_t es, void *thunk, cmp_t *cmp) +#else +#define thunk NULL +void +qsort(void *a, size_t n, size_t es, cmp_t *cmp) +#endif +{ + char *pa, *pb, *pc, *pd, *pl, *pm, *pn; + size_t d, r; + int cmp_result; + int swaptype, swap_cnt; + +loop: SWAPINIT(a, es); + swap_cnt = 0; + if (n < 7) { + for (pm = (char *)a + es; pm < (char *)a + n * es; pm += es) + for (pl = pm; + pl > (char *)a && CMP(thunk, pl - es, pl) > 0; + pl -= es) + swap(pl, pl - es); + return; + } + pm = (char *)a + (n / 2) * es; + if (n > 7) { + pl = a; + pn = (char *)a + (n - 1) * es; + if (n > 40) { + d = (n / 8) * es; + pl = med3(pl, pl + d, pl + 2 * d, cmp, thunk); + pm = med3(pm - d, pm, pm + d, cmp, thunk); + pn = med3(pn - 2 * d, pn - d, pn, cmp, thunk); + } + pm = med3(pl, pm, pn, cmp, thunk); + } + swap(a, pm); + pa = pb = (char *)a + es; + + pc = pd = (char *)a + (n - 1) * es; + for (;;) { + while (pb <= pc && (cmp_result = CMP(thunk, pb, a)) <= 0) { + if (cmp_result == 0) { + swap_cnt = 1; + swap(pa, pb); + pa += es; + } + pb += es; + } + while (pb <= pc && (cmp_result = CMP(thunk, pc, a)) >= 0) { + if (cmp_result == 0) { + swap_cnt = 1; + swap(pc, pd); + pd -= es; + } + pc -= es; + } + if (pb > pc) + break; + swap(pb, pc); + swap_cnt = 1; + pb += es; + pc -= es; + } + if (swap_cnt == 0) { /* Switch to insertion sort */ + for (pm = (char *)a + es; pm < (char *)a + n * es; pm += es) + for (pl = pm; + pl > (char *)a && CMP(thunk, pl - es, pl) > 0; + pl -= es) + swap(pl, pl - es); + return; + } + + pn = (char *)a + n * es; + r = min(pa - (char *)a, pb - pa); + vecswap(a, pb - r, r); + r = min(pd - pc, pn - pd - es); + vecswap(pb, pn - r, r); + if ((r = pb - pa) > es) +#ifdef I_AM_QSORT_R + qsort_r(a, r / es, es, thunk, cmp); +#else + qsort(a, r / es, es, cmp); +#endif + if ((r = pd - pc) > es) { + /* Iterate rather than recurse to save stack space */ + a = pn - r; + n = r / es; + goto loop; + } +/* qsort(pn - r, r / es, es, cmp);*/ +} diff --git a/mcwin32/diff/compat/qsort_r.c b/mcwin32/diff/compat/qsort_r.c new file mode 100644 index 0000000..d868736 --- /dev/null +++ b/mcwin32/diff/compat/qsort_r.c @@ -0,0 +1,8 @@ +/* + * This file is in the public domain. Originally written by Garrett + * A. Wollman. + * + * $FreeBSD$ + */ +#define I_AM_QSORT_R +#include "qsort.c" diff --git a/mcwin32/diff/compat/reallocarray.c b/mcwin32/diff/compat/reallocarray.c new file mode 100644 index 0000000..7e678f1 --- /dev/null +++ b/mcwin32/diff/compat/reallocarray.c @@ -0,0 +1,43 @@ +/* $OpenBSD: reallocarray.c,v 1.2 2014/12/08 03:45:00 bcook Exp $ */ +/* + * Copyright (c) 2008 Otto Moerbeek + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include "libcompat.h" + +#include + ///__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include + +/* + * This is sqrt(SIZE_MAX+1), as s1*s2 <= SIZE_MAX + * if both s1 < MUL_NO_OVERFLOW and s2 < MUL_NO_OVERFLOW + */ +#define MUL_NO_OVERFLOW ((size_t)1 << (sizeof(size_t) * 4)) + +void * +reallocarray(void *optr, size_t nmemb, size_t size) +{ + if ((nmemb >= MUL_NO_OVERFLOW || size >= MUL_NO_OVERFLOW) && + nmemb > 0 && SIZE_MAX / nmemb < size) { + errno = ENOMEM; + return (NULL); + } + return (realloc(optr, size * nmemb)); +} diff --git a/mcwin32/diff/compat/recallocarray.c b/mcwin32/diff/compat/recallocarray.c new file mode 100644 index 0000000..547ba88 --- /dev/null +++ b/mcwin32/diff/compat/recallocarray.c @@ -0,0 +1,87 @@ +/* $OpenBSD: recallocarray.c,v 1.1 2017/03/06 18:44:21 otto Exp $ */ +/* + * Copyright (c) 2008, 2017 Otto Moerbeek + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include "libcompat.h" + +#include +#include +#include +#include +#include + +/* + * This is sqrt(SIZE_MAX+1), as s1*s2 <= SIZE_MAX + * if both s1 < MUL_NO_OVERFLOW and s2 < MUL_NO_OVERFLOW + */ +#define MUL_NO_OVERFLOW ((size_t)1 << (sizeof(size_t) * 4)) + +void * +recallocarray(void *ptr, size_t oldnmemb, size_t newnmemb, size_t size) +{ + size_t oldsize, newsize; + void *newptr; + + if (ptr == NULL) + return calloc(newnmemb, size); + + if ((newnmemb >= MUL_NO_OVERFLOW || size >= MUL_NO_OVERFLOW) && + newnmemb > 0 && SIZE_MAX / newnmemb < size) { + errno = ENOMEM; + return NULL; + } + newsize = newnmemb * size; + + if ((oldnmemb >= MUL_NO_OVERFLOW || size >= MUL_NO_OVERFLOW) && + oldnmemb > 0 && SIZE_MAX / oldnmemb < size) { + errno = EINVAL; + return NULL; + } + oldsize = oldnmemb * size; + + /* + * Don't bother too much if we're shrinking just a bit, + * we do not shrink for series of small steps, oh well. + */ + if (newsize <= oldsize) { + size_t d = oldsize - newsize; + +#if defined(_WIN32) +#define getpagesize() (4096) +#endif + if (d < oldsize / 2 && d < getpagesize()) { + memset((char *)ptr + newsize, 0, d); + return ptr; + } + } + + newptr = malloc(newsize); + if (newptr == NULL) + return NULL; + + if (newsize > oldsize) { + memcpy(newptr, ptr, oldsize); + memset((char *)newptr + oldsize, 0, newsize - oldsize); + } else + memcpy(newptr, ptr, newsize); + + explicit_bzero(ptr, oldsize); + free(ptr); + + return newptr; +} + +/*DEF_WEAK(recallocarray);*/ diff --git a/mcwin32/diff/compat/scandir.c b/mcwin32/diff/compat/scandir.c new file mode 100644 index 0000000..500362a --- /dev/null +++ b/mcwin32/diff/compat/scandir.c @@ -0,0 +1,147 @@ +/* + * Copyright (c) 1983, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#if defined(LIBC_SCCS) && !defined(lint) +static char sccsid[] = "@(#)scandir.c 8.3 (Berkeley) 1/2/94"; +#endif /* LIBC_SCCS and not lint */ +#include +//__FBSDID("$FreeBSD$"); + +/* + * Scan the directory dirname calling select to make a list of selected + * directory entries then sort using qsort and compare routine dcomp. + * Returns the number of entries and a pointer to a list of pointers to + * struct dirent (through namelist). Returns -1 if there were any errors. + */ + +//#include "namespace.h" +#include +#include +#include +//#include "un-namespace.h" + +#include "libcompat.h" + +static int alphasort_thunk(void *thunk, const void *p1, const void *p2); + +/* + * The DIRSIZ macro is the minimum record length which will hold the directory + * entry. This requires the amount of space in struct dirent without the + * d_name field, plus enough space for the name and a terminating nul byte + * (dp->d_namlen + 1), rounded up to a 4 byte boundary. + */ +#undef DIRSIZ +#define DIRSIZ(dp) \ + ((sizeof(struct dirent) - sizeof(dp)->d_name) + \ + (((dp)->d_namlen + 1 + 3) &~ 3)) + +int +scandir(const char *dirname, struct dirent ***namelist, + int (*select)(const struct dirent *), int (*dcomp)(const struct dirent **, + const struct dirent **)) +{ + struct dirent *d, *p, **names = NULL; + size_t nitems = 0; + size_t /*long*/ arraysz; + DIR *dirp; + + if ((dirp = opendir(dirname)) == NULL) + return(-1); + + arraysz = 32; /* initial estimate of the array size */ + names = (struct dirent **)malloc(arraysz * sizeof(struct dirent *)); + if (names == NULL) + goto fail; + + while ((d = readdir(dirp)) != NULL) { + if (select != NULL && !(*select)(d)) + continue; /* just selected names */ + /* + * Make a minimum size copy of the data + */ + p = (struct dirent *)malloc(DIRSIZ(d)); + if (p == NULL) + goto fail; + p->d_fileno = d->d_fileno; + p->d_type = d->d_type; + p->d_reclen = d->d_reclen; + p->d_namlen = d->d_namlen; + bcopy(d->d_name, p->d_name, p->d_namlen + 1); + /* + * Check to make sure the array has space left and + * realloc the maximum size. + */ + if (nitems >= arraysz) { + struct dirent **names2; + + names2 = (struct dirent **)realloc((char *)names, + (arraysz * 2) * sizeof(struct dirent *)); + if (names2 == NULL) { + free(p); + goto fail; + } + names = names2; + arraysz *= 2; + } + names[nitems++] = p; + } + closedir(dirp); + if (nitems && dcomp != NULL) + qsort_r(names, nitems, sizeof(struct dirent *), + &dcomp, alphasort_thunk); + *namelist = names; + return (nitems); + +fail: + while (nitems > 0) + free(names[--nitems]); + free(names); + closedir(dirp); + return (-1); +} + +/* + * Alphabetic order comparison routine for those who want it. + * POSIX 2008 requires that alphasort() uses strcoll(). + */ +int +alphasort(const struct dirent **d1, const struct dirent **d2) +{ + + return (strcoll((*d1)->d_name, (*d2)->d_name)); +} + +static int +alphasort_thunk(void *thunk, const void *p1, const void *p2) +{ + int (*dc)(const struct dirent **, const struct dirent **); + + dc = *(int (**)(const struct dirent **, const struct dirent **))thunk; + return (dc((const struct dirent **)p1, (const struct dirent **)p2)); +} diff --git a/mcwin32/diff/compat/strlcat.c b/mcwin32/diff/compat/strlcat.c new file mode 100644 index 0000000..f4fc16e --- /dev/null +++ b/mcwin32/diff/compat/strlcat.c @@ -0,0 +1,67 @@ +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include "libcompat.h" + +#include +#include + +/* + * Appends src to string dst of size siz (unlike strncat, siz is the + * full size of dst, not space left). At most siz-1 characters + * will be copied. Always NUL terminates (unless siz <= strlen(dst)). + * Returns strlen(src) + MIN(siz, strlen(initial dst)). + * If retval >= siz, truncation occurred. + */ +#if !defined(HAVE_STRLCAT) + +size_t +strlcat(char *dst, const char *src, size_t siz) +{ + char *d = dst; + const char *s = src; + size_t n = siz; + size_t dlen; + + /* Find the end of dst and adjust bytes left but don't go past end */ + while (n-- != 0 && *d != '\0') + d++; + dlen = d - dst; + n = siz - dlen; + + if (n == 0) + return(dlen + strlen(s)); + while (*s != '\0') { + if (n != 1) { + *d++ = *s; + n--; + } + s++; + } + *d = '\0'; + + return(dlen + (s - src)); /* count does not include NUL */ +} + +#else +extern void __stdlibrary_has_strlcat(void); + +void +__stdlibrary_has_strlcat(void) +{ +} + +#endif \ No newline at end of file diff --git a/mcwin32/diff/compat/strlcpy.c b/mcwin32/diff/compat/strlcpy.c new file mode 100644 index 0000000..b03b47f --- /dev/null +++ b/mcwin32/diff/compat/strlcpy.c @@ -0,0 +1,63 @@ +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include "libcompat.h" + +#include +#include + +/* + * Copy src to string dst of size siz. At most siz-1 characters + * will be copied. Always NUL terminates (unless siz == 0). + * Returns strlen(src); if retval >= siz, truncation occurred. + */ +#if !defined(HAVE_STRLCPY) + +size_t +strlcpy(char *dst, const char *src, size_t siz) +{ + char *d = dst; + const char *s = src; + size_t n = siz; + + /* Copy as many bytes as will fit */ + if (n != 0) { + while (--n != 0) { + if ((*d++ = *s++) == '\0') + break; + } + } + + /* Not enough room in dst, add NUL and traverse rest of src */ + if (n == 0) { + if (siz != 0) + *d = '\0'; /* NUL-terminate dst */ + while (*s++) + ; + } + + return(s - src - 1); /* count does not include NUL */ +} + +#else +extern void __stdlibrary_has_strlcpy(void); + +void +__stdlibrary_has_strlcpy(void) +{ +} + +#endif \ No newline at end of file diff --git a/mcwin32/diff/compat/strndup.c b/mcwin32/diff/compat/strndup.c new file mode 100644 index 0000000..9740cf8 --- /dev/null +++ b/mcwin32/diff/compat/strndup.c @@ -0,0 +1,81 @@ +/* + * Copyright (c) 2010 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include "libcompat.h" + +#include +#include +#include + +// NAME +// +// strndup - duplicate a specific number of bytes from a string. +// +// SYNOPSIS +// +// #include +// +// char *strndup(const char *s, size_t size); +// +// DESCRIPTION +// +// The strndup() function shall be equivalent to the strdup() function, duplicating the +// provided s in a new block of memory allocated as if by using malloc(), with the exception +// being that strndup() copies at most size plus one bytes into the newly allocated memory, +// terminating the new string with a NUL character. If the length of s is larger than size, +// only size bytes shall be duplicated. If size is larger than the length of s, all bytes +// in 's' shall be copied into the new memory buffer, including the terminating NUL character. +// The newly created string shall always be properly terminated. +// +// RETURN VALUE +// +// Upon successful completion, the strndup() function shall return a pointer to the newly +// allocated memory containing the duplicated string. Otherwise, it shall return a null +// pointer and set errno to indicate the error. +// +// ERRORS +// +// These functions shall fail if: +// +// [ENOMEM] - Storage space available is insufficient. +// + +#if !defined(HAVE_STRNDUP) +char * +strndup(const char *str, size_t maxlen) +{ + char *copy; + size_t len; + + len = strnlen(str, maxlen); + copy = malloc(len + 1); + if (copy != NULL) { + (void)memcpy(copy, str, len); + copy[len] = '\0'; + } + + return copy; +} + +#else +extern void __stdlibrary_has_strndup(void); + +void +__stdlibrary_has_strndup(void) +{ +} + +#endif diff --git a/mcwin32/diff/compat/strtonum.c b/mcwin32/diff/compat/strtonum.c new file mode 100644 index 0000000..f82511e --- /dev/null +++ b/mcwin32/diff/compat/strtonum.c @@ -0,0 +1,71 @@ +/* $OpenBSD: strtonum.c,v 1.6 2004/08/03 19:38:01 millert Exp $ */ + +/* + * Copyright (c) 2004 Ted Unangst and Todd Miller + * All rights reserved. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/* OPENBSD ORIGINAL: lib/libc/stdlib/strtonum.c */ + +//#if defined(__linux__) +#include +#include +#include + +#include "libcompat.h" + +#define INVALID 1 +#define TOOSMALL 2 +#define TOOLARGE 3 + +long long +strtonum(const char *numstr, long long minval, long long maxval, const char **errstrp) +{ + long long ll = 0; + char *ep; + int error = 0; + struct errval { + const char *errstr; + int err; + } ev[4] = { + { NULL, 0 }, + { "invalid", EINVAL }, + { "too small", ERANGE }, + { "too large", ERANGE }, + }; + + ev[0].err = errno; + errno = 0; + if (minval > maxval) + error = INVALID; + else { + ll = strtoll(numstr, &ep, 10); + if (numstr == ep || *ep != '\0') + error = INVALID; + else if ((ll == LLONG_MIN && errno == ERANGE) || ll < minval) + error = TOOSMALL; + else if ((ll == LLONG_MAX && errno == ERANGE) || ll > maxval) + error = TOOLARGE; + } + if (errstrp != NULL) + *errstrp = ev[error].errstr; + errno = ev[error].err; + if (error) + ll = 0; + + return (ll); +} + +//#endif diff --git a/mcwin32/diff/compat/timegm.c b/mcwin32/diff/compat/timegm.c new file mode 100644 index 0000000..944a23f --- /dev/null +++ b/mcwin32/diff/compat/timegm.c @@ -0,0 +1,129 @@ +/* -*- mode: c; indent-width: 8; -*- */ + +/* + * Copyright (c) 1997 Kungliga Tekniska Hgskolan + * (Royal Institute of Technology, Stockholm, Sweden). + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * 3. Neither the name of the Institute nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include + +#include "libcompat.h" + +#include +#include + +#if defined(_MSC_VER) || defined(__WATCOMC__) || \ + (defined(__MINGW32__) && !defined(HAVE_TIMEGM)) + +/* + * Simplifed version of timegm() that wont allow out of bound values. + * + * The timegm() function interprets the input structure as representing Universal Coordinated Time (UTC). + */ + +static int +calc_leap_years(int y) +{ + y -= 1; + return y / 4 - y / 100 + y / 400; +} + + +static int +is_leap(unsigned y) +{ + y += 1900; + return (y % 4) == 0 && ((y % 100) != 0 || (y % 400) == 0); +} + + +time_t +timegm(struct tm *tm) +{ + static const unsigned ndays[2][12] = { + {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}, + {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}}; + + time_t res = 0; + int i, leap; + + if (! tm) + return -1; + + if (tm->tm_year < 0) + return -1; + + leap = is_leap(tm->tm_year); + + if (tm->tm_mon < 0 || tm->tm_mon > 11 || + tm->tm_mday < 1 || tm->tm_mday > (int)ndays[leap][tm->tm_mon] || + tm->tm_min < 0 || tm->tm_min > 59 || + tm->tm_sec < 0 || tm->tm_sec > 60 || + tm->tm_hour < 0 || tm->tm_hour > 23) { + return -1; + } + +// for (i = 70; i < tm->tm_year; ++i) +// res += is_leap(i) ? 366 : 365; + + res = (tm->tm_year - 70) * 365 + + (calc_leap_years(tm->tm_year + 1900) - calc_leap_years(1970)); + + leap = is_leap(tm->tm_year); + for (i = 0; i < tm->tm_mon; ++i) + res += ndays[leap][i]; + + res += tm->tm_mday - 1; + res *= 24; + res += tm->tm_hour; + res *= 60; + res += tm->tm_min; + res *= 60; + res += tm->tm_sec; + +#if defined(_MSC_VER) + assert(res == _mkgmtime(tm)); +#endif + return res; +} + + +#else +extern void __stdlibrary_has_timegm(void); + +void +__stdlibrary_has_timegm(void) +{ +} + +#endif + +//end diff --git a/mcwin32/diff/compat/vasprintf.c b/mcwin32/diff/compat/vasprintf.c new file mode 100644 index 0000000..72e4a9a --- /dev/null +++ b/mcwin32/diff/compat/vasprintf.c @@ -0,0 +1,93 @@ +// +// compat_vasprintf +// + +#include "libcompat.h" + +#if !defined(HAVE_VASPRINTF) + +#include +#include +#include +#include +#include + +#ifndef VA_COPY +# if defined(HAVE_VA_COPY) || defined(va_copy) + /* ISO C99 and later */ +#define VA_COPY(__dst, __src) va_copy(__dst, __src) +# elif defined(HAVE___VA_COPY) || defined(__va_copy) + /* gnu */ +#define VA_COPY(__dst, __src) __va_copy(__dst, __src) +# elif defined(__WATCOMC__) + /* Older Watcom implementations */ +#define VA_COPY(__dst, __src) memcpy((__dst), (__src), sizeof (va_list)) +# else +#define VA_COPY(__dst, __src) (__dst) = (__src) +# endif +#endif /*VA_COPY*/ + + +/* + SYNOPSIS + int + asprintf(char **ret, const char *format, ...); + + int + vasprintf(char **ret, const char *format, va_list ap); + + DESCRIPTION + The printf() family of functions ... + + The functions asprintf() and vasprintf() are analogs of sprintf(3) and vsprintf(3), + except that they allocate a string large enough to hold the output including the + terminating null byte, and return a pointer to it via the first argument. + This pointer should be passed to free(3) to release the allocated storage when it is + no longer needed. + + RETURNS + When successful, these functions return the number of bytes printed, just like sprintf(3). + If sufficient space cannot be allocated, asprintf() and vasprintf() will return -1 and set ret to be a NULL pointer. + + COMPAT + These functions are GNU extensions, not in C or POSIX. + They are also available under *BSD. The FreeBSD implementation sets strp to NULL on error. +*/ + +int +vasprintf(char **str, const char *fmt, va_list ap) +{ + va_list tap; + char *buf = NULL; + int osize, size; + + if (NULL == str || NULL == fmt) { + errno = EINVAL; + return -1; + } + + VA_COPY(tap, ap); + osize = vsnprintf(NULL, 0, fmt, tap); + if (osize < 0 || + (NULL == (buf = (char *)malloc(osize + 16)))) { + size = -1; + } else { + size = vsprintf(buf, fmt, ap); + assert(size == osize); + } + *str = buf; + va_end(tap); + + return size; +} + + +#else +extern void __stdlibrary_has_vasprintf(void); + +void +__stdlibrary_has_vasprintf(void) +{ +} + +#endif \ No newline at end of file diff --git a/mcwin32/diff/diff.1 b/mcwin32/diff/diff.1 new file mode 100644 index 0000000..10a3493 --- /dev/null +++ b/mcwin32/diff/diff.1 @@ -0,0 +1,741 @@ +.\" $OpenBSD: diff.1,v 1.47 2015/11/24 19:35:41 jmc Exp $ +.\" +.\" Copyright (c) 1980, 1990, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.Dd March 10, 2022 +.Dt DIFF 1 +.Os +.Sh NAME +.Nm diff +.Nd differential file and directory comparator +.Sh SYNOPSIS +.Nm diff +.Op Fl aBbdipTtw +.Oo +.Fl c | e | f | +.Fl n | q | u | y +.Oc +.Op Fl -brief +.Op Fl -color Ns = Ns Ar when +.Op Fl -changed-group-format Ar GFMT +.Op Fl -ed +.Op Fl -expand-tabs +.Op Fl -forward-ed +.Op Fl -ignore-all-space +.Op Fl -ignore-case +.Op Fl -ignore-space-change +.Op Fl -initial-tab +.Op Fl -minimal +.Op Fl -no-ignore-file-name-case +.Op Fl -normal +.Op Fl -rcs +.Op Fl -show-c-function +.Op Fl -starting-file +.Op Fl -speed-large-files +.Op Fl -strip-trailing-cr +.Op Fl -tabsize Ar number +.Op Fl -text +.Op Fl -unified +.Op Fl I Ar pattern | Fl -ignore-matching-lines Ar pattern +.Op Fl F Ar pattern | Fl -show-function-line Ar pattern +.Op Fl L Ar label | Fl -label Ar label +.Ar file1 file2 +.Nm diff +.Op Fl aBbdilpTtw +.Op Fl I Ar pattern | Fl -ignore-matching-lines Ar pattern +.Op Fl F Ar pattern | Fl -show-function-line Ar pattern +.Op Fl L Ar label | Fl -label Ar label +.Op Fl -brief +.Op Fl -color Ns = Ns Ar when +.Op Fl -changed-group-format Ar GFMT +.Op Fl -ed +.Op Fl -expand-tabs +.Op Fl -forward-ed +.Op Fl -ignore-all-space +.Op Fl -ignore-case +.Op Fl -ignore-space-change +.Op Fl -initial-tab +.Op Fl -minimal +.Op Fl -no-ignore-file-name-case +.Op Fl -normal +.Op Fl -paginate +.Op Fl -rcs +.Op Fl -show-c-function +.Op Fl -speed-large-files +.Op Fl -starting-file +.Op Fl -strip-trailing-cr +.Op Fl -tabsize Ar number +.Op Fl -text +.Fl C Ar number | -context Ar number +.Ar file1 file2 +.Nm diff +.Op Fl aBbdiltw +.Op Fl I Ar pattern | Fl -ignore-matching-lines Ar pattern +.Op Fl -brief +.Op Fl -color Ns = Ns Ar when +.Op Fl -changed-group-format Ar GFMT +.Op Fl -ed +.Op Fl -expand-tabs +.Op Fl -forward-ed +.Op Fl -ignore-all-space +.Op Fl -ignore-case +.Op Fl -ignore-space-change +.Op Fl -initial-tab +.Op Fl -minimal +.Op Fl -no-ignore-file-name-case +.Op Fl -normal +.Op Fl -paginate +.Op Fl -rcs +.Op Fl -show-c-function +.Op Fl -speed-large-files +.Op Fl -starting-file +.Op Fl -strip-trailing-cr +.Op Fl -tabsize Ar number +.Op Fl -text +.Fl D Ar string | Fl -ifdef Ar string +.Ar file1 file2 +.Nm diff +.Op Fl aBbdilpTtw +.Op Fl I Ar pattern | Fl -ignore-matching-lines Ar pattern +.Op Fl F Ar pattern | Fl -show-function-line Ar pattern +.Op Fl L Ar label | Fl -label Ar label +.Op Fl -brief +.Op Fl -color Ns = Ns Ar when +.Op Fl -changed-group-format Ar GFMT +.Op Fl -ed +.Op Fl -expand-tabs +.Op Fl -forward-ed +.Op Fl -ignore-all-space +.Op Fl -ignore-case +.Op Fl -ignore-space-change +.Op Fl -initial-tab +.Op Fl -minimal +.Op Fl -no-ignore-file-name-case +.Op Fl -normal +.Op Fl -paginate +.Op Fl -rcs +.Op Fl -show-c-function +.Op Fl -speed-large-files +.Op Fl -starting-file +.Op Fl -strip-trailing-cr +.Op Fl -tabsize Ar number +.Op Fl -text +.Fl U Ar number | Fl -unified Ar number +.Ar file1 file2 +.Nm diff +.Op Fl aBbdilNPprsTtw +.Oo +.Fl c | e | f | +.Fl n | q | u +.Oc +.Op Fl -brief +.Op Fl -color Ns = Ns Ar when +.Op Fl -changed-group-format Ar GFMT +.Op Fl -context +.Op Fl -ed +.Op Fl -expand-tabs +.Op Fl -forward-ed +.Op Fl -ignore-all-space +.Op Fl -ignore-case +.Op Fl -ignore-space-change +.Op Fl -initial-tab +.Op Fl -minimal +.Op Fl -new-file +.Op Fl -no-ignore-file-name-case +.Op Fl -normal +.Op Fl -paginate +.Op Fl -rcs +.Op Fl -recursive +.Op Fl -report-identical-files +.Op Fl -show-c-function +.Op Fl -speed-large-files +.Op Fl -strip-trailing-cr +.Op Fl -tabsize Ar number +.Op Fl -text +.Op Fl -unidirectional-new-file +.Op Fl -unified +.Op Fl I Ar pattern | Fl -ignore-matching-lines Ar pattern +.Op Fl F Ar pattern | Fl -show-function-line Ar pattern +.Bk -words +.Op Fl L Ar label | Fl -label Ar label +.Op Fl S Ar name | Fl -starting-file Ar name +.Op Fl X Ar file | Fl -exclude-from Ar file +.Op Fl x Ar pattern | Fl -exclude Ar pattern +.Ek +.Ar dir1 dir2 +.Nm diff +.Op Fl aBbditwW +.Op Fl -color Ns = Ns Ar when +.Op Fl -expand-tabs +.Op Fl -ignore-all-blanks +.Op Fl -ignore-blank-lines +.Op Fl -ignore-case +.Op Fl -minimal +.Op Fl -no-ignore-file-name-case +.Op Fl -strip-trailing-cr +.Op Fl -suppress-common-lines +.Op Fl -tabsize Ar number +.Op Fl -text +.Op Fl -width +.Fl y | Fl -side-by-side +.Ar file1 file2 +.Nm diff +.Op Fl -help +.Op Fl -version +.Sh DESCRIPTION +The +.Nm +utility compares the contents of +.Ar file1 +and +.Ar file2 +and writes to the standard output the list of changes necessary to +convert one file into the other. +No output is produced if the files are identical. +.Pp +Output options (mutually exclusive): +.Bl -tag -width Ds +.It Fl C Ar number Fl -context Ar number +Like +.Fl c +but produces a diff with +.Ar number +lines of context. +.It Fl c +Produces a diff with 3 lines of context. +With +.Fl c +the output format is modified slightly: +the output begins with identification of the files involved and +their creation dates and then each change is separated +by a line with fifteen +.Li * Ns 's . +The lines removed from +.Ar file1 +are marked with +.Sq \&-\ \& ; +those added to +.Ar file2 +are marked +.Sq +\ \& . +Lines which are changed from one file to the other are marked in +both files with +.Sq !\ \& . +Changes which lie within 3 lines of each other are grouped together on +output. +.It Fl D Ar string Fl -ifdef Ar string +Creates a merged version of +.Ar file1 +and +.Ar file2 +on the standard output, with C preprocessor controls included so that +a compilation of the result without defining +.Ar string +is equivalent to compiling +.Ar file1 , +while defining +.Ar string +will yield +.Ar file2 . +.It Fl e -ed +Produces output in a form suitable as input for the editor utility, +.Xr ed 1 , +which can then be used to convert file1 into file2. +.Pp +Extra commands are added to the output when comparing directories with +.Fl e , +so that the result is a +.Xr sh 1 +script for converting text files which are common to the two directories +from their state in +.Ar dir1 +to their state in +.Ar dir2 . +.It Fl f -forward-ed +Identical output to that of the +.Fl e +flag, but in reverse order. +It cannot be digested by +.Xr ed 1 . +.It Fl -help +This option prints a summary to stdout and exits with status 0. +.It Fl n +Produces a script similar to that of +.Fl e , +but in the opposite order and with a count of changed lines on each +insert or delete command. +This is the form used by rcsdiff. +.It Fl q -brief +Just print a line when the files differ. +Does not output a list of changes. +.It Fl U Ar number Fl -unified Ar number +Like +.Fl u +but produces a diff with +.Ar number +lines of context. +.It Fl u +Produces a +.Em unified +diff with 3 lines of context. +A unified diff is similar to the context diff produced by the +.Fl c +option. +However, unlike with +.Fl c , +all lines to be changed (added and/or removed) are present in +a single section. +.It Fl -version +This option prints a version string to stdout and exits with status 0. +.It Fl y Fl -side-by-side +Output in two columns with a marker between them. +The marker can be one +of the following: +.Pp +.Bl -tag -width Ds -offset indent -compact +.It space +Corresponding lines are identical. +.It '|' +Corresponding lines are different. +.It '<' +Files differ and only the first file contains the line. +.It '>' +Files differ and only the second file contains the line. +.El +.El +.Pp +Comparison options: +.Bl -tag -width Ds +.It Fl a -text +Treat all files as ASCII text. +Normally +.Nm +will simply print +.Dq Binary files ... differ +if files contain binary characters. +Use of this option forces +.Nm +to produce a diff. +.It Fl B Fl -ignore-blank-lines +Causes chunks that include only blank lines to be ignored. +.It Fl b -ignore-space-change +Causes trailing blanks (spaces and tabs) to be ignored, and other +strings of blanks to compare equal. +.It Fl -color= Ns Oo Ar when Oc +Color the additions green, and removals red, or the value in the +.Ev DIFFCOLORS +environment variable. +The possible values of +.Ar when +are +.Dq Cm never , +.Dq Cm always +and +.Dq Cm auto . +.Cm auto +will use color if the output is a tty and the +.Ev COLORTERM +environment variable is set to a non-empty string. +.It Fl d -minimal +Try very hard to produce a diff as small as possible. +This may consume a lot of processing power and memory when processing +large files with many changes. +.It Fl F Ar pattern, Fl -show-function-line Ar pattern +Like +.Fl p, +but display the last line that matches provided pattern. +.It Fl I Ar pattern Fl -ignore-matching-lines Ar pattern +Ignores changes, insertions, and deletions whose lines match the +extended regular expression +.Ar pattern . +Multiple +.Fl I +patterns may be specified. +All lines in the change must match some pattern for the change to be +ignored. +See +.Xr re_format 7 +for more information on regular expression patterns. +.It Fl i -ignore-case +Ignores the case of letters. +E.g., +.Dq A +will compare equal to +.Dq a . +.It Fl l -paginate +Pass the output through +.Xr pr 1 +to paginate it. +.It Fl L Ar label Fl -label Ar label +Print +.Ar label +instead of the first (and second, if this option is specified twice) +file name and time in the context or unified diff header. +.It Fl p -show-c-function +With unified and context diffs, show with each change +the first 40 characters of the last line before the context beginning +with a letter, an underscore or a dollar sign. +For C and Objective-C source code following standard layout conventions, this +will show the prototype of the function the change applies to. +.It Fl T -initial-tab +Print a tab rather than a space before the rest of the line for the +normal, context or unified output formats. +This makes the alignment of tabs in the line consistent. +.It Fl t -expand-tabs +Will expand tabs in output lines. +Normal or +.Fl c +output adds character(s) to the front of each line which may screw up +the indentation of the original source lines and make the output listing +difficult to interpret. +This option will preserve the original source's indentation. +.It Fl w -ignore-all-blanks +Is similar to +.Fl b -ignore-space-change +but causes whitespace (blanks and tabs) to be totally ignored. +E.g., +.Dq if (\ \&a == b \&) +will compare equal to +.Dq if(a==b) . +.It Fl W Ar number Fl -width Ar number +Output at most +.Ar number +columns when using side by side format. +The default value is 130. +.It Fl -changed-group-format Ar GFMT +Format input groups in the provided +.Pp +the format is a string with special keywords: +.Bl -tag -width %< +.It %< +lines from FILE1 +.It %< +lines from FILE2 +.El +.It Fl -ignore-file-name-case +ignore case when comparing file names +.It Fl -no-ignore-file-name-case +do not ignore case when comparing file names (default) +.It Fl -normal +default diff output +.It Fl -speed-large-files +stub option for compatibility with GNU diff +.It Fl -strip-trailing-cr +strip carriage return on input files +.It Fl -suppress-common-lines +Do not output common lines when using the side by side format +.It Fl -tabsize Ar number +Number of spaces representing a tab (default 8) +.El +.Pp +Directory comparison options: +.Bl -tag -width Ds +.It Fl N -new-file +If a file is found in only one directory, act as if it was found in the +other directory too but was of zero size. +.It Fl P -unidirectional-new-file +If a file is found only in +.Ar dir2 , +act as if it was found in +.Ar dir1 +too but was of zero size. +.It Fl r -recursive +Causes application of +.Nm +recursively to common subdirectories encountered. +.It Fl S Ar name Fl -starting-file Ar name +Re-starts a directory +.Nm +in the middle, beginning with file +.Ar name . +.It Fl s -report-identical-files +Causes +.Nm +to report files which are the same, which are otherwise not mentioned. +.It Fl X Ar file Fl -exclude-from Ar file +Exclude files and subdirectories from comparison whose basenames match +lines in +.Ar file . +Multiple +.Fl X +options may be specified. +.It Fl x Ar pattern Fl -exclude Ar pattern +Exclude files and subdirectories from comparison whose basenames match +.Ar pattern . +Patterns are matched using shell-style globbing via +.Xr fnmatch 3 . +Multiple +.Fl x +options may be specified. +.El +.Pp +If both arguments are directories, +.Nm +sorts the contents of the directories by name, and then runs the +regular file +.Nm +algorithm, producing a change list, +on text files which are different. +Binary files which differ, +common subdirectories, and files which appear in only one directory +are described as such. +In directory mode only regular files and directories are compared. +If a non-regular file such as a device special file or FIFO is encountered, +a diagnostic message is printed. +.Pp +If only one of +.Ar file1 +and +.Ar file2 +is a directory, +.Nm +is applied to the non-directory file and the file contained in +the directory file with a filename that is the same as the +last component of the non-directory file. +.Pp +If either +.Ar file1 +or +.Ar file2 +is +.Sq - , +the standard input is +used in its place. +.Ss Output Style +The default (without +.Fl e , +.Fl c , +or +.Fl n -rcs +.\" -C +options) +output contains lines of these forms, where +.Va XX , YY , ZZ , QQ +are line numbers respective of file order. +.Pp +.Bl -tag -width "XX,YYcZZ,QQ" -compact +.It Li XX Ns Ic a Ns Li YY +At (the end of) line +.Va XX +of +.Ar file1 , +append the contents +of line +.Va YY +of +.Ar file2 +to make them equal. +.It Li XX Ns Ic a Ns Li YY,ZZ +Same as above, but append the range of lines, +.Va YY +through +.Va ZZ +of +.Ar file2 +to line +.Va XX +of file1. +.It Li XX Ns Ic d Ns Li YY +At line +.Va XX +delete +the line. +The value +.Va YY +tells to which line the change would bring +.Ar file1 +in line with +.Ar file2 . +.It Li XX,YY Ns Ic d Ns Li ZZ +Delete the range of lines +.Va XX +through +.Va YY +in +.Ar file1 . +.It Li XX Ns Ic c Ns Li YY +Change the line +.Va XX +in +.Ar file1 +to the line +.Va YY +in +.Ar file2 . +.It Li XX,YY Ns Ic c Ns Li ZZ +Replace the range of specified lines with the line +.Va ZZ . +.It Li XX,YY Ns Ic c Ns Li ZZ,QQ +Replace the range +.Va XX , Ns Va YY +from +.Ar file1 +with the range +.Va ZZ , Ns Va QQ +from +.Ar file2 . +.El +.Pp +These lines resemble +.Xr ed 1 +subcommands to convert +.Ar file1 +into +.Ar file2 . +The line numbers before the action letters pertain to +.Ar file1 ; +those after pertain to +.Ar file2 . +Thus, by exchanging +.Ic a +for +.Ic d +and reading the line in reverse order, one can also +determine how to convert +.Ar file2 +into +.Ar file1 . +As in +.Xr ed 1 , +identical +pairs (where num1 = num2) are abbreviated as a single +number. +.Sh ENVIRONMENT +.Bl -tag -width DIFFCOLORS +.It Ev DIFFCOLORS +The value of this variable is the form +.Ar add Ns : Ns Ar rm , +where +.Ar add +is the ASCII escape sequence for additions and +.Ar rm +is the ASCII escape sequence for deletions. +If this is unset, +.Nm +uses green for additions and red for removals. +.El +.Sh FILES +.Bl -tag -width /tmp/diff.XXXXXXXX -compact +.It Pa /tmp/diff.XXXXXXXX +Temporary file used when comparing a device or the standard input. +Note that the temporary file is unlinked as soon as it is created +so it will not show up in a directory listing. +.El +.Sh EXIT STATUS +The +.Nm +utility exits with one of the following values: +.Pp +.Bl -tag -width Ds -offset indent -compact +.It 0 +No differences were found. +.It 1 +Differences were found. +.It >1 +An error occurred. +.El +.Pp +The +.Fl -help +and +.Fl -version +options exit with a status of 0. +.Sh EXAMPLES +Compare +.Pa old_dir +and +.Pa new_dir +recursively generating an unified diff and treating files found only in one +of those directories as new files: +.Bd -literal -offset indent +$ diff -ruN /path/to/old_dir /path/to/new_dir +.Ed +.Pp +Same as above but excluding files matching the expressions +.Dq *.h +and +.Dq *.c : +.Bd -literal -offset indent +$ diff -ruN -x '*.h' -x '*.c' /path/to/old_dir /path/to/new_dir +.Ed +.Pp +Show a single line indicating if the files differ: +.Bd -literal -offset indent +$ diff -q /boot/loader.conf /boot/defaults/loader.conf +Files /boot/loader.conf and /boot/defaults/loader.conf differ +.Ed +.Pp +Assuming a file named +.Pa example.txt +with the following contents: +.Bd -literal -offset indent +FreeBSD is an operating system +Linux is a kernel +OpenBSD is an operating system +.Ed +.Pp +Compare stdin with +.Pa example.txt +excluding from the comparison those lines containing either +.Qq Linux +or +.Qq Open : +.Bd -literal -offset indent +$ echo "FreeBSD is an operating system" | diff -q -I 'Linux|Open' example.txt - +.Ed +.Sh SEE ALSO +.Xr cmp 1 , +.Xr comm 1 , +.Xr diff3 1 , +.Xr ed 1 , +.Xr patch 1 , +.Xr pr 1 , +.Xr sdiff 1 +.Rs +.%A James W. Hunt +.%A M. Douglas McIlroy +.%T "An Algorithm for Differential File Comparison" +.%J Computing Science Technical Report +.%Q Bell Laboratories 41 +.%D June 1976 +.Re +.Sh STANDARDS +The +.Nm +utility is compliant with the +.St -p1003.1-2008 +specification. +.Pp +The flags +.Op Fl aDdIiLlNnPpqSsTtwXxy +are extensions to that specification. +.Sh HISTORY +A +.Nm +command appeared in +.At v6 . diff --git a/mcwin32/diff/diff.c b/mcwin32/diff/diff.c new file mode 100644 index 0000000..1af4579 --- /dev/null +++ b/mcwin32/diff/diff.c @@ -0,0 +1,716 @@ +/* $OpenBSD: diff.c,v 1.67 2019/06/28 13:35:00 deraadt Exp $ */ + +/* + * Copyright (c) 2003 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Sponsored in part by the Defense Advanced Research Projects + * Agency (DARPA) and Air Force Research Laboratory, Air Force + * Materiel Command, USAF, under agreement number F39502-99-1-0512. + */ + +#if defined(WIN32) && !defined(WIN32_UNISTD_MAP) +#define WIN32_UNISTD_MAP 1 +#endif + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "diff.h" +#include "xmalloc.h" + +#if defined(WIN32) +#include "diffwin.h" +#include "diff_license.h" +#include "diff_usage.h" +#endif + +static const char diff_version[] = "FreeBSD diff 20220309"; + +bool lflag, Nflag, Pflag, rflag, sflag, Tflag, cflag; +bool ignore_file_case, suppress_common, color, noderef; +static bool help = false; +int diff_format, diff_context, status; +int tabsize = 8, width = 130; +static int colorflag = COLORFLAG_NEVER; +char *start, *ifdefname, *diffargs, *label[2]; +char *ignore_pats, *most_recent_pat; +char *group_format = NULL; +const char *add_code, *del_code; +struct stat stb1, stb2; +struct excludes *excludes_list; +regex_t ignore_re, most_recent_re; + +#define OPTIONS "0123456789aBbC:cdD:efF:HhI:iL:lnNPpqrS:sTtU:uwW:X:x:y" +enum { + OPT_TSIZE = CHAR_MAX + 1, + OPT_STRIPCR, + OPT_IGN_FN_CASE, + OPT_NO_IGN_FN_CASE, + OPT_NORMAL, + OPT_HELP, + OPT_HORIZON_LINES, + OPT_CHANGED_GROUP_FORMAT, + OPT_SUPPRESS_COMMON, + OPT_COLOR, + OPT_NO_DEREFERENCE, + OPT_VERSION, +#if defined(WIN32) + OPT_MC_FORMAT, + OPT_LICENSE, + OPT_USAGE +#endif //WIN32 +}; + +static const struct option longopts[] = { + { "text", no_argument, 0, 'a' }, + { "ignore-space-change", no_argument, 0, 'b' }, + { "context", optional_argument, 0, 'C' }, + { "ifdef", required_argument, 0, 'D' }, + { "minimal", no_argument, 0, 'd' }, + { "ed", no_argument, 0, 'e' }, + { "forward-ed", no_argument, 0, 'f' }, + { "show-function-line", required_argument, 0, 'F' }, + { "speed-large-files", no_argument, NULL, 'H' }, + { "ignore-blank-lines", no_argument, 0, 'B' }, + { "ignore-matching-lines", required_argument, 0, 'I' }, + { "ignore-case", no_argument, 0, 'i' }, +#if !defined(WIN32) + { "paginate", no_argument, NULL, 'l' }, +#endif //WIN32 + { "label", required_argument, 0, 'L' }, + { "new-file", no_argument, 0, 'N' }, + { "rcs", no_argument, 0, 'n' }, + { "unidirectional-new-file", no_argument, 0, 'P' }, + { "show-c-function", no_argument, 0, 'p' }, + { "brief", no_argument, 0, 'q' }, + { "recursive", no_argument, 0, 'r' }, + { "report-identical-files", no_argument, 0, 's' }, + { "starting-file", required_argument, 0, 'S' }, + { "expand-tabs", no_argument, 0, 't' }, + { "initial-tab", no_argument, 0, 'T' }, + { "unified", optional_argument, 0, 'U' }, + { "ignore-all-space", no_argument, 0, 'w' }, + { "width", required_argument, 0, 'W' }, + { "exclude", required_argument, 0, 'x' }, + { "exclude-from", required_argument, 0, 'X' }, + { "side-by-side", no_argument, NULL, 'y' }, + { "ignore-file-name-case", no_argument, NULL, OPT_IGN_FN_CASE }, + { "help", no_argument, NULL, OPT_HELP}, + { "horizon-lines", required_argument, NULL, OPT_HORIZON_LINES }, + { "no-dereference", no_argument, NULL, OPT_NO_DEREFERENCE}, + { "no-ignore-file-name-case", no_argument, NULL, OPT_NO_IGN_FN_CASE }, + { "normal", no_argument, NULL, OPT_NORMAL }, + { "strip-trailing-cr", no_argument, NULL, OPT_STRIPCR }, + { "tabsize", required_argument, NULL, OPT_TSIZE }, + { "changed-group-format", required_argument, NULL, OPT_CHANGED_GROUP_FORMAT}, + { "suppress-common-lines", no_argument, NULL, OPT_SUPPRESS_COMMON }, + { "color", optional_argument, NULL, OPT_COLOR }, + { "version", no_argument, NULL, OPT_VERSION }, +#if defined(WIN32) + { "mc-format", no_argument, NULL, OPT_MC_FORMAT }, + { "license", no_argument, NULL, OPT_LICENSE }, + { "usage", no_argument, NULL, OPT_USAGE }, +#endif //WIN32 + { NULL } +}; + +static void checked_regcomp(char const *, regex_t *); +static void usage(void); +static void conflicting_format(void); +static void push_excludes(char *); +static void push_ignore_pats(char *); +static void read_excludes_file(char *file); +static void set_argstr(char **, char **); +static char *splice(char *, char *); +static bool do_color(void); + +int +main(int argc, char **argv) +{ + const char *errstr = NULL; + char *ep, **oargv; + long l; + int ch, dflags, lastch, gotstdin, prevoptind, newarg; + + oargv = argv; + gotstdin = 0; + dflags = 0; + lastch = '\0'; + prevoptind = 1; + newarg = 1; + diff_context = 3; + diff_format = D_UNSET; + +#define FORMAT_MISMATCHED(type) \ + (diff_format != D_UNSET && diff_format != (type)) + + while ((ch = getopt_long(argc, argv, OPTIONS, longopts, NULL)) != -1) { + switch (ch) { + case '0': case '1': case '2': case '3': case '4': + case '5': case '6': case '7': case '8': case '9': + if (newarg) + usage(); /* disallow -[0-9]+ */ + else if (lastch == 'c' || lastch == 'u') + diff_context = 0; + else if (!isdigit(lastch) || diff_context > INT_MAX / 10) + usage(); + diff_context = (diff_context * 10) + (ch - '0'); + break; + case 'a': + dflags |= D_FORCEASCII; + break; + case 'b': + dflags |= D_FOLDBLANKS; + break; + case 'C': + case 'c': + if (FORMAT_MISMATCHED(D_CONTEXT)) + conflicting_format(); + cflag = true; + diff_format = D_CONTEXT; + if (optarg != NULL) { + l = strtol(optarg, &ep, 10); + if (*ep != '\0' || l < 0 || l >= INT_MAX) + usage(); + diff_context = (int)l; + } + break; + case 'd': + dflags |= D_MINIMAL; + break; + case 'D': + if (FORMAT_MISMATCHED(D_IFDEF)) + conflicting_format(); + diff_format = D_IFDEF; + ifdefname = optarg; + break; + case 'e': + if (FORMAT_MISMATCHED(D_EDIT)) + conflicting_format(); + diff_format = D_EDIT; + break; + case 'f': + if (FORMAT_MISMATCHED(D_REVERSE)) + conflicting_format(); + diff_format = D_REVERSE; + break; + case 'H': + /* ignore but needed for compatibility with GNU diff */ + break; + case 'h': + /* silently ignore for backwards compatibility */ + break; + case 'B': + dflags |= D_SKIPBLANKLINES; + break; + case 'F': + if (dflags & D_PROTOTYPE) + conflicting_format(); + dflags |= D_MATCHLAST; + most_recent_pat = xstrdup(optarg); + break; + case 'I': + push_ignore_pats(optarg); + break; + case 'i': + dflags |= D_IGNORECASE; + break; + case 'L': + if (label[0] == NULL) + label[0] = optarg; + else if (label[1] == NULL) + label[1] = optarg; + else + usage(); + break; +#if !defined(WIN32) + case 'l': + lflag = true; + break; +#endif //WIN32 + case 'N': + Nflag = true; + break; + case 'n': + if (FORMAT_MISMATCHED(D_NREVERSE)) + conflicting_format(); + diff_format = D_NREVERSE; + break; + case 'p': + if (dflags & D_MATCHLAST) + conflicting_format(); + dflags |= D_PROTOTYPE; + break; + case 'P': + Pflag = true; + break; + case 'r': + rflag = true; + break; + case 'q': + if (FORMAT_MISMATCHED(D_BRIEF)) + conflicting_format(); + diff_format = D_BRIEF; + break; + case 'S': + start = optarg; + break; + case 's': + sflag = true; + break; + case 'T': + Tflag = true; + break; + case 't': + dflags |= D_EXPANDTABS; + break; + case 'U': + case 'u': + if (FORMAT_MISMATCHED(D_UNIFIED)) + conflicting_format(); + diff_format = D_UNIFIED; + if (optarg != NULL) { + l = strtol(optarg, &ep, 10); + if (*ep != '\0' || l < 0 || l >= INT_MAX) + usage(); + diff_context = (int)l; + } + break; + case 'w': + dflags |= D_IGNOREBLANKS; + break; + case 'W': + width = (int) strtonum(optarg, 1, INT_MAX, &errstr); + if (errstr) { + warnx("Invalid argument for width"); + usage(); + } + break; + case 'X': + read_excludes_file(optarg); + break; + case 'x': + push_excludes(optarg); + break; + case 'y': + if (FORMAT_MISMATCHED(D_SIDEBYSIDE)) + conflicting_format(); + diff_format = D_SIDEBYSIDE; + break; + case OPT_CHANGED_GROUP_FORMAT: + if (FORMAT_MISMATCHED(D_GFORMAT)) + conflicting_format(); + diff_format = D_GFORMAT; + group_format = optarg; + break; +#if defined(WIN32) + case OPT_MC_FORMAT: + if (FORMAT_MISMATCHED(D_MC_FORMAT)) + conflicting_format(); + diff_format = D_MC_FORMAT; + break; +#endif //WIN32 + case OPT_HELP: + help = true; + usage(); + break; + case OPT_HORIZON_LINES: + break; /* XXX TODO for compatibility with GNU diff3 */ + case OPT_IGN_FN_CASE: + ignore_file_case = true; + break; + case OPT_NO_IGN_FN_CASE: + ignore_file_case = false; + break; + case OPT_NORMAL: + if (FORMAT_MISMATCHED(D_NORMAL)) + conflicting_format(); + diff_format = D_NORMAL; + break; + case OPT_TSIZE: + tabsize = (int) strtonum(optarg, 1, INT_MAX, &errstr); + if (errstr) { + warnx("Invalid argument for tabsize"); + usage(); + } + break; + case OPT_STRIPCR: + dflags |= D_STRIPCR; + break; + case OPT_SUPPRESS_COMMON: + suppress_common = 1; + break; + case OPT_COLOR: + if (optarg == NULL || strncmp(optarg, "auto", 4) == 0) + colorflag = COLORFLAG_AUTO; + else if (strncmp(optarg, "always", 6) == 0) + colorflag = COLORFLAG_ALWAYS; + else if (strncmp(optarg, "never", 5) == 0) + colorflag = COLORFLAG_NEVER; + else + errx(2, "unsupported --color value '%s' (must be always, auto, or never)", + optarg); + break; + case OPT_NO_DEREFERENCE: + rflag = true; + noderef = true; + break; + case OPT_VERSION: + printf("%s\n", diff_version); + exit(0); +#if defined(WIN32) + case OPT_LICENSE: + for (unsigned i = 0; i < _countof(diff_license); ++i) { + printf("%s\n", diff_license[i]); + } + exit(0); + case OPT_USAGE: + for (unsigned i = 0; i < _countof(diff_usage); ++i) { + printf("%s\n", diff_usage[i]); + } + exit(0); +#endif //WIN32 + default: + usage(); + break; + } + lastch = ch; + newarg = optind != prevoptind; + prevoptind = optind; + } + if (diff_format == D_UNSET && (dflags & D_PROTOTYPE) != 0) + diff_format = D_CONTEXT; + if (diff_format == D_UNSET) + diff_format = D_NORMAL; + argc -= optind; + argv += optind; + + if (do_color()) { + char *p; + const char *env; + + color = true; + add_code = "32"; + del_code = "31"; + env = getenv("DIFFCOLORS"); + if (env != NULL && *env != '\0' && (p = strdup(env))) { + add_code = p; + strsep(&p, ":"); + if (p != NULL) + del_code = p; + } + } + +#ifdef __OpenBSD__ + if (pledge("stdio rpath tmppath", NULL) == -1) + err(2, "pledge"); +#endif + + /* + * Do sanity checks, fill in stb1 and stb2 and call the appropriate + * driver routine. Both drivers use the contents of stb1 and stb2. + */ + if (argc != 2) + usage(); + checked_regcomp(ignore_pats, &ignore_re); + checked_regcomp(most_recent_pat, &most_recent_re); + if (strcmp(argv[0], "-") == 0) { + fstat(STDIN_FILENO, &stb1); + gotstdin = 1; + } else if (stat(argv[0], &stb1) != 0) { + if (!Nflag || errno != ENOENT) + err(2, "%s", argv[0]); + dflags |= D_EMPTY1; + memset(&stb1, 0, sizeof(struct stat)); + } + + if (strcmp(argv[1], "-") == 0) { + fstat(STDIN_FILENO, &stb2); + gotstdin = 1; + } else if (stat(argv[1], &stb2) != 0) { + if (!Nflag || errno != ENOENT) + err(2, "%s", argv[1]); + dflags |= D_EMPTY2; + memset(&stb2, 0, sizeof(stb2)); + stb2.st_mode = stb1.st_mode; + } + + if (dflags & D_EMPTY1 && dflags & D_EMPTY2){ + warn("%s", argv[0]); + warn("%s", argv[1]); + exit(2); + } + + if (stb1.st_mode == 0) + stb1.st_mode = stb2.st_mode; + + if (gotstdin && (S_ISDIR(stb1.st_mode) || S_ISDIR(stb2.st_mode))) + errx(2, "can't compare - to a directory"); + set_argstr(oargv, argv); + if (S_ISDIR(stb1.st_mode) && S_ISDIR(stb2.st_mode)) { + if (diff_format == D_IFDEF) + errx(2, "-D option not supported with directories"); + diffdir(argv[0], argv[1], dflags); + } else { + if (S_ISDIR(stb1.st_mode)) { + argv[0] = splice(argv[0], argv[1]); + if (stat(argv[0], &stb1) == -1) + err(2, "%s", argv[0]); + } + if (S_ISDIR(stb2.st_mode)) { + argv[1] = splice(argv[1], argv[0]); + if (stat(argv[1], &stb2) == -1) + err(2, "%s", argv[1]); + } + print_status(diffreg(argv[0], argv[1], dflags, 1), argv[0], + argv[1], ""); + } + exit(status); +} + + +static void +checked_regcomp(char const *pattern, regex_t *comp) +{ + char buf[BUFSIZ]; + int error; + + if (pattern == NULL) + return; + + error = regcomp(comp, pattern, REG_NEWLINE | REG_EXTENDED); + if (error != 0) { + regerror(error, comp, buf, sizeof(buf)); + if (*pattern != '\0') + errx(2, "%s: %s", pattern, buf); + else + errx(2, "%s", buf); + } +} + + +static void +set_argstr(char **av, char **ave) +{ + size_t argsize; + char **ap; + + argsize = 4 + *ave - *av + 1; + diffargs = xmalloc(argsize); + strlcpy(diffargs, "diff", argsize); + for (ap = av + 1; ap < ave; ap++) { + if (strcmp(*ap, "--") != 0) { + strlcat(diffargs, " ", argsize); + strlcat(diffargs, *ap, argsize); + } + } +} + +/* + * Read in an excludes file and push each line. + */ +static void +read_excludes_file(char *file) +{ + FILE *fp; + char *buf, *pattern; + size_t len; + + if (strcmp(file, "-") == 0) + fp = stdin; + else if ((fp = fopen(file, "r")) == NULL) + err(2, "%s", file); + while ((buf = fgetln(fp, &len)) != NULL) { + if (buf[len - 1] == '\n') + len--; + if ((pattern = strndup(buf, len)) == NULL) + err(2, "xstrndup"); + push_excludes(pattern); + } + if (strcmp(file, "-") != 0) + fclose(fp); +} + +/* + * Push a pattern onto the excludes list. + */ +static void +push_excludes(char *pattern) +{ + struct excludes *entry; + + entry = xmalloc(sizeof(*entry)); + entry->pattern = pattern; + entry->next = excludes_list; + excludes_list = entry; +} + +static void +push_ignore_pats(char *pattern) +{ + size_t len; + + if (ignore_pats == NULL) + ignore_pats = xstrdup(pattern); + else { + /* old + "|" + new + NUL */ + len = strlen(ignore_pats) + strlen(pattern) + 2; + ignore_pats = xreallocarray(ignore_pats, 1, len); + strlcat(ignore_pats, "|", len); + strlcat(ignore_pats, pattern, len); + } +} + +void +print_status(int val, char *path1, char *path2, const char *entry) +{ + if (label[0] != NULL) + path1 = label[0]; + if (label[1] != NULL) + path2 = label[1]; + + switch (val) { + case D_BINARY: + printf("Binary files %s%s and %s%s differ\n", + path1, entry, path2, entry); + break; + case D_DIFFER: + if (diff_format == D_BRIEF) + printf("Files %s%s and %s%s differ\n", + path1, entry, path2, entry); + break; + case D_SAME: + if (sflag) + printf("Files %s%s and %s%s are identical\n", + path1, entry, path2, entry); + break; + case D_MISMATCH1: + printf("File %s%s is a directory while file %s%s is a regular file\n", + path1, entry, path2, entry); + break; + case D_MISMATCH2: + printf("File %s%s is a regular file while file %s%s is a directory\n", + path1, entry, path2, entry); + break; + case D_SKIPPED1: + printf("File %s%s is not a regular file or directory and was skipped\n", + path1, entry); + break; + case D_SKIPPED2: + printf("File %s%s is not a regular file or directory and was skipped\n", + path2, entry); + break; + case D_ERROR: + break; + } +} + +static void +usage(void) +{ + (void)fprintf(help ? stdout : stderr, + "usage: diff [-aBbdilpTtw] [-c | -e | -f | -n | -q | -u] [--ignore-case]\n" + " [--no-ignore-case] [--normal] [--strip-trailing-cr] [--tabsize]\n" + " [-I pattern] [-F pattern] [-L label] file1 file2\n" + " diff [-aBbdilpTtw] [-I pattern] [-L label] [--ignore-case]\n" + " [--no-ignore-case] [--normal] [--strip-trailing-cr] [--tabsize]\n" + " [-F pattern] -C number file1 file2\n" + " diff [-aBbdiltw] [-I pattern] [--ignore-case] [--no-ignore-case]\n" + " [--normal] [--strip-trailing-cr] [--tabsize] -D string file1 file2\n" + " diff [-aBbdilpTtw] [-I pattern] [-L label] [--ignore-case]\n" + " [--no-ignore-case] [--normal] [--tabsize] [--strip-trailing-cr]\n" + " [-F pattern] -U number file1 file2\n" + " diff [-aBbdilNPprsTtw] [-c | -e | -f | -n | -q | -u] [--ignore-case]\n" + " [--no-ignore-case] [--normal] [--tabsize] [-I pattern] [-L label]\n" + " [-F pattern] [-S name] [-X file] [-x pattern] dir1 dir2\n" + " diff [-aBbditwW] [--expand-tabs] [--ignore-all-blanks]\n" + " [--ignore-blank-lines] [--ignore-case] [--minimal]\n" + " [--no-ignore-file-name-case] [--strip-trailing-cr]\n" + " [--suppress-common-lines] [--tabsize] [--text] [--width]\n" + " -y | --side-by-side file1 file2\n" +#if defined(WIN32) + " diff [--help] [--version] [--license] [--usage]\n"); +#else + " diff [--help] [--version]\n"); +#endif + + if (help) + exit(0); + else + exit(2); +} + +static void +conflicting_format(void) +{ + + fprintf(stderr, "error: conflicting output format options.\n"); + usage(); +} + +static bool +do_color(void) +{ +#if !defined(WIN32) + const char *p, *p2; +#endif + + switch (colorflag) { + case COLORFLAG_AUTO: +#if defined(WIN32) + if (iscolorconsole()) + return true; +#else + p = getenv("CLICOLOR"); + p2 = getenv("COLORTERM"); + if ((p != NULL && *p != '\0') || (p2 != NULL && *p2 != '\0')) { + return (bool)isatty(STDOUT_FILENO); + } +#endif + break; + case COLORFLAG_ALWAYS: + return (true); + case COLORFLAG_NEVER: + return (false); + } + return (false); +} + +static char * +splice(char *dir, char *path) +{ + char *tail, *buf; + size_t dirlen; + + dirlen = strlen(dir); + while (dirlen != 0 && dir[dirlen - 1] == '/') + dirlen--; + if ((tail = strrchr(path, '/')) == NULL) + tail = path; + else + tail++; + xasprintf(&buf, "%.*s/%s", (int)dirlen, dir, tail); + return (buf); +} diff --git a/mcwin32/diff/diff.h b/mcwin32/diff/diff.h new file mode 100644 index 0000000..5cbef76 --- /dev/null +++ b/mcwin32/diff/diff.h @@ -0,0 +1,123 @@ +/* $OpenBSD: diff.h,v 1.34 2020/11/01 18:16:08 jcs Exp $ */ +#pragma once +/*- + * Copyright (c) 1991, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include + +#include "diffbool.h" +#include + +#if defined(WIN32) +#include "libcompat.h" +#endif + +/* + * Output format options + */ +#define D_NORMAL 0 /* Normal output */ +#define D_EDIT -1 /* Editor script out */ +#define D_REVERSE 1 /* Reverse editor script */ +#define D_CONTEXT 2 /* Diff with context */ +#define D_UNIFIED 3 /* Unified context diff */ +#define D_IFDEF 4 /* Diff with merged #ifdef's */ +#define D_NREVERSE 5 /* Reverse ed script with numbered + lines and no trailing . */ +#define D_BRIEF 6 /* Say if the files differ */ +#define D_GFORMAT 7 /* Diff with defined changed group format */ +#define D_SIDEBYSIDE 8 /* Side by side */ +#if defined(WIN32) +#define D_MC_FORMAT 9 /* mcdiff-format support */ +#endif + +#define D_UNSET -2 + + +/* + * Output flags + */ +#define D_HEADER 0x001 /* Print a header/footer between files */ +#define D_EMPTY1 0x002 /* Treat first file as empty (/dev/null) */ +#define D_EMPTY2 0x004 /* Treat second file as empty (/dev/null) */ + +/* + * Command line flags + */ +#define D_FORCEASCII 0x008 /* Treat file as ascii regardless of content */ +#define D_FOLDBLANKS 0x010 /* Treat all white space as equal */ +#define D_MINIMAL 0x020 /* Make diff as small as possible */ +#define D_IGNORECASE 0x040 /* Case-insensitive matching */ +#define D_PROTOTYPE 0x080 /* Display C function prototype */ +#define D_EXPANDTABS 0x100 /* Expand tabs to spaces */ +#define D_IGNOREBLANKS 0x200 /* Ignore white space changes */ +#define D_STRIPCR 0x400 /* Strip trailing cr */ +#define D_SKIPBLANKLINES 0x800 /* Skip blank lines */ +#define D_MATCHLAST 0x1000 /* Display last line matching provided regex */ + +/* + * Status values for print_status() and diffreg() return values + */ +#define D_SAME 0 /* Files are the same */ +#define D_DIFFER 1 /* Files are different */ +#define D_BINARY 2 /* Binary files are different */ +#define D_MISMATCH1 3 /* path1 was a dir, path2 a file */ +#define D_MISMATCH2 4 /* path1 was a file, path2 a dir */ +#define D_SKIPPED1 5 /* path1 was a special file */ +#define D_SKIPPED2 6 /* path2 was a special file */ +#define D_ERROR 7 /* A file access error occurred */ + +/* + * Color options + */ +#define COLORFLAG_NEVER 0 +#define COLORFLAG_AUTO 1 +#define COLORFLAG_ALWAYS 2 + +struct excludes { + char *pattern; + struct excludes *next; +}; + +extern bool lflag, Nflag, Pflag, rflag, sflag, Tflag, cflag; +extern bool ignore_file_case, suppress_common, color, noderef; +extern int diff_format, diff_context, status; +extern int tabsize, width; +extern char *start, *ifdefname, *diffargs, *label[2]; +extern char *ignore_pats, *most_recent_pat; +extern char *group_format; +extern const char *add_code, *del_code; +extern struct stat stb1, stb2; +extern struct excludes *excludes_list; +extern regex_t ignore_re, most_recent_re; + +int diffreg(char *, char *, int, int); +void diffdir(char *, char *, int); +void print_status(int, char *, char *, const char *); + +//end diff --git a/mcwin32/diff/diffbool.h b/mcwin32/diff/diffbool.h new file mode 100644 index 0000000..8724a31 --- /dev/null +++ b/mcwin32/diff/diffbool.h @@ -0,0 +1,15 @@ +#pragma once +/*- + * diff --- bool. + */ + +#if defined(WIN32) +typedef unsigned char bool; +#define true 1 +#define false 0 + +#else +#include +#endif + +//end diff --git a/mcwin32/diff/diffdir.c b/mcwin32/diff/diffdir.c new file mode 100644 index 0000000..af03622 --- /dev/null +++ b/mcwin32/diff/diffdir.c @@ -0,0 +1,320 @@ +/* $OpenBSD: diffdir.c,v 1.45 2015/10/05 20:15:00 millert Exp $ */ + +/* + * Copyright (c) 2003, 2010 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Sponsored in part by the Defense Advanced Research Projects + * Agency (DARPA) and Air Force Research Laboratory, Air Force + * Materiel Command, USAF, under agreement number F39502-99-1-0512. + */ + +#include +#include + +#if defined(WIN32) && !defined(WIN32_UNISTD_MAP) +#define WIN32_UNISTD_MAP 1 +#endif + +#include +#include +#include +#include +//#include +#include +#include +#include +#include +#include + +#include "diff.h" +#include "paths.h" + +static int selectfile(const struct dirent *); +static void diffit(struct dirent *, char *, size_t, struct dirent *, char *, size_t, int); +static void print_only(const char *, size_t, const char *); + +#define d_status d_type /* we need to store status for -l */ + +/* + * Diff directory traversal. Will be called recursively if -r was specified. + */ +void +diffdir(char *p1, char *p2, int flags) +{ + struct dirent *dent1, **dp1, **edp1, **dirp1 = NULL; + struct dirent *dent2, **dp2, **edp2, **dirp2 = NULL; + size_t dirlen1, dirlen2; + char path1[PATH_MAX], path2[PATH_MAX]; + int pos; + + edp1 = edp2 = NULL; + + dirlen1 = strlcpy(path1, *p1 ? p1 : ".", sizeof(path1)); + if (dirlen1 >= sizeof(path1) - 1) { + warnc(ENAMETOOLONG, "%s", p1); + status |= 2; + return; + } + if (path1[dirlen1 - 1] != '/') { + path1[dirlen1++] = '/'; + path1[dirlen1] = '\0'; + } + dirlen2 = strlcpy(path2, *p2 ? p2 : ".", sizeof(path2)); + if (dirlen2 >= sizeof(path2) - 1) { + warnc(ENAMETOOLONG, "%s", p2); + status |= 2; + return; + } + if (path2[dirlen2 - 1] != '/') { + path2[dirlen2++] = '/'; + path2[dirlen2] = '\0'; + } + + /* + * Get a list of entries in each directory, skipping "excluded" files + * and sorting alphabetically. + */ + pos = scandir(path1, &dirp1, selectfile, alphasort); + if (pos == -1) { + if (errno == ENOENT && (Nflag || Pflag)) { + pos = 0; + } else { + warn("%s", path1); + goto closem; + } + } + dp1 = dirp1; + edp1 = dirp1 + pos; + + pos = scandir(path2, &dirp2, selectfile, alphasort); + if (pos == -1) { + if (errno == ENOENT && Nflag) { + pos = 0; + } else { + warn("%s", path2); + goto closem; + } + } + dp2 = dirp2; + edp2 = dirp2 + pos; + + /* + * If we were given a starting point, find it. + */ + if (start != NULL) { + while (dp1 != edp1 && strcmp((*dp1)->d_name, start) < 0) + dp1++; + while (dp2 != edp2 && strcmp((*dp2)->d_name, start) < 0) + dp2++; + } + + /* + * Iterate through the two directory lists, diffing as we go. + */ + while (dp1 != edp1 || dp2 != edp2) { + dent1 = dp1 != edp1 ? *dp1 : NULL; + dent2 = dp2 != edp2 ? *dp2 : NULL; + + pos = dent1 == NULL ? 1 : dent2 == NULL ? -1 : + ignore_file_case ? strcasecmp(dent1->d_name, dent2->d_name) : + strcmp(dent1->d_name, dent2->d_name) ; + if (pos == 0) { + /* file exists in both dirs, diff it */ + diffit(dent1, path1, dirlen1, dent2, path2, dirlen2, flags); + dp1++; + dp2++; + } else if (pos < 0) { + /* file only in first dir, only diff if -N */ + if (Nflag) { + diffit(dent1, path1, dirlen1, dent2, path2, + dirlen2, flags); + } else { + print_only(path1, dirlen1, dent1->d_name); + status |= 1; + } + dp1++; + } else { + /* file only in second dir, only diff if -N or -P */ + if (Nflag || Pflag) + diffit(dent2, path1, dirlen1, dent1, path2, + dirlen2, flags); + else { + print_only(path2, dirlen2, dent2->d_name); + status |= 1; + } + dp2++; + } + } + +closem: + if (dirp1 != NULL) { + for (dp1 = dirp1; dp1 < edp1; dp1++) + free(*dp1); + free(dirp1); + } + if (dirp2 != NULL) { + for (dp2 = dirp2; dp2 < edp2; dp2++) + free(*dp2); + free(dirp2); + } +} + +/* + * Do the actual diff by calling either diffreg() or diffdir(). + */ +static void +diffit(struct dirent *dp, char *path1, size_t plen1, struct dirent *dp2, + char *path2, size_t plen2, int flags) +{ + flags |= D_HEADER; + strlcpy(path1 + plen1, dp->d_name, PATH_MAX - plen1); + + /* + * If we are ignoring file case, use dent2s name here if both names are + * the same apart from case. + */ + if (ignore_file_case && strcasecmp(dp2->d_name, dp2->d_name) == 0) + strlcpy(path2 + plen2, dp2->d_name, PATH_MAX - plen2); + else + strlcpy(path2 + plen2, dp->d_name, PATH_MAX - plen2); + + if (noderef) { + if (lstat(path1, &stb1) != 0) { + if (!(Nflag || Pflag) || errno != ENOENT) { + warn("%s", path1); + return; + } + flags |= D_EMPTY1; + memset(&stb1, 0, sizeof(stb1)); + } + + if (lstat(path2, &stb2) != 0) { + if (!Nflag || errno != ENOENT) { + warn("%s", path2); + return; + } + flags |= D_EMPTY2; + memset(&stb2, 0, sizeof(stb2)); + stb2.st_mode = stb1.st_mode; + } + if (stb1.st_mode == 0) + stb1.st_mode = stb2.st_mode; + if (S_ISLNK(stb1.st_mode) || S_ISLNK(stb2.st_mode)) { + if (S_ISLNK(stb1.st_mode) && S_ISLNK(stb2.st_mode)) { + char buf1[PATH_MAX]; + char buf2[PATH_MAX]; + ssize_t len1 = 0; + ssize_t len2 = 0; + + len1 = readlink(path1, buf1, sizeof(buf1)); + len2 = readlink(path2, buf2, sizeof(buf2)); + + if (len1 < 0 || len2 < 0) { + perror("reading links"); + return; + } + buf1[len1] = '\0'; + buf2[len2] = '\0'; + + if (len1 != len2 || strncmp(buf1, buf2, len1) != 0) { + printf("Symbolic links %s and %s differ\n", + path1, path2); + status |= 1; + } + + return; + } + + printf("File %s is a %s while file %s is a %s\n", + path1, S_ISLNK(stb1.st_mode) ? "symbolic link" : + (S_ISDIR(stb1.st_mode) ? "directory" : + (S_ISREG(stb1.st_mode) ? "file" : "error")), + path2, S_ISLNK(stb2.st_mode) ? "symbolic link" : + (S_ISDIR(stb2.st_mode) ? "directory" : + (S_ISREG(stb2.st_mode) ? "file" : "error"))); + status |= 1; + return; + } + } else { + if (stat(path1, &stb1) != 0) { + if (!(Nflag || Pflag) || errno != ENOENT) { + warn("%s", path1); + return; + } + flags |= D_EMPTY1; + memset(&stb1, 0, sizeof(stb1)); + } + + if (stat(path2, &stb2) != 0) { + if (!Nflag || errno != ENOENT) { + warn("%s", path2); + return; + } + flags |= D_EMPTY2; + memset(&stb2, 0, sizeof(stb2)); + stb2.st_mode = stb1.st_mode; + } + if (stb1.st_mode == 0) + stb1.st_mode = stb2.st_mode; + } + if (S_ISDIR(stb1.st_mode) && S_ISDIR(stb2.st_mode)) { + if (rflag) + diffdir(path1, path2, flags); + else + printf("Common subdirectories: %s and %s\n", + path1, path2); + return; + } + if (!S_ISREG(stb1.st_mode) && !S_ISDIR(stb1.st_mode)) + dp->d_status = D_SKIPPED1; + else if (!S_ISREG(stb2.st_mode) && !S_ISDIR(stb2.st_mode)) + dp->d_status = D_SKIPPED2; + else + dp->d_status = diffreg(path1, path2, flags, 0); + print_status(dp->d_status, path1, path2, ""); +} + +/* + * Returns 1 if the directory entry should be included in the + * diff, else 0. Checks the excludes list. + */ +static int +selectfile(const struct dirent *dp) +{ + struct excludes *excl; + + if (dp->d_fileno == 0) + return (0); + + /* always skip "." and ".." */ + if (dp->d_name[0] == '.' && (dp->d_name[1] == '\0' || + (dp->d_name[1] == '.' && dp->d_name[2] == '\0'))) + return (0); + + /* check excludes list */ + for (excl = excludes_list; excl != NULL; excl = excl->next) + if (fnmatch(excl->pattern, dp->d_name, FNM_PATHNAME) == 0) + return (0); + + return (1); +} + +void +print_only(const char *path, size_t dirlen, const char *entry) +{ + if (dirlen > 1) + dirlen--; + printf("Only in %.*s: %s\n", (int)dirlen, path, entry); +} diff --git a/mcwin32/diff/diffreg.c b/mcwin32/diff/diffreg.c new file mode 100644 index 0000000..85b9cdc --- /dev/null +++ b/mcwin32/diff/diffreg.c @@ -0,0 +1,1730 @@ +/* $OpenBSD: diffreg.c,v 1.93 2019/06/28 13:35:00 deraadt Exp $ */ + +/*- + * SPDX-License-Identifier: BSD-4-Clause + * + * Copyright (C) Caldera International Inc. 2001-2002. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code and documentation must retain the above + * copyright notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed or owned by Caldera + * International, Inc. + * 4. Neither the name of Caldera International, Inc. nor the names of other + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA + * INTERNATIONAL, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL CALDERA INTERNATIONAL, INC. BE LIABLE FOR ANY DIRECT, + * INDIRECT INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +/*- + * Copyright (c) 1991, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#if defined(WIN32) && !defined(WIN32_UNISTD_MAP) +#define WIN32_UNISTD_MAP 1 +#endif + +#if !defined(WIN32) +#include +#endif +#include + +#if !defined(WIN32) +#include +#endif +#include +#include +#include +#include +#include +//#include +#include +//#include +#include +#include +#include +#include +#include +#if defined(WIN32) +#include +#endif + +#if !defined(WIN32) +#include "pr.h" +#endif +#include "diff.h" +#include "xmalloc.h" +#include "paths.h" + + +/* + * diff - compare two files. + */ + +/* + * Uses an algorithm due to Harold Stone, which finds a pair of longest + * identical subsequences in the two files. + * + * The major goal is to generate the match vector J. J[i] is the index of + * the line in file1 corresponding to line i file0. J[i] = 0 if there is no + * such line in file1. + * + * Lines are hashed so as to work in core. All potential matches are + * located by sorting the lines of each file on the hash (called + * ``value''). In particular, this collects the equivalence classes in + * file1 together. Subroutine equiv replaces the value of each line in + * file0 by the index of the first element of its matching equivalence in + * (the reordered) file1. To save space equiv squeezes file1 into a single + * array member in which the equivalence classes are simply concatenated, + * except that their first members are flagged by changing sign. + * + * Next the indices that point into member are unsorted into array class + * according to the original order of file0. + * + * The cleverness lies in routine stone. This marches through the lines of + * file0, developing a vector klist of "k-candidates". At step i + * a k-candidate is a matched pair of lines x,y (x in file0 y in file1) + * such that there is a common subsequence of length k between the first + * i lines of file0 and the first y lines of file1, but there is no such + * subsequence for any smaller y. x is the earliest possible mate to y that + * occurs in such a subsequence. + * + * Whenever any of the members of the equivalence class of lines in file1 + * matable to a line in file0 has serial number less than the y of some + * k-candidate, that k-candidate with the smallest such y is replaced. The + * new k-candidate is chained (via pred) to the current k-1 candidate so + * that the actual subsequence can be recovered. When a member has serial + * number greater that the y of all k-candidates, the klist is extended. At + * the end, the longest subsequence is pulled out and placed in the array J + * by unravel. + * + * With J in hand, the matches there recorded are check'ed against reality + * to assure that no spurious matches have crept in due to hashing. If they + * have, they are broken, and "jackpot" is recorded -- a harmless matter + * except that a true match for a spuriously mated line may now be + * unnecessarily reported as a change. + * + * Much of the complexity of the program comes simply from trying to + * minimize core utilization and maximize the range of doable problems by + * dynamically allocating what is needed and reusing what is not. The core + * requirements for problems larger than somewhat are (in words) + * 2*length(file0) + length(file1) + 3*(number of k-candidates installed), + * typically about 6n words for files of length n. + */ + +struct cand { + int x; + int y; + int pred; +}; + +static struct line { + int serial; + int value; +} *file[2]; + +/* + * The following struct is used to record change information when + * doing a "context" or "unified" diff. (see routine "change" to + * understand the highly mnemonic field names) + */ +struct context_vec { + int a; /* start line in old file */ + int b; /* end line in old file */ + int c; /* start line in new file */ + int d; /* end line in new file */ +}; + +enum readhash { RH_BINARY, RH_OK, RH_EOF }; + +#define MIN_PAD 1 +static FILE *opentemp(const char *); +static void output(char *, FILE *, char *, FILE *, int); +static void check(FILE *, FILE *, int); +static void range(int, int, const char *); +static void uni_range(int, int); +static void dump_context_vec(FILE *, FILE *, int); +static void dump_unified_vec(FILE *, FILE *, int); +static bool prepare(int, FILE *, size_t, int); +static void prune(void); +static void equiv(struct line *, int, struct line *, int, int *); +static void unravel(int); +static void unsort(struct line *, int, int *); +static void change(char *, FILE *, char *, FILE *, int, int, int, int, int *); +static void sort(struct line *, int); +static void print_header(const char *, const char *); +static void print_space(int, int, int); +static bool ignoreline_pattern(char *); +static bool ignoreline(char *, bool); +static int asciifile(FILE *); +static int fetch(long *, int, int, FILE *, int, int, int); +static int newcand(int, int, int); +static int search(int *, int, int); +static int skipline(FILE *); +static int stone(int *, int, int *, int *, int); +static enum readhash readhash(FILE *, int, unsigned *); +static int files_differ(FILE *, FILE *, int); +static char *match_function(const long *, int, FILE *); +static char *preadline(int, size_t, off_t); + +static int *J; /* will be overlaid on class */ +static int *class; /* will be overlaid on file[0] */ +static int *klist; /* will be overlaid on file[0] after class */ +static int *member; /* will be overlaid on file[1] */ +static int clen; +static int inifdef; /* whether or not we are in a #ifdef block */ +static int len[2]; +static int pref, suff; /* length of prefix and suffix */ +static int slen[2]; +static int anychange; +static int hw, padding; /* half width and padding */ +static int edoffset; +static long *ixnew; /* will be overlaid on file[1] */ +static long *ixold; /* will be overlaid on klist */ +static struct cand *clist; /* merely a free storage pot for candidates */ +static int clistlen; /* the length of clist */ +static struct line *sfile[2]; /* shortened by pruning common prefix/suffix */ +static int (*chrtran)(int); /* translation table for case-folding */ +static struct context_vec *context_vec_start; +static struct context_vec *context_vec_end; +static struct context_vec *context_vec_ptr; + +#define FUNCTION_CONTEXT_SIZE 55 +static char lastbuf[FUNCTION_CONTEXT_SIZE]; +static int lastline; +static int lastmatchline; + +static int +clow2low(int c) +{ + + return (c); +} + +static int +cup2low(int c) +{ + + return (tolower(c)); +} + +int +diffreg(char *file1, char *file2, int flags, int capsicum) +{ + FILE *f1, *f2; + int i, rval; +#if !defined(WIN32) + struct pr *pr = NULL; + cap_rights_t rights_ro; +#endif + + f1 = f2 = NULL; + rval = D_SAME; + anychange = 0; + lastline = 0; + lastmatchline = 0; + +#if defined(WIN32) + (void) capsicum; +#endif + + /* + * hw excludes padding and make sure when -t is not used, + * the second column always starts from the closest tab stop + */ + if (diff_format == D_SIDEBYSIDE) { + hw = width >> 1; + padding = tabsize - (hw % tabsize); + if ((flags & D_EXPANDTABS) != 0 || (padding % tabsize == 0)) + padding = MIN_PAD; + + hw = (width >> 1) - + ((padding == MIN_PAD) ? (padding << 1) : padding) - 1; + } + + if (flags & D_IGNORECASE) + chrtran = cup2low; + else + chrtran = clow2low; + if (S_ISDIR(stb1.st_mode) != S_ISDIR(stb2.st_mode)) + return (S_ISDIR(stb1.st_mode) ? D_MISMATCH1 : D_MISMATCH2); + if (strcmp(file1, "-") == 0 && strcmp(file2, "-") == 0) + goto closem; + + if (flags & D_EMPTY1) + f1 = fopen(_PATH_DEVNULL, "r"); + else { + if (!S_ISREG(stb1.st_mode)) { + if ((f1 = opentemp(file1)) == NULL || + fstat(fileno(f1), &stb1) == -1) { + warn("%s", file1); + rval = D_ERROR; + status |= 2; + goto closem; + } + } else if (strcmp(file1, "-") == 0) { + f1 = stdin; + } else { +#if defined(WIN32) + f1 = fopen(file1, "rb"); +#else + f1 = fopen(file1, "r"); +#endif + } + } + if (f1 == NULL) { + warn("%s", file1); + rval = D_ERROR; + status |= 2; + goto closem; + } + + if (flags & D_EMPTY2) + f2 = fopen(_PATH_DEVNULL, "r"); + else { + if (!S_ISREG(stb2.st_mode)) { + if ((f2 = opentemp(file2)) == NULL || + fstat(fileno(f2), &stb2) == -1) { + warn("%s", file2); + rval = D_ERROR; + status |= 2; + goto closem; + } + } else if (strcmp(file2, "-") == 0) { + f2 = stdin; + } else { +#if defined(WIN32) + f2 = fopen(file2, "rb"); +#else + f2 = fopen(file2, "r"); +#endif + } + } + if (f2 == NULL) { + warn("%s", file2); + rval = D_ERROR; + status |= 2; + goto closem; + } + +#if !defined(WIN32) + if (lflag) + pr = start_pr(file1, file2); +#endif + +#if !defined(WIN32) + if (capsicum) { + cap_rights_init(&rights_ro, CAP_READ, CAP_FSTAT, CAP_SEEK); + if (caph_rights_limit(fileno(f1), &rights_ro) < 0) + err(2, "unable to limit rights on: %s", file1); + if (caph_rights_limit(fileno(f2), &rights_ro) < 0) + err(2, "unable to limit rights on: %s", file2); + if (fileno(f1) == STDIN_FILENO || fileno(f2) == STDIN_FILENO) { + /* stdin has already been limited */ + if (caph_limit_stderr() == -1) + err(2, "unable to limit stderr"); + if (caph_limit_stdout() == -1) + err(2, "unable to limit stdout"); + } else if (caph_limit_stdio() == -1) + err(2, "unable to limit stdio"); + + caph_cache_catpages(); + caph_cache_tzdata(); + if (caph_enter() < 0) + err(2, "unable to enter capability mode"); + } +#endif + + switch (files_differ(f1, f2, flags)) { + case 0: + goto closem; + case 1: + break; + default: + /* error */ + rval = D_ERROR; + status |= 2; + goto closem; + } + + if (diff_format == D_BRIEF && ignore_pats == NULL && + (flags & (D_FOLDBLANKS|D_IGNOREBLANKS|D_IGNORECASE|D_STRIPCR)) == 0) + { + rval = D_DIFFER; + status |= 1; + goto closem; + } + if ((flags & D_FORCEASCII) != 0) { + (void)prepare(0, f1, stb1.st_size, flags); + (void)prepare(1, f2, stb2.st_size, flags); + } else if (!asciifile(f1) || !asciifile(f2) || + !prepare(0, f1, stb1.st_size, flags) || + !prepare(1, f2, stb2.st_size, flags)) { + rval = D_BINARY; + status |= 1; + goto closem; + } + + prune(); + sort(sfile[0], slen[0]); + sort(sfile[1], slen[1]); + + member = (int *)file[1]; + equiv(sfile[0], slen[0], sfile[1], slen[1], member); + member = xreallocarray(member, slen[1] + 2, sizeof(*member)); + + class = (int *)file[0]; + unsort(sfile[0], slen[0], class); + class = xreallocarray(class, slen[0] + 2, sizeof(*class)); + + klist = xcalloc(slen[0] + 2, sizeof(*klist)); + clen = 0; + clistlen = 100; + clist = xcalloc(clistlen, sizeof(*clist)); + i = stone(class, slen[0], member, klist, flags); + free(member); + free(class); + + J = xreallocarray(J, len[0] + 2, sizeof(*J)); + unravel(klist[i]); + free(clist); + free(klist); + + ixold = xreallocarray(ixold, len[0] + 2, sizeof(*ixold)); + ixnew = xreallocarray(ixnew, len[1] + 2, sizeof(*ixnew)); + check(f1, f2, flags); + output(file1, f1, file2, f2, flags); + +closem: +#if !defined(WIN32) + if (pr != NULL) + stop_pr(pr); +#endif + if (anychange) { + status |= 1; + if (rval == D_SAME) + rval = D_DIFFER; + } + if (f1 != NULL) + fclose(f1); + if (f2 != NULL) + fclose(f2); + + return (rval); +} + +/* + * Check to see if the given files differ. + * Returns 0 if they are the same, 1 if different, and -1 on error. + * XXX - could use code from cmp(1) [faster] + */ +static int +files_differ(FILE *f1, FILE *f2, int flags) +{ + char buf1[BUFSIZ], buf2[BUFSIZ]; + size_t i, j; + + if ((flags & (D_EMPTY1|D_EMPTY2)) || stb1.st_size != stb2.st_size || + (stb1.st_mode & S_IFMT) != (stb2.st_mode & S_IFMT)) + return (1); + + if (stb1.st_dev == stb2.st_dev && stb1.st_ino == stb2.st_ino) + return (0); + + for (;;) { + i = fread(buf1, 1, sizeof(buf1), f1); + j = fread(buf2, 1, sizeof(buf2), f2); + if ((!i && ferror(f1)) || (!j && ferror(f2))) + return (-1); + if (i != j) + return (1); + if (i == 0) + return (0); + if (memcmp(buf1, buf2, i) != 0) + return (1); + } +} + +static FILE * +opentemp(const char *f) +{ + char buf[BUFSIZ], tempfile[PATH_MAX]; + ssize_t nread; + int ifd, ofd; + + if (strcmp(f, "-") == 0) + ifd = STDIN_FILENO; + else if ((ifd = open(f, O_RDONLY, 0644)) == -1) + return (NULL); + + (void)strlcpy(tempfile, _PATH_TMP "/diff.XXXXXXXX", sizeof(tempfile)); + + if ((ofd = mkstemp(tempfile)) == -1) { + close(ifd); + return (NULL); + } + unlink(tempfile); + while ((nread = read(ifd, buf, BUFSIZ)) > 0) { + if (write(ofd, buf, nread) != nread) { + close(ifd); + close(ofd); + return (NULL); + } + } + close(ifd); + lseek(ofd, (off_t)0, SEEK_SET); + return (fdopen(ofd, "r")); +} + +static bool +prepare(int i, FILE *fd, size_t filesize, int flags) +{ + struct line *p; + unsigned h; + size_t sz, j = 0; + enum readhash r; + + rewind(fd); + + sz = MIN(filesize, SIZE_MAX) / 25; + if (sz < 100) + sz = 100; + + p = xcalloc(sz + 3, sizeof(*p)); + while ((r = readhash(fd, flags, &h)) != RH_EOF) + switch (r) { + case RH_EOF: /* otherwise clang complains */ + case RH_BINARY: + return (false); + case RH_OK: + if (j == sz) { + sz = sz * 3 / 2; + p = xreallocarray(p, sz + 3, sizeof(*p)); + } + p[++j].value = h; + } + + len[i] = j; + file[i] = p; + + return (true); +} + +static void +prune(void) +{ + int i, j; + + for (pref = 0; pref < len[0] && pref < len[1] && + file[0][pref + 1].value == file[1][pref + 1].value; + pref++) + ; + for (suff = 0; suff < len[0] - pref && suff < len[1] - pref && + file[0][len[0] - suff].value == file[1][len[1] - suff].value; + suff++) + ; + for (j = 0; j < 2; j++) { + sfile[j] = file[j] + pref; + slen[j] = len[j] - pref - suff; + for (i = 0; i <= slen[j]; i++) + sfile[j][i].serial = i; + } +} + +static void +equiv(struct line *a, int n, struct line *b, int m, int *c) +{ + int i, j; + + i = j = 1; + while (i <= n && j <= m) { + if (a[i].value < b[j].value) + a[i++].value = 0; + else if (a[i].value == b[j].value) + a[i++].value = j; + else + j++; + } + while (i <= n) + a[i++].value = 0; + b[m + 1].value = 0; + j = 0; + while (++j <= m) { + c[j] = -b[j].serial; + while (b[j + 1].value == b[j].value) { + j++; + c[j] = b[j].serial; + } + } + c[j] = -1; +} + +static int +stone(int *a, int n, int *b, int *c, int flags) +{ + int i, k, y, j, l; + int oldc, tc, oldl, sq; + unsigned numtries, bound; + + if (flags & D_MINIMAL) + bound = UINT_MAX; + else { + sq = (int)sqrt(n); + bound = MAX(256, sq); + } + + k = 0; + c[0] = newcand(0, 0, 0); + for (i = 1; i <= n; i++) { + j = a[i]; + if (j == 0) + continue; + y = -b[j]; + oldl = 0; + oldc = c[0]; + numtries = 0; + do { + if (y <= clist[oldc].y) + continue; + l = search(c, k, y); + if (l != oldl + 1) + oldc = c[l - 1]; + if (l <= k) { + if (clist[c[l]].y <= y) + continue; + tc = c[l]; + c[l] = newcand(i, y, oldc); + oldc = tc; + oldl = l; + numtries++; + } else { + c[l] = newcand(i, y, oldc); + k++; + break; + } + } while ((y = b[++j]) > 0 && numtries < bound); + } + return (k); +} + +static int +newcand(int x, int y, int pred) +{ + struct cand *q; + + if (clen == clistlen) { + clistlen = clistlen * 11 / 10; + clist = xreallocarray(clist, clistlen, sizeof(*clist)); + } + q = clist + clen; + q->x = x; + q->y = y; + q->pred = pred; + return (clen++); +} + +static int +search(int *c, int k, int y) +{ + int i, j, l, t; + + if (clist[c[k]].y < y) /* quick look for typical case */ + return (k + 1); + i = 0; + j = k + 1; + for (;;) { + l = (i + j) / 2; + if (l <= i) + break; + t = clist[c[l]].y; + if (t > y) + j = l; + else if (t < y) + i = l; + else + return (l); + } + return (l + 1); +} + +static void +unravel(int p) +{ + struct cand *q; + int i; + + for (i = 0; i <= len[0]; i++) + J[i] = i <= pref ? i : + i > len[0] - suff ? i + len[1] - len[0] : 0; + for (q = clist + p; q->y != 0; q = clist + q->pred) + J[q->x + pref] = q->y + pref; +} + +/* + * Check does double duty: + * 1. ferret out any fortuitous correspondences due to confounding by + * hashing (which result in "jackpot") + * 2. collect random access indexes to the two files + */ +static void +check(FILE *f1, FILE *f2, int flags) +{ + int i, j, /* jackpot, */ c, d; + long ctold, ctnew; + + rewind(f1); + rewind(f2); + j = 1; + ixold[0] = ixnew[0] = 0; + /* jackpot = 0; */ + ctold = ctnew = 0; + for (i = 1; i <= len[0]; i++) { + if (J[i] == 0) { + ixold[i] = ctold += skipline(f1); + continue; + } + while (j < J[i]) { + ixnew[j] = ctnew += skipline(f2); + j++; + } + if (flags & (D_FOLDBLANKS | D_IGNOREBLANKS | D_IGNORECASE | D_STRIPCR)) { + for (;;) { + c = getc(f1); + d = getc(f2); + /* + * GNU diff ignores a missing newline + * in one file for -b or -w. + */ + if (flags & (D_FOLDBLANKS | D_IGNOREBLANKS)) { + if (c == EOF && d == '\n') { + ctnew++; + break; + } else if (c == '\n' && d == EOF) { + ctold++; + break; + } + } + ctold++; + ctnew++; + if (flags & D_STRIPCR && (c == '\r' || d == '\r')) { + if (c == '\r') { + if ((c = getc(f1)) == '\n') { + ctold++; + } else { + ungetc(c, f1); + } + } + if (d == '\r') { + if ((d = getc(f2)) == '\n') { + ctnew++; + } else { + ungetc(d, f2); + } + } + break; + } + if ((flags & D_FOLDBLANKS) && isspace(c) && + isspace(d)) { + do { + if (c == '\n') + break; + ctold++; + } while (isspace(c = getc(f1))); + do { + if (d == '\n') + break; + ctnew++; + } while (isspace(d = getc(f2))); + } else if (flags & D_IGNOREBLANKS) { + while (isspace(c) && c != '\n') { + c = getc(f1); + ctold++; + } + while (isspace(d) && d != '\n') { + d = getc(f2); + ctnew++; + } + } + if (chrtran(c) != chrtran(d)) { + /* jackpot++; */ + J[i] = 0; + if (c != '\n' && c != EOF) + ctold += skipline(f1); + if (d != '\n' && c != EOF) + ctnew += skipline(f2); + break; + } + if (c == '\n' || c == EOF) + break; + } + } else { + for (;;) { + ctold++; + ctnew++; + if ((c = getc(f1)) != (d = getc(f2))) { + /* jackpot++; */ + J[i] = 0; + if (c != '\n' && c != EOF) + ctold += skipline(f1); + if (d != '\n' && c != EOF) + ctnew += skipline(f2); + break; + } + if (c == '\n' || c == EOF) + break; + } + } + ixold[i] = ctold; + ixnew[j] = ctnew; + j++; + } + for (; j <= len[1]; j++) { + ixnew[j] = ctnew += skipline(f2); + } + /* + * if (jackpot) + * fprintf(stderr, "jackpot\n"); + */ +} + +/* shellsort CACM #201 */ +static void +sort(struct line *a, int n) +{ + struct line *ai, *aim, w; + int j, m = 0, k; + + if (n == 0) + return; + for (j = 1; j <= n; j *= 2) + m = 2 * j - 1; + for (m /= 2; m != 0; m /= 2) { + k = n - m; + for (j = 1; j <= k; j++) { + for (ai = &a[j]; ai > a; ai -= m) { + aim = &ai[m]; + if (aim < ai) + break; /* wraparound */ + if (aim->value > ai[0].value || + (aim->value == ai[0].value && + aim->serial > ai[0].serial)) + break; + w.value = ai[0].value; + ai[0].value = aim->value; + aim->value = w.value; + w.serial = ai[0].serial; + ai[0].serial = aim->serial; + aim->serial = w.serial; + } + } + } +} + +static void +unsort(struct line *f, int l, int *b) +{ + int *a, i; + + a = xcalloc(l + 1, sizeof(*a)); + for (i = 1; i <= l; i++) + a[f[i].serial] = f[i].value; + for (i = 1; i <= l; i++) + b[i] = a[i]; + free(a); +} + +static int +skipline(FILE *f) +{ + int i, c; + + for (i = 1; (c = getc(f)) != '\n' && c != EOF; i++) + continue; + return (i); +} + +static void +output(char *file1, FILE *f1, char *file2, FILE *f2, int flags) +{ + int i, j, m, i0, i1, j0, j1, nc; + + rewind(f1); + rewind(f2); + m = len[0]; + J[0] = 0; + J[m + 1] = len[1] + 1; + if (diff_format != D_EDIT) { + for (i0 = 1; i0 <= m; i0 = i1 + 1) { + while (i0 <= m && J[i0] == J[i0 - 1] + 1) { + if (diff_format == D_SIDEBYSIDE && suppress_common != 1) { + nc = fetch(ixold, i0, i0, f1, '\0', 1, flags); + print_space(nc, (hw - nc) + (padding << 1) + 1, flags); + fetch(ixnew, J[i0], J[i0], f2, '\0', 0, flags); + printf("\n"); + } + i0++; + } + j0 = J[i0 - 1] + 1; + i1 = i0 - 1; + while (i1 < m && J[i1 + 1] == 0) + i1++; + j1 = J[i1 + 1] - 1; + J[i1] = j1; + + /* + * When using side-by-side, lines from both of the files are + * printed. The algorithm used by diff(1) identifies the ranges + * in which two files differ. + * See the change() function below. + * The for loop below consumes the shorter range, whereas one of + * the while loops deals with the longer one. + */ + if (diff_format == D_SIDEBYSIDE) { + for (i = i0, j = j0; i <= i1 && j <= j1; i++, j++) + change(file1, f1, file2, f2, i, i, j, j, &flags); + + while (i <= i1) { + change(file1, f1, file2, f2, i, i, j + 1, j, &flags); + i++; + } + + while (j <= j1) { + change(file1, f1, file2, f2, i + 1, i, j, j, &flags); + j++; + } + } else + change(file1, f1, file2, f2, i0, i1, j0, j1, &flags); + } + } else { + for (i0 = m; i0 >= 1; i0 = i1 - 1) { + while (i0 >= 1 && J[i0] == J[i0 + 1] - 1 && J[i0] != 0) + i0--; + j0 = J[i0 + 1] - 1; + i1 = i0 + 1; + while (i1 > 1 && J[i1 - 1] == 0) + i1--; + j1 = J[i1 - 1] + 1; + J[i1] = j1; + change(file1, f1, file2, f2, i1, i0, j1, j0, &flags); + } + } + if (m == 0) + change(file1, f1, file2, f2, 1, 0, 1, len[1], &flags); + if (diff_format == D_IFDEF || diff_format == D_GFORMAT) { + for (;;) { +#define c i0 + if ((c = getc(f1)) == EOF) + return; + printf("%c", c); + } +#undef c + } + if (anychange != 0) { + if (diff_format == D_CONTEXT) + dump_context_vec(f1, f2, flags); + else if (diff_format == D_UNIFIED) + dump_unified_vec(f1, f2, flags); + } +} + +static void +range(int a, int b, const char *separator) +{ + printf("%d", a > b ? b : a); + if (a < b) + printf("%s%d", separator, b); +} + +static void +uni_range(int a, int b) +{ + if (a < b) + printf("%d,%d", a, b - a + 1); + else if (a == b) + printf("%d", b); + else + printf("%d,0", b); +} + +static char * +preadline(int fd, size_t rlen, off_t off) +{ + char *line; + ssize_t nr; + + line = xmalloc(rlen + 1); + if ((nr = pread(fd, line, rlen, off)) == -1) + err(2, "preadline"); + if (nr > 0 && line[nr-1] == '\n') + nr--; + line[nr] = '\0'; + return (line); +} + +static bool +ignoreline_pattern(char *line) +{ + int ret; + + ret = regexec(&ignore_re, line, 0, NULL, 0); + return (ret == 0); /* if it matched, it should be ignored. */ +} + +static bool +ignoreline(char *line, bool skip_blanks) +{ + + if (skip_blanks && *line == '\0') + return (true); + if (ignore_pats != NULL && ignoreline_pattern(line)) + return (true); + return (false); +} + +/* + * Indicate that there is a difference between lines a and b of the from file + * to get to lines c to d of the to file. If a is greater then b then there + * are no lines in the from file involved and this means that there were + * lines appended (beginning at b). If c is greater than d then there are + * lines missing from the to file. + */ +static void +change(char *file1, FILE *f1, char *file2, FILE *f2, int a, int b, int c, int d, int *pflags) +{ + static size_t max_context = 64; + long curpos; + int i, nc; + const char *walk; + bool skip_blanks, ignore; + + skip_blanks = (bool)(*pflags & D_SKIPBLANKLINES); +restart: + if ((diff_format != D_IFDEF || diff_format == D_GFORMAT) && + a > b && c > d) + return; + if (ignore_pats != NULL || skip_blanks) { + char *line; + /* + * All lines in the change, insert, or delete must match an ignore + * pattern for the change to be ignored. + */ + if (a <= b) { /* Changes and deletes. */ + for (i = a; i <= b; i++) { + line = preadline(fileno(f1), + ixold[i] - ixold[i - 1], ixold[i - 1]); + ignore = ignoreline(line, skip_blanks); + free(line); + if (!ignore) + goto proceed; + } + } + if (a > b || c <= d) { /* Changes and inserts. */ + for (i = c; i <= d; i++) { + line = preadline(fileno(f2), + ixnew[i] - ixnew[i - 1], ixnew[i - 1]); + ignore = ignoreline(line, skip_blanks); + free(line); + if (!ignore) + goto proceed; + } + } + return; + } +proceed: + if (*pflags & D_HEADER && diff_format != D_BRIEF) { + printf("%s %s %s\n", diffargs, file1, file2); + *pflags &= ~D_HEADER; + } + if (diff_format == D_CONTEXT || diff_format == D_UNIFIED) { + /* + * Allocate change records as needed. + */ + if (context_vec_start == NULL || + context_vec_ptr == context_vec_end - 1) { + ptrdiff_t offset = -1; + + if (context_vec_start != NULL) + offset = context_vec_ptr - context_vec_start; + max_context <<= 1; + context_vec_start = xreallocarray(context_vec_start, + max_context, sizeof(*context_vec_start)); + context_vec_end = context_vec_start + max_context; + context_vec_ptr = context_vec_start + offset; + } + if (anychange == 0) { + /* + * Print the context/unidiff header first time through. + */ + print_header(file1, file2); + anychange = 1; + } else if (a > context_vec_ptr->b + (2 * diff_context) + 1 && + c > context_vec_ptr->d + (2 * diff_context) + 1) { + /* + * If this change is more than 'diff_context' lines from the + * previous change, dump the record and reset it. + */ + if (diff_format == D_CONTEXT) + dump_context_vec(f1, f2, *pflags); + else + dump_unified_vec(f1, f2, *pflags); + } + context_vec_ptr++; + context_vec_ptr->a = a; + context_vec_ptr->b = b; + context_vec_ptr->c = c; + context_vec_ptr->d = d; + return; + } + if (anychange == 0) + anychange = 1; + switch (diff_format) { + case D_BRIEF: + return; + case D_NORMAL: + case D_EDIT: + range(a, b, ","); + printf("%c", a > b ? 'a' : c > d ? 'd' : 'c'); + if (diff_format == D_NORMAL) + range(c, d, ","); + printf("\n"); + break; + case D_REVERSE: + printf("%c", a > b ? 'a' : c > d ? 'd' : 'c'); + range(a, b, " "); + printf("\n"); + break; + case D_NREVERSE: + if (a > b) + printf("a%d %d\n", b, d - c + 1); + else { + printf("d%d %d\n", a, b - a + 1); + if (!(c > d)) + /* add changed lines */ + printf("a%d %d\n", b, d - c + 1); + } + break; + } + if (diff_format == D_GFORMAT) { + curpos = ftell(f1); + /* print through if append (a>b), else to (nb: 0 vs 1 orig) */ + nc = ixold[a > b ? b : a - 1] - curpos; + for (i = 0; i < nc; i++) + printf("%c", getc(f1)); + for (walk = group_format; *walk != '\0'; walk++) { + if (*walk == '%') { + walk++; + switch (*walk) { + case '<': + fetch(ixold, a, b, f1, '<', 1, *pflags); + break; + case '>': + fetch(ixnew, c, d, f2, '>', 0, *pflags); + break; + default: + printf("%%%c", *walk); + break; + } + continue; + } + printf("%c", *walk); + } + } + if (diff_format == D_MC_FORMAT) { + /* standard format, without content */ + range(a, b, ","); + printf("%c", a > b ? 'a' : c > d ? 'd' : 'c'); + range(c, d, ","); + printf("\n"); + } + if (diff_format == D_SIDEBYSIDE) { + if (color && a > b) + printf("\033[%sm", add_code); + else if (color && c > d) + printf("\033[%sm", del_code); + if (a > b) { + print_space(0, hw + padding , *pflags); + } else { + nc = fetch(ixold, a, b, f1, '\0', 1, *pflags); + print_space(nc, hw - nc + padding, *pflags); + } + if (color && a > b) + printf("\033[%sm", add_code); + else if (color && c > d) + printf("\033[%sm", del_code); + printf("%c", (a > b) ? '>' : ((c > d) ? '<' : '|')); + if (color && c > d) + printf("\033[m"); + print_space(hw + padding + 1 , padding, *pflags); + fetch(ixnew, c, d, f2, '\0', 0, *pflags); + printf("\n"); + } + if (diff_format == D_NORMAL || diff_format == D_IFDEF) { + fetch(ixold, a, b, f1, '<', 1, *pflags); + if (a <= b && c <= d && diff_format == D_NORMAL) + printf("---\n"); + } + if (diff_format != D_GFORMAT && diff_format != D_SIDEBYSIDE && diff_format != D_MC_FORMAT) + fetch(ixnew, c, d, f2, diff_format == D_NORMAL ? '>' : '\0', 0, *pflags); + if (edoffset != 0 && diff_format == D_EDIT) { + /* + * A non-zero edoffset value for D_EDIT indicates that the last line + * printed was a bare dot (".") that has been escaped as ".." to + * prevent ed(1) from misinterpreting it. We have to add a + * substitute command to change this back and restart where we left + * off. + */ + printf(".\n"); + printf("%ds/.//\n", a + edoffset - 1); + b = a + edoffset - 1; + a = b + 1; + c += edoffset; + goto restart; + } + if ((diff_format == D_EDIT || diff_format == D_REVERSE) && c <= d) + printf(".\n"); + if (inifdef) { + printf("#endif /* %s */\n", ifdefname); + inifdef = 0; + } +} + +static int +fetch(long *f, int a, int b, FILE *lb, int ch, int oldfile, int flags) +{ + int i, j, c, lastc, col = 0, nc, newcol; + + edoffset = 0; + nc = 0; + /* + * When doing #ifdef's, copy down to current line + * if this is the first file, so that stuff makes it to output. + */ + if ((diff_format == D_IFDEF) && oldfile) { + long curpos = ftell(lb); + /* print through if append (a>b), else to (nb: 0 vs 1 orig) */ + nc = f[a > b ? b : a - 1] - curpos; + for (i = 0; i < nc; i++) + printf("%c", getc(lb)); + } + if (a > b) + return (0); + if (diff_format == D_IFDEF) { + if (inifdef) { + printf("#else /* %s%s */\n", + oldfile == 1 ? "!" : "", ifdefname); + } else { + if (oldfile) + printf("#ifndef %s\n", ifdefname); + else + printf("#ifdef %s\n", ifdefname); + } + inifdef = 1 + oldfile; + } + for (i = a; i <= b; i++) { + fseek(lb, f[i - 1], SEEK_SET); + nc = f[i] - f[i - 1]; + if (diff_format == D_SIDEBYSIDE && hw < nc) + nc = hw; + if (diff_format != D_IFDEF && diff_format != D_GFORMAT && + ch != '\0') { + if (color && (ch == '>' || ch == '+')) + printf("\033[%sm", add_code); + else if (color && (ch == '<' || ch == '-')) + printf("\033[%sm", del_code); + printf("%c", ch); + if (Tflag && (diff_format == D_NORMAL || + diff_format == D_CONTEXT || + diff_format == D_UNIFIED)) + printf("\t"); + else if (diff_format != D_UNIFIED) + printf(" "); + } + col = j = 0; + lastc = '\0'; + while (j < nc && (hw == 0 || col < hw)) { + c = getc(lb); + if (flags & D_STRIPCR && c == '\r') { + if ((c = getc(lb)) == '\n') + j++; + else { + ungetc(c, lb); + c = '\r'; + } + } + if (c == EOF) { + if (diff_format == D_EDIT || + diff_format == D_REVERSE || + diff_format == D_NREVERSE) + warnx("No newline at end of file"); + else + printf("\n\\ No newline at end of file\n"); + return (col); + } + /* + * when using --side-by-side, col needs to be increased + * in any case to keep the columns aligned + */ + if (c == '\t') { + if (flags & D_EXPANDTABS) { + newcol = ((col / tabsize) + 1) * tabsize; + do { + printf(" "); + } while (++col < newcol && col < hw); + } else { + if (diff_format == D_SIDEBYSIDE) { + if ((col + tabsize) > hw) { + printf("%*s", hw - col, ""); + col = hw; + } else { + printf("\t"); + col += tabsize - 1; + } + } else { + printf("\t"); + col++; + } + } + } else { + if (diff_format == D_EDIT && j == 1 && c == '\n' && + lastc == '.') { + /* + * Don't print a bare "." line since that will confuse + * ed(1). Print ".." instead and set the, global variable + * edoffset to an offset from which to restart. The + * caller must check the value of edoffset + */ + printf(".\n"); + edoffset = i - a + 1; + return (edoffset); + } + /* when side-by-side, do not print a newline */ + if (diff_format != D_SIDEBYSIDE || c != '\n') { + if (color && c == '\n') + printf("\033[m%c", c); + else + printf("%c", c); + col++; + } + } + + j++; + lastc = c; + } + } + if (color && diff_format == D_SIDEBYSIDE) + printf("\033[m"); + return (col); +} + +/* + * Hash function taken from Robert Sedgewick, Algorithms in C, 3d ed., p 578. + */ +static enum readhash +readhash(FILE *f, int flags, unsigned *hash) +{ + int i, t, space; + unsigned sum; + + sum = 1; + space = 0; + for (i = 0;;) { + switch (t = getc(f)) { + case '\0': + if ((flags & D_FORCEASCII) == 0) + return (RH_BINARY); + goto hashchar; + case '\r': + if (flags & D_STRIPCR) { + t = getc(f); + if (t == '\n') + break; + ungetc(t, f); + } + /* FALLTHROUGH */ + case '\t': + case '\v': + case '\f': + case ' ': + if ((flags & (D_FOLDBLANKS|D_IGNOREBLANKS)) != 0) { + space++; + continue; + } + /* FALLTHROUGH */ + default: + hashchar: + if (space && (flags & D_IGNOREBLANKS) == 0) { + i++; + space = 0; + } + sum = sum * 127 + chrtran(t); + i++; + continue; + case EOF: + if (i == 0) + return (RH_EOF); + /* FALLTHROUGH */ + case '\n': + break; + } + break; + } + *hash = sum; + return (RH_OK); +} + +static int +asciifile(FILE *f) +{ + unsigned char buf[BUFSIZ]; + size_t cnt; + + if (f == NULL) + return (1); + + rewind(f); + cnt = fread(buf, 1, sizeof(buf), f); + return (memchr(buf, '\0', cnt) == NULL); +} + +#define begins_with(s, pre) (strncmp((const char *)s, pre, sizeof(pre) - 1) == 0) + +static char * +match_function(const long *f, int pos, FILE *fp) +{ + unsigned char buf[FUNCTION_CONTEXT_SIZE]; + size_t nc; + int last = lastline; + const char *state = NULL; + + lastline = pos; + for (; pos > last; pos--) { + fseek(fp, f[pos - 1], SEEK_SET); + nc = f[pos] - f[pos - 1]; + if (nc >= sizeof(buf)) + nc = sizeof(buf) - 1; + nc = fread(buf, 1, nc, fp); + if (nc == 0) + continue; + buf[nc] = '\0'; + buf[strcspn((const char *)buf, "\n")] = '\0'; + if (most_recent_pat != NULL) { + int ret = regexec(&most_recent_re, (const char *)buf, 0, NULL, 0); + + if (ret != 0) + continue; + strlcpy(lastbuf, (const char *)buf, sizeof(lastbuf)); + lastmatchline = pos; + return (lastbuf); + } else if (isalpha(buf[0]) || buf[0] == '_' || buf[0] == '$' + || buf[0] == '-' || buf[0] == '+') { + if (begins_with(buf, "private:")) { + if (!state) + state = " (private)"; + } else if (begins_with(buf, "protected:")) { + if (!state) + state = " (protected)"; + } else if (begins_with(buf, "public:")) { + if (!state) + state = " (public)"; + } else { + strlcpy(lastbuf, (const char *)buf, sizeof(lastbuf)); + if (state) + strlcat(lastbuf, state, sizeof(lastbuf)); + lastmatchline = pos; + return (lastbuf); + } + } + } + return (lastmatchline > 0 ? lastbuf : NULL); +} + +/* dump accumulated "context" diff changes */ +static void +dump_context_vec(FILE *f1, FILE *f2, int flags) +{ + struct context_vec *cvp = context_vec_start; + int lowa, upb, lowc, upd, do_output; + int a, b, c, d; + char ch, *f; + + if (context_vec_start > context_vec_ptr) + return; + + b = d = 0; /* gcc */ + lowa = MAX(1, cvp->a - diff_context); + upb = MIN(len[0], context_vec_ptr->b + diff_context); + lowc = MAX(1, cvp->c - diff_context); + upd = MIN(len[1], context_vec_ptr->d + diff_context); + + printf("***************"); + if (flags & (D_PROTOTYPE | D_MATCHLAST)) { + f = match_function(ixold, cvp->a - 1, f1); + if (f != NULL) + printf(" %s", f); + } + printf("\n*** "); + range(lowa, upb, ","); + printf(" ****\n"); + + /* + * Output changes to the "old" file. The first loop suppresses + * output if there were no changes to the "old" file (we'll see + * the "old" lines as context in the "new" list). + */ + do_output = 0; + for (; cvp <= context_vec_ptr; cvp++) + if (cvp->a <= cvp->b) { + cvp = context_vec_start; + do_output++; + break; + } + if (do_output) { + while (cvp <= context_vec_ptr) { + a = cvp->a; + b = cvp->b; + c = cvp->c; + d = cvp->d; + + if (a <= b && c <= d) + ch = 'c'; + else + ch = (a <= b) ? 'd' : 'a'; + + if (ch == 'a') + fetch(ixold, lowa, b, f1, ' ', 0, flags); + else { + fetch(ixold, lowa, a - 1, f1, ' ', 0, flags); + fetch(ixold, a, b, f1, + ch == 'c' ? '!' : '-', 0, flags); + } + lowa = b + 1; + cvp++; + } + fetch(ixold, b + 1, upb, f1, ' ', 0, flags); + } + /* output changes to the "new" file */ + printf("--- "); + range(lowc, upd, ","); + printf(" ----\n"); + + do_output = 0; + for (cvp = context_vec_start; cvp <= context_vec_ptr; cvp++) + if (cvp->c <= cvp->d) { + cvp = context_vec_start; + do_output++; + break; + } + if (do_output) { + while (cvp <= context_vec_ptr) { + a = cvp->a; + b = cvp->b; + c = cvp->c; + d = cvp->d; + + if (a <= b && c <= d) + ch = 'c'; + else + ch = (a <= b) ? 'd' : 'a'; + + if (ch == 'd') + fetch(ixnew, lowc, d, f2, ' ', 0, flags); + else { + fetch(ixnew, lowc, c - 1, f2, ' ', 0, flags); + fetch(ixnew, c, d, f2, + ch == 'c' ? '!' : '+', 0, flags); + } + lowc = d + 1; + cvp++; + } + fetch(ixnew, d + 1, upd, f2, ' ', 0, flags); + } + context_vec_ptr = context_vec_start - 1; +} + +/* dump accumulated "unified" diff changes */ +static void +dump_unified_vec(FILE *f1, FILE *f2, int flags) +{ + struct context_vec *cvp = context_vec_start; + int lowa, upb, lowc, upd; + int a, b, c, d; + char ch, *f; + + if (context_vec_start > context_vec_ptr) + return; + + b = d = 0; /* gcc */ + lowa = MAX(1, cvp->a - diff_context); + upb = MIN(len[0], context_vec_ptr->b + diff_context); + lowc = MAX(1, cvp->c - diff_context); + upd = MIN(len[1], context_vec_ptr->d + diff_context); + + printf("@@ -"); + uni_range(lowa, upb); + printf(" +"); + uni_range(lowc, upd); + printf(" @@"); + if (flags & (D_PROTOTYPE | D_MATCHLAST)) { + f = match_function(ixold, cvp->a - 1, f1); + if (f != NULL) + printf(" %s", f); + } + printf("\n"); + + /* + * Output changes in "unified" diff format--the old and new lines + * are printed together. + */ + for (; cvp <= context_vec_ptr; cvp++) { + a = cvp->a; + b = cvp->b; + c = cvp->c; + d = cvp->d; + + /* + * c: both new and old changes + * d: only changes in the old file + * a: only changes in the new file + */ + if (a <= b && c <= d) + ch = 'c'; + else + ch = (a <= b) ? 'd' : 'a'; + + switch (ch) { + case 'c': + fetch(ixold, lowa, a - 1, f1, ' ', 0, flags); + fetch(ixold, a, b, f1, '-', 0, flags); + fetch(ixnew, c, d, f2, '+', 0, flags); + break; + case 'd': + fetch(ixold, lowa, a - 1, f1, ' ', 0, flags); + fetch(ixold, a, b, f1, '-', 0, flags); + break; + case 'a': + fetch(ixnew, lowc, c - 1, f2, ' ', 0, flags); + fetch(ixnew, c, d, f2, '+', 0, flags); + break; + } + lowa = b + 1; + lowc = d + 1; + } + fetch(ixnew, d + 1, upd, f2, ' ', 0, flags); + + context_vec_ptr = context_vec_start - 1; +} + +static void +print_header(const char *file1, const char *file2) +{ + const char *time_format; + char buf[256]; + struct tm tm1, tm2, *tm_ptr1, *tm_ptr2; +#if !defined(WIN32) + int nsec1 = stb1.st_mtim.tv_nsec; + int nsec2 = stb2.st_mtim.tv_nsec; +#endif + + time_format = "%Y-%m-%d %H:%M:%S"; + + if (cflag) + time_format = "%c"; + tm_ptr1 = localtime_r(&stb1.st_mtime, &tm1); + tm_ptr2 = localtime_r(&stb2.st_mtime, &tm2); + if (label[0] != NULL) + printf("%s %s\n", diff_format == D_CONTEXT ? "***" : "---", + label[0]); + else { + strftime(buf, sizeof(buf), time_format, tm_ptr1); + printf("%s %s\t%s", diff_format == D_CONTEXT ? "***" : "---", + file1, buf); + if (!cflag) { + strftime(buf, sizeof(buf), "%z", tm_ptr1); +#if !defined(WIN32) + printf(".%.9d %s", nsec1, buf); +#endif + } + printf("\n"); + } + if (label[1] != NULL) + printf("%s %s\n", diff_format == D_CONTEXT ? "---" : "+++", + label[1]); + else { + strftime(buf, sizeof(buf), time_format, tm_ptr2); + printf("%s %s\t%s", diff_format == D_CONTEXT ? "---" : "+++", + file2, buf); + if (!cflag) { + strftime(buf, sizeof(buf), "%z", tm_ptr2); +#if !defined(WIN32) + printf(".%.9d %s", nsec2, buf); +#endif + } + printf("\n"); + } +} + +/* + * Prints n number of space characters either by using tab + * or single space characters. + * nc is the preceding number of characters + */ +static void +print_space(int nc, int n, int flags) { + int i, col; + + col = n; + if ((flags & D_EXPANDTABS) == 0) { + /* first tabstop may be closer than tabsize */ + i = tabsize - (nc % tabsize); + while (col >= tabsize) { + printf("\t"); + col -= i; + i = tabsize; + } + } + printf("%*s", col, ""); +} diff --git a/mcwin32/diff/diffwin.c b/mcwin32/diff/diffwin.c new file mode 100644 index 0000000..07bef7f --- /dev/null +++ b/mcwin32/diff/diffwin.c @@ -0,0 +1,101 @@ +/*- + * diff --- Window support. + */ + +#if !defined(MEAN_AND_LEAN) +#define MEAN_AND_LEAN +#endif +#undef _WIN32_WINNT +#define _WIN32_WINNT 0x0600 +#include + +#include +#include + +#include "diffwin.h" + +#if !defined(ENABLE_VIRTUAL_TERMINAL_PROCESSING) +#define ENABLE_VIRTUAL_TERMINAL_PROCESSING 0x0004 + // When writing with WriteFile or WriteConsole, characters are parsed for VT100 and similar control + // character sequences that control cursor movement, color/font mode, and other operations that can + // also be performed via the existing Console APIs. +#endif + +#if defined(__MINGW32__) +typedef struct _OSVERSIONINFOW RTL_OSVERSIONINFOW, *PRTL_OSVERSIONINFOW; +typedef DWORD (WINAPI *fnRtlGetVersion_t)(PRTL_OSVERSIONINFOW); +#elif defined(__WATCOMC__) +typedef struct _OSVERSIONINFOW RTL_OSVERSIONINFOW, *PRTL_OSVERSIONINFOW; +#endif +typedef NTSTATUS (WINAPI *RtlGetVersionPtr)(PRTL_OSVERSIONINFOW); + +static bool +hascolorconsole(void) +{ + const DWORD MINV_MAJOR = 10, MINV_MINOR = 0, MINV_BUILD = 10586; + bool ret = false; + + HMODULE hMod = GetModuleHandle(TEXT("ntdll.dll")); + if (hMod) { + RtlGetVersionPtr fn = (RtlGetVersionPtr) GetProcAddress(hMod, "RtlGetVersion"); + if (fn != NULL) { + RTL_OSVERSIONINFOW rovi = { 0 }; + rovi.dwOSVersionInfoSize = sizeof(rovi); + if (fn(&rovi) == 0) { + if (rovi.dwMajorVersion > MINV_MAJOR || + (rovi.dwMajorVersion == MINV_MAJOR && + (rovi.dwMinorVersion > MINV_MINOR || (rovi.dwMinorVersion == MINV_MINOR && rovi.dwBuildNumber >= MINV_BUILD)))) { + ret = true; + } + } + } + } + return ret; +} + +#if defined(__WATCOMC__) +static void +#else +static void __cdecl +#endif +disable_atexit(void) +{ + const int fd = _fileno(stdout); + HANDLE h = (HANDLE) _get_osfhandle(fd); + DWORD mode; + + if (h == INVALID_HANDLE_VALUE || GetFileType(h) != FILE_TYPE_CHAR) + return; + if (GetConsoleMode(h, &mode) && (mode & ENABLE_VIRTUAL_TERMINAL_PROCESSING)) { + mode &= ~ENABLE_VIRTUAL_TERMINAL_PROCESSING; + (void) SetConsoleMode(h, mode); + } + return; +} + +bool +iscolorconsole(void) +{ + const int fd = _fileno(stdout); + HANDLE h = (HANDLE) _get_osfhandle(fd); + CONSOLE_SCREEN_BUFFER_INFO sbi = {0}; + DWORD mode; + + if (h == INVALID_HANDLE_VALUE || GetFileType(h) != FILE_TYPE_CHAR) // stdout tty + return false; + if (!hascolorconsole()) // build 10.10586 + return false; + if (!GetConsoleScreenBufferInfo(h, &sbi)) // output buffer + return false; + if (!GetConsoleMode(h, &mode)) // console + return false; + + if (ENABLE_VIRTUAL_TERMINAL_PROCESSING & mode) // TTY enabled + return true; + if (!SetConsoleMode(h, mode|ENABLE_VIRTUAL_TERMINAL_PROCESSING)) // enable + return false; + atexit(disable_atexit); // restore + return true; +} + +//end diff --git a/mcwin32/diff/diffwin.h b/mcwin32/diff/diffwin.h new file mode 100644 index 0000000..a6e3692 --- /dev/null +++ b/mcwin32/diff/diffwin.h @@ -0,0 +1,10 @@ +#pragma once +/*- + * diff --- Window support. + */ + +#include "diffbool.h" + +bool iscolorconsole(void); + +//end diff --git a/mcwin32/diff/man.txt b/mcwin32/diff/man.txt new file mode 100644 index 0000000..c1797f1 --- /dev/null +++ b/mcwin32/diff/man.txt @@ -0,0 +1,381 @@ +DIFF(1) General Commands Manual DIFF(1) + +NAME + diff -- differential file and directory comparator + +SYNOPSIS + diff [-aBbdipTtw] [-c | -e | -f | -n | -q | -u | -y] [--brief] + [--color=when] [--changed-group-format GFMT] [--ed] + [--expand-tabs] [--forward-ed] [--ignore-all-space] + [--ignore-case] [--ignore-space-change] [--initial-tab] + [--minimal] [--no-ignore-file-name-case] [--normal] [--rcs] + [--show-c-function] [--starting-file] [--speed-large-files] + [--strip-trailing-cr] [--tabsize number] [--text] [--unified] + [-I pattern | --ignore-matching-lines pattern] + [-F pattern | --show-function-line pattern] + [-L label | --label label] file1 file2 + diff [-aBbdilpTtw] [-I pattern | --ignore-matching-lines pattern] + [-F pattern | --show-function-line pattern] + [-L label | --label label] [--brief] [--color=when] + [--changed-group-format GFMT] [--ed] [--expand-tabs] + [--forward-ed] [--ignore-all-space] [--ignore-case] + [--ignore-space-change] [--initial-tab] [--minimal] + [--no-ignore-file-name-case] [--normal] [--paginate] [--rcs] + [--show-c-function] [--speed-large-files] [--starting-file] + [--strip-trailing-cr] [--tabsize number] [--text] -C number | + -context number file1 file2 + diff [-aBbdiltw] [-I pattern | --ignore-matching-lines pattern] + [--brief] [--color=when] [--changed-group-format GFMT] [--ed] + [--expand-tabs] [--forward-ed] [--ignore-all-space] + [--ignore-case] [--ignore-space-change] [--initial-tab] + [--minimal] [--no-ignore-file-name-case] [--normal] [--paginate] + [--rcs] [--show-c-function] [--speed-large-files] + [--starting-file] [--strip-trailing-cr] [--tabsize number] + [--text] -D string | --ifdef string file1 file2 + diff [-aBbdilpTtw] [-I pattern | --ignore-matching-lines pattern] + [-F pattern | --show-function-line pattern] + [-L label | --label label] [--brief] [--color=when] + [--changed-group-format GFMT] [--ed] [--expand-tabs] + [--forward-ed] [--ignore-all-space] [--ignore-case] + [--ignore-space-change] [--initial-tab] [--minimal] + [--no-ignore-file-name-case] [--normal] [--paginate] [--rcs] + [--show-c-function] [--speed-large-files] [--starting-file] + [--strip-trailing-cr] [--tabsize number] [--text] -U number | + --unified number file1 file2 + diff [-aBbdilNPprsTtw] [-c | -e | -f | -n | -q | -u] [--brief] + [--color=when] [--changed-group-format GFMT] [--context] [--ed] + [--expand-tabs] [--forward-ed] [--ignore-all-space] + [--ignore-case] [--ignore-space-change] [--initial-tab] + [--minimal] [--new-file] [--no-ignore-file-name-case] [--normal] + [--paginate] [--rcs] [--recursive] [--report-identical-files] + [--show-c-function] [--speed-large-files] [--strip-trailing-cr] + [--tabsize number] [--text] [--unidirectional-new-file] + [--unified] [-I pattern | --ignore-matching-lines pattern] + [-F pattern | --show-function-line pattern] + [-L label | --label label] [-S name | --starting-file name] + [-X file | --exclude-from file] [-x pattern | --exclude pattern] + dir1 dir2 + diff [-aBbditwW] [--color=when] [--expand-tabs] [--ignore-all-blanks] + [--ignore-blank-lines] [--ignore-case] [--minimal] + [--no-ignore-file-name-case] [--strip-trailing-cr] + [--suppress-common-lines] [--tabsize number] [--text] [--width] -y + | --side-by-side file1 file2 + diff [--help] [--version] + +DESCRIPTION + The diff utility compares the contents of file1 and file2 and writes to + the standard output the list of changes necessary to convert one file + into the other. No output is produced if the files are identical. + + Output options (mutually exclusive): + + -C number --context number + Like -c but produces a diff with number lines of context. + + -c Produces a diff with 3 lines of context. With -c the output + format is modified slightly: the output begins with identifica- + tion of the files involved and their creation dates and then + each change is separated by a line with fifteen *'s. The lines + removed from file1 are marked with `- '; those added to file2 + are marked `+ '. Lines which are changed from one file to the + other are marked in both files with `! '. Changes which lie + within 3 lines of each other are grouped together on output. + + -D string --ifdef string + Creates a merged version of file1 and file2 on the standard + output, with C preprocessor controls included so that a compi- + lation of the result without defining string is equivalent to + compiling file1, while defining string will yield file2. + + -e --ed + Produces output in a form suitable as input for the editor + utility, ed(1), which can then be used to convert file1 into + file2. + + Extra commands are added to the output when comparing directo- + ries with -e, so that the result is a sh(1) script for convert- + ing text files which are common to the two directories from + their state in dir1 to their state in dir2. + + -f --forward-ed + Identical output to that of the -e flag, but in reverse order. + It cannot be digested by ed(1). + + --help This option prints a summary to stdout and exits with status 0. + + -n Produces a script similar to that of -e, but in the opposite + order and with a count of changed lines on each insert or + delete command. This is the form used by rcsdiff. + + -q --brief + Just print a line when the files differ. Does not output a + list of changes. + + -U number --unified number + Like -u but produces a diff with number lines of context. + + -u Produces a unified diff with 3 lines of context. A unified + diff is similar to the context diff produced by the -c option. + However, unlike with -c, all lines to be changed (added and/or + removed) are present in a single section. + + --version + This option prints a version string to stdout and exits with + status 0. + + -y --side-by-side + Output in two columns with a marker between them. The marker + can be one of the following: + + space Corresponding lines are identical. + '|' Corresponding lines are different. + '<' Files differ and only the first file contains the + line. + '>' Files differ and only the second file contains + the line. + + Comparison options: + + -a --text + Treat all files as ASCII text. Normally diff will simply print + "Binary files ... differ" if files contain binary characters. + Use of this option forces diff to produce a diff. + + -B --ignore-blank-lines + Causes chunks that include only blank lines to be ignored. + + -b --ignore-space-change + Causes trailing blanks (spaces and tabs) to be ignored, and + other strings of blanks to compare equal. + + --color=[when] + Color the additions green, and removals red, or the value in + the DIFFCOLORS environment variable. The possible values of + when are "never", "always" and "auto". auto will use color if + the output is a tty and the COLORTERM environment variable is + set to a non-empty string. + + -d --minimal + Try very hard to produce a diff as small as possible. This may + consume a lot of processing power and memory when processing + large files with many changes. + + -F pattern, --show-function-line pattern + Like -p, but display the last line that matches provided pat- + tern. + + -I pattern --ignore-matching-lines pattern + Ignores changes, insertions, and deletions whose lines match + the extended regular expression pattern. Multiple -I patterns + may be specified. All lines in the change must match some pat- + tern for the change to be ignored. See re_format(7) for more + information on regular expression patterns. + + -i --ignore-case + Ignores the case of letters. E.g., "A" will compare equal to + "a". + + -l --paginate + Pass the output through pr(1) to paginate it. + + -L label --label label + Print label instead of the first (and second, if this option is + specified twice) file name and time in the context or unified + diff header. + + -p --show-c-function + With unified and context diffs, show with each change the first + 40 characters of the last line before the context beginning + with a letter, an underscore or a dollar sign. For C and Ob- + jective-C source code following standard layout conventions, + this will show the prototype of the function the change applies + to. + + -T --initial-tab + Print a tab rather than a space before the rest of the line for + the normal, context or unified output formats. This makes the + alignment of tabs in the line consistent. + + -t --expand-tabs + Will expand tabs in output lines. Normal or -c output adds + character(s) to the front of each line which may screw up the + indentation of the original source lines and make the output + listing difficult to interpret. This option will preserve the + original source's indentation. + + -w --ignore-all-blanks + Is similar to -b --ignore-space-change but causes whitespace + (blanks and tabs) to be totally ignored. E.g., "if ( a == b )" + will compare equal to "if(a==b)". + + -W number --width number + Output at most number columns when using side by side format. + The default value is 130. + + --changed-group-format GFMT + Format input groups in the provided + + the format is a string with special keywords: + + %< lines from FILE1 + + %< lines from FILE2 + + --ignore-file-name-case + ignore case when comparing file names + + --no-ignore-file-name-case + do not ignore case wen comparing file names (default) + + --normal + default diff output + + --speed-large-files + stub option for compatibility with GNU diff + + --strip-trailing-cr + strip carriage return on input files + + --suppress-common-lines + Do not output common lines when using the side by side format + + --tabsize number + Number of spaces representing a tab (default 8) + + Directory comparison options: + + -N --new-file + If a file is found in only one directory, act as if it was + found in the other directory too but was of zero size. + + -P --unidirectional-new-file + If a file is found only in dir2, act as if it was found in dir1 + too but was of zero size. + + -r --recursive + Causes application of diff recursively to common subdirectories + encountered. + + -S name --starting-file name + Re-starts a directory diff in the middle, beginning with file + name. + + -s --report-identical-files + Causes diff to report files which are the same, which are oth- + erwise not mentioned. + + -X file --exclude-from file + Exclude files and subdirectories from comparison whose base- + names match lines in file. Multiple -X options may be speci- + fied. + + -x pattern --exclude pattern + Exclude files and subdirectories from comparison whose base- + names match pattern. Patterns are matched using shell-style + globbing via fnmatch(3). Multiple -x options may be specified. + + If both arguments are directories, diff sorts the contents of the di- + rectories by name, and then runs the regular file diff algorithm, pro- + ducing a change list, on text files which are different. Binary files + which differ, common subdirectories, and files which appear in only one + directory are described as such. In directory mode only regular files + and directories are compared. If a non-regular file such as a device + special file or FIFO is encountered, a diagnostic message is printed. + + If only one of file1 and file2 is a directory, diff is applied to the + non-directory file and the file contained in the directory file with a + filename that is the same as the last component of the non-directory + file. + + If either file1 or file2 is `-', the standard input is used in its + place. + + Output Style + The default (without -e, -c, or -n --rcs options) output contains lines + of these forms, where XX, YY, ZZ, QQ are line numbers respective of + file order. + + XXaYY At (the end of) line XX of file1, append the contents of + line YY of file2 to make them equal. + XXaYY,ZZ Same as above, but append the range of lines, YY through + ZZ of file2 to line XX of file1. + XXdYY At line XX delete the line. The value YY tells to which + line the change would bring file1 in line with file2. + XX,YYdZZ Delete the range of lines XX through YY in file1. + XXcYY Change the line XX in file1 to the line YY in file2. + XX,YYcZZ Replace the range of specified lines with the line ZZ. + XX,YYcZZ,QQ Replace the range XX,YY from file1 with the range ZZ,QQ + from file2. + + These lines resemble ed(1) subcommands to convert file1 into file2. + The line numbers before the action letters pertain to file1; those af- + ter pertain to file2. Thus, by exchanging a for d and reading the line + in reverse order, one can also determine how to convert file2 into + file1. As in ed(1), identical pairs (where num1 = num2) are abbrevi- + ated as a single number. + +ENVIRONMENT + DIFFCOLORS The value of this variable is the form add:rm, where add is + the ASCII escape sequence for additions and rm is the ASCII + escape sequence for deletions. If this is unset, diff uses + green for additions and red for removals. + +FILES + /tmp/diff.XXXXXXXX Temporary file used when comparing a device or the + standard input. Note that the temporary file is + unlinked as soon as it is created so it will not + show up in a directory listing. + +EXIT STATUS + The diff utility exits with one of the following values: + + 0 No differences were found. + 1 Differences were found. + >1 An error occurred. + + The --help and --version options exit with a status of 0. + +EXAMPLES + Compare old_dir and new_dir recursively generating an unified diff and + treating files found only in one of those directories as new files: + + $ diff -ruN /path/to/old_dir /path/to/new_dir + + Same as above but excluding files matching the expressions "*.h" and + "*.c": + + $ diff -ruN -x '*.h' -x '*.c' /path/to/old_dir /path/to/new_dir + + Show a single line indicating if the files differ: + + $ diff -q /boot/loader.conf /boot/defaults/loader.conf + Files /boot/loader.conf and /boot/defaults/loader.conf differ + + Assuming a file named example.txt with the following contents: + + FreeBSD is an operating system + Linux is a kernel + OpenBSD is an operating system + + Compare stdin with example.txt excluding from the comparison those + lines containing either "Linux" or "Open": + + $ echo "FreeBSD is an operating system" | diff -q -I 'Linux|Open' example.txt - + +SEE ALSO + cmp(1), comm(1), diff3(1), ed(1), patch(1), pr(1), sdiff(1) + + James W. Hunt and M. Douglas McIlroy, "An Algorithm for Differential + File Comparison", Computing Science Technical Report, Bell Laboratories + 41, June 1976. + +STANDARDS + The diff utility is compliant with the IEEE Std 1003.1-2008 ("POSIX.1") + specification. + + The flags [-aDdIiLlNnPpqSsTtwXxy] are extensions to that specification. + +HISTORY + A diff command appeared in Version 6 AT&T UNIX. + +FreeBSD 13.2 March 10, 2022 DIFF(1) \ No newline at end of file diff --git a/mcwin32/diff/mcdiff.rc b/mcwin32/diff/mcdiff.rc new file mode 100644 index 0000000..9e026cf --- /dev/null +++ b/mcwin32/diff/mcdiff.rc @@ -0,0 +1,122 @@ +/* + * windows resource file + * + * This file is part of the Midnight Commander. + * + * The Midnight Commander is free software: you can redistribute it + * and/or modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the License, + * or (at your option) any later version. + * + * The Midnight Commander is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#ifndef WINDRES +#include "windows.h" +#include "winver.h" +#endif + +#include "mcdiffinfo.h" + +#define RC_PRODUCTVERSION VERSION_1 , VERSION_2 , VERSION_3 , VERSION_4 +#define RC_FILEVERSION VERSION_1 , VERSION_2 , VERSION_3 , VERSION_4 + +/* + * English (U.S.) resources + */ + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) + +#ifdef _WIN32 +#ifndef WINDRES +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#endif +#pragma code_page(1252) +#endif /* _WIN32 */ + +/* + * Manifest + */ +#ifndef RT_MANIFEST +#define RT_MANIFEST 24 +#endif +#ifndef CREATEPROCESS_MANIFEST_RESOURCE_ID +#define CREATEPROCESS_MANIFEST_RESOURCE_ID 1 +#endif + +/* + * Updater Meta Data + * nameID typeID { raw data } + */ + +UPDATER HostURL { "\0" } +UPDATER Channel { "release\0" } + + +/* + * Version Information + */ + +VS_VERSION_INFO VERSIONINFO +#if defined(RC_FILEVERSION) + FILEVERSION RC_FILEVERSION + PRODUCTVERSION RC_PRODUCTVERSION +#endif + FILEFLAGSMASK VS_FFI_FILEFLAGSMASK +#ifdef _DEBUG + FILEFLAGS (VS_FF_SPECIALBUILD|VS_FF_DEBUG) +#else + FILEFLAGS (VS_FF_SPECIALBUILD) +#endif + FILEOS VOS_NT_WINDOWS32 + FILETYPE VFT_APP + FILESUBTYPE VFT2_UNKNOWN + BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904E4" + BEGIN + VALUE "CompanyName", "" + + VALUE "FileDescription", "mcdiff" + + VALUE "FileVersion", VERSION ", Build:" BUILD_DATE "-" BUILD_NUMBER /* match mc.rc */ + + VALUE "InternalName", "mcdiff" + + VALUE "Copyright", + "Copyright (C) 2024, Adam Young. \n" + "[bsd-diff] Copyright (c) 2003, 2010 Todd C. Miller . \n" + "There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. \n" + + VALUE "Maintainers", "https://github.com/adamyg/mcwin32" + + VALUE "LegalTrademarks", "SPDX-License-Identifier: BSD-4-Clause" + + VALUE "OriginalFilename", "mcdiff.exe" + + VALUE "ProductName", "MCDiff" + END + END + + /* The following line should only be modified for localized versions. */ + /* It consists of any number of WORD,WORD pairs, with each pair */ + /* describing a language,codepage combination supported by the file. */ + /* */ + /* For example, a file might have values "0x409,1252" indicating that it */ + /* supports English language (0x409) in the Windows ANSI codepage (1252). */ + + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1252 + END + END + +#endif /* English (U.S.) resources */ + diff --git a/mcwin32/diff/paths.h b/mcwin32/diff/paths.h new file mode 100644 index 0000000..24f0674 --- /dev/null +++ b/mcwin32/diff/paths.h @@ -0,0 +1,17 @@ +/* + * paths.h: WIN32 + */ + +#define _PATH_DEVNULL "NUL" +#define _PATH_TMP "/tmp" + +#if !defined(MIN) +#define MIN(__a,__b) (((__a)<(__b))?(__a):(__b)) +#define MAX(__a,__b) (((__a)>(__b))?(__a):(__b)) +#endif + +#if !defined(PATH_MAX) +#define PATH_MAX 1024 +#endif + +//end diff --git a/mcwin32/diff/pr.c b/mcwin32/diff/pr.c new file mode 100644 index 0000000..5dedf68 --- /dev/null +++ b/mcwin32/diff/pr.c @@ -0,0 +1,123 @@ +/*- + * Copyright (c) 2017 Baptiste Daroussin + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer + * in this position and unchanged. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include "pr.h" +#include "diff.h" +#include "xmalloc.h" + +#define _PATH_PR "/usr/bin/pr" + +struct pr * +start_pr(char *file1, char *file2) +{ + int pfd[2]; + int pr_pd; + pid_t pid; + char *header; + struct pr *pr; + + pr = xcalloc(1, sizeof(*pr)); + + xasprintf(&header, "%s %s %s", diffargs, file1, file2); + signal(SIGPIPE, SIG_IGN); + fflush(stdout); + rewind(stdout); + if (pipe(pfd) == -1) + err(2, "pipe"); + switch ((pid = pdfork(&pr_pd, PD_CLOEXEC))) { + case -1: + status |= 2; + free(header); + err(2, "No more processes"); + case 0: + /* child */ + if (pfd[0] != STDIN_FILENO) { + dup2(pfd[0], STDIN_FILENO); + close(pfd[0]); + } + close(pfd[1]); + execl(_PATH_PR, _PATH_PR, "-h", header, (char *)0); + _exit(127); + default: + + /* parent */ + if (pfd[1] != STDOUT_FILENO) { + pr->ostdout = dup(STDOUT_FILENO); + dup2(pfd[1], STDOUT_FILENO); + close(pfd[1]); + } + close(pfd[0]); + rewind(stdout); + free(header); + pr->kq = kqueue(); + if (pr->kq == -1) + err(2, "kqueue"); + pr->e = xmalloc(sizeof(struct kevent)); + EV_SET(pr->e, pr_pd, EVFILT_PROCDESC, EV_ADD, NOTE_EXIT, 0, + NULL); + if (kevent(pr->kq, pr->e, 1, NULL, 0, NULL) == -1) + err(2, "kevent"); + } + return (pr); +} + +/* close the pipe to pr and restore stdout */ +void +stop_pr(struct pr *pr) +{ + int wstatus; + + if (pr == NULL) + return; + + fflush(stdout); + if (pr->ostdout != STDOUT_FILENO) { + close(STDOUT_FILENO); + dup2(pr->ostdout, STDOUT_FILENO); + close(pr->ostdout); + } + if (kevent(pr->kq, NULL, 0, pr->e, 1, NULL) == -1) + err(2, "kevent"); + wstatus = pr->e[0].data; + close(pr->kq); + free(pr); + if (WIFEXITED(wstatus) && WEXITSTATUS(wstatus) != 0) + errx(2, "pr exited abnormally"); + else if (WIFSIGNALED(wstatus)) + errx(2, "pr killed by signal %d", + WTERMSIG(wstatus)); +} diff --git a/mcwin32/diff/pr.h b/mcwin32/diff/pr.h new file mode 100644 index 0000000..2ff5949 --- /dev/null +++ b/mcwin32/diff/pr.h @@ -0,0 +1,36 @@ +/*- + * Copyright (c) 2017 Baptiste Daroussin + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer + * in this position and unchanged. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include + +struct pr { + int ostdout; + int kq; + struct kevent *e; +}; + +struct pr *start_pr(char *file1, char *file2); +void stop_pr(struct pr *); diff --git a/mcwin32/diff/xmalloc.c b/mcwin32/diff/xmalloc.c new file mode 100644 index 0000000..e538a0a --- /dev/null +++ b/mcwin32/diff/xmalloc.c @@ -0,0 +1,89 @@ +/* $OpenBSD: xmalloc.c,v 1.10 2019/06/28 05:44:09 deraadt Exp $ */ +/* + * Author: Tatu Ylonen + * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland + * All rights reserved + * Versions of malloc and friends that check their results, and never return + * failure (they call fatal if they encounter an error). + * + * As far as I am concerned, the code I have written for this software + * can be used freely for any purpose. Any derived versions of this + * software must be clearly marked as such, and if the derived work is + * incompatible with the protocol description in the RFC file, it must be + * called by a name other than "ssh" or "Secure Shell". + */ + +#include +#include +#include +#include +#include +#include +#include + +#if defined(WIN32) +#include "libcompat.h" +#endif +#include "xmalloc.h" + +void * +xmalloc(size_t size) +{ + void *ptr; + + if (size == 0) + errx(2, "xmalloc: zero size"); + ptr = malloc(size); + if (ptr == NULL) + err(2, "xmalloc: allocating %zu bytes", size); + return ptr; +} + +void * +xcalloc(size_t nmemb, size_t size) +{ + void *ptr; + + ptr = calloc(nmemb, size); + if (ptr == NULL) + err(2, "xcalloc: allocating %zu * %zu bytes", nmemb, size); + return ptr; +} + +void * +xreallocarray(void *ptr, size_t nmemb, size_t size) +{ + void *new_ptr; + + new_ptr = reallocarray(ptr, nmemb, size); + if (new_ptr == NULL) + err(2, "xreallocarray: allocating %zu * %zu bytes", + nmemb, size); + return new_ptr; +} + +char * +xstrdup(const char *str) +{ + char *cp; + + if ((cp = strdup(str)) == NULL) + err(2, "xstrdup"); + return cp; +} + +int +xasprintf(char **ret, const char *fmt, ...) +{ + va_list ap; + int i; + + va_start(ap, fmt); + i = vasprintf(ret, fmt, ap); + va_end(ap); + + if (i == -1) + err(2, "xasprintf"); + + return i; +} diff --git a/mcwin32/diff/xmalloc.h b/mcwin32/diff/xmalloc.h new file mode 100644 index 0000000..4681a15 --- /dev/null +++ b/mcwin32/diff/xmalloc.h @@ -0,0 +1,36 @@ +/* $OpenBSD: xmalloc.h,v 1.4 2015/11/12 16:30:30 mmcc Exp $ */ + +/* + * Author: Tatu Ylonen + * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland + * All rights reserved + * Created: Mon Mar 20 22:09:17 1995 ylo + * + * Versions of malloc and friends that check their results, and never return + * failure (they call fatal if they encounter an error). + * + * As far as I am concerned, the code I have written for this software + * can be used freely for any purpose. Any derived versions of this + * software must be clearly marked as such, and if the derived work is + * incompatible with the protocol description in the RFC file, it must be + * called by a name other than "ssh" or "Secure Shell". + */ + +#ifndef XMALLOC_H +#define XMALLOC_H + +#if defined(_WIN32) +#if !defined(__attribute__) +#define __attribute__(__x) +#endif +#endif + +void *xmalloc(size_t); +void *xcalloc(size_t, size_t); +void *xreallocarray(void *, size_t, size_t); +char *xstrdup(const char *); +int xasprintf(char **, const char *, ...) + __attribute__((__format__ (printf, 2, 3))) + __attribute__((__nonnull__ (2))); + +#endif /* XMALLOC_H */ diff --git a/mcwin32/makelib.in b/mcwin32/makelib.in index 8e38b3e..b90bf9f 100644 --- a/mcwin32/makelib.in +++ b/mcwin32/makelib.in @@ -1,5 +1,5 @@ #!/usr/bin/perl -# $Id: makelib.in,v 1.14 2023/10/02 12:11:28 cvsuser Exp $ +# $Id: makelib.in,v 1.16 2024/03/03 07:32:03 cvsuser Exp $ # -*- mode: perl; tabs: 8; indent-width: 4; -*- # makelib configuration # @@ -93,6 +93,8 @@ $PACKAGE_FILE = 'package.h'; 'libmagic', 'libintl', 'libglib', + 'src/kbtest', + 'diff', 'autoupdater' ); From f5ad844637a7c3bb169493db36d9f642e2fa3653 Mon Sep 17 00:00:00 2001 From: adamyg Date: Sun, 3 Mar 2024 15:46:54 +0800 Subject: [PATCH 11/47] update --- mcwin32/libw32/err.h | 53 +++++++++++++--- mcwin32/libw32/w32_err.c | 132 +++++++++++++++++++++++++-------------- 2 files changed, 128 insertions(+), 57 deletions(-) diff --git a/mcwin32/libw32/err.h b/mcwin32/libw32/err.h index 84eb89d..1b5566e 100644 --- a/mcwin32/libw32/err.h +++ b/mcwin32/libw32/err.h @@ -1,14 +1,14 @@ #ifndef LIBW32_ERR_H_INCLUDED #define LIBW32_ERR_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_err_h,"$Id: err.h,v 1.4 2023/09/17 13:04:56 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_err_h,"$Id: err.h,v 1.6 2024/02/25 16:50:07 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* * win * - * Copyright (c) 1998 - 2023, Adam Young. + * Copyright (c) 1998 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. @@ -36,22 +36,55 @@ __CPRAGMA_ONCE #include #include +/* + * - Formatted error message. + * + * The err() and warn() family of functions display a formatted error message on stderr. For a comparison of the members of this family, see err(). + * + * The vwarn() function produces a message that consists of: + * + * o the last component of the program name, followed by a colon and a space + * + * O the formatted message, followed by a colon and a space, if the fmt argument isn't NULL + * + * O the string associated with the current value of errno + * + * o a newline character + * + * The vwarnx() function produces a similar message, except that it doesn't include the string associated with errno. The message consists of: + * + * o the last component of the program name, followed by a colon and a space + * + * o the formatted message, if the fmt argument isn't NULL + * + * o a newline character + */ + __BEGIN_DECLS /* ": : \n", on stderr. */ -LIBW32_API void warn(const char *fmt, ...); -LIBW32_API void vwarn(const char *fmt, va_list ap); +LIBW32_API void warn(const char *fmt, ...); +LIBW32_API void vwarn(const char *fmt, va_list ap); +LIBW32_API void warnc(int code, const char *fmt, ...); +LIBW32_API void vwarnc(int code, const char *fmt, va_list ap); /* Likewise, but without ": " and the standard error string. */ -LIBW32_API void warnx(const char *fmt, ...); -LIBW32_API void vwarnx(const char *fmt, va_list ap); +LIBW32_API void warnx(const char *fmt, ...); +LIBW32_API void vwarnx(const char *fmt, va_list ap); + /* Like above, but the exits using 'eval' */ -LIBW32_API void err(int eval, const char *fmt, ...); -LIBW32_API void verr(int eval, const char *fmt, va_list ap); +LIBW32_API void err(int eval, const char *fmt, ...); +LIBW32_API void verr(int eval, const char *fmt, va_list ap); + +LIBW32_API void errc(int eval, int code, const char *fmt, ...); +LIBW32_API void verrc(int eval, int code, const char *fmt, va_list); + +LIBW32_API void errx(int eval, const char *fmt, ...); +LIBW32_API void verrx(int eval, const char *fmt, va_list ap); -LIBW32_API void errx(int eval, const char *fmt, ...); -LIBW32_API void verrx(int eval, const char *fmt, va_list ap); +LIBW32_API void err_set_file(void *); +LIBW32_API void err_set_exit(void (*)(int)); __END_DECLS diff --git a/mcwin32/libw32/w32_err.c b/mcwin32/libw32/w32_err.c index 948005d..ae40aae 100644 --- a/mcwin32/libw32/w32_err.c +++ b/mcwin32/libw32/w32_err.c @@ -1,9 +1,9 @@ #include -__CIDENT_RCSID(gr_w32_err_c,"$Id: w32_err.c,v 1.3 2022/06/08 09:51:43 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_err_c,"$Id: w32_err.c,v 1.4 2024/02/25 16:50:07 cvsuser Exp $") -/* +/*- * Copyright (c) 1993 - * The Regents of the University of California. All rights reserved. + * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -13,7 +13,7 @@ __CIDENT_RCSID(gr_w32_err_c,"$Id: w32_err.c,v 1.3 2022/06/08 09:51:43 cvsuser Ex * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors + * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * @@ -40,109 +40,147 @@ __CIDENT_RCSID(gr_w32_err_c,"$Id: w32_err.c,v 1.3 2022/06/08 09:51:43 cvsuser Ex #include #include -static void vwarni(const char *, va_list); -static void vwarnxi(const char *, va_list); +static FILE *err_file; /* file to use for error output */ +static void (*err_exit)(int); -/* ": ", on stderr. */ -static void -vwarnxi(const char *fmt, va_list ap) +/* + * This is declared to take a `void *' so that the caller is not required + * to include first. However, it is really a `FILE *', and the + * manual page documents it as such. + */ +LIBW32_API void +err_set_file(void *fp) { - fprintf(stderr, "%s: ", getprogname()); - if (fmt != NULL) - vfprintf(stderr, fmt, ap); + if (fp) + err_file = fp; + else + err_file = stderr; } -/* ": : \n", on stderr. */ -static void -vwarni(const char *fmt, va_list ap) +LIBW32_API void +err_set_exit(void (*ef)(int)) { - int sverrno; + err_exit = ef; +} - sverrno = errno; - vwarnxi(fmt, ap); - if (fmt != NULL) - fputs(": ", stderr); - fprintf(stderr, "%s\n", w32_strerror(sverrno)); +LIBW32_API void +err(int eval, const char *fmt, ...) +{ + va_list ap; + va_start(ap, fmt); + verrc(eval, errno, fmt, ap); + va_end(ap); } +LIBW32_API void +verr(int eval, const char *fmt, va_list ap) +{ + verrc(eval, errno, fmt, ap); +} LIBW32_API void -err(int eval, const char *fmt, ...) +errc(int eval, int code, const char *fmt, ...) { va_list ap; - va_start(ap, fmt); - vwarni(fmt, ap); + verrc(eval, code, fmt, ap); va_end(ap); - exit(eval); } - LIBW32_API void -verr(int eval, const char *fmt, va_list ap) +verrc(int eval, int code, const char *fmt, va_list ap) { - vwarni(fmt, ap); + if (err_file == 0) + err_set_file((FILE *)0); + fprintf(err_file, "%s: ", getprogname()); + if (fmt != NULL) { + vfprintf(err_file, fmt, ap); + fprintf(err_file, ": "); + } + fprintf(err_file, "%s\n", strerror(code)); + if (err_exit) + err_exit(eval); exit(eval); } - LIBW32_API void errx(int eval, const char *fmt, ...) { va_list ap; - va_start(ap, fmt); - vwarnxi(fmt, ap); + verrx(eval, fmt, ap); va_end(ap); - fputc('\n', stderr); - exit(eval); } - LIBW32_API void verrx(int eval, const char *fmt, va_list ap) { - vwarnxi(fmt, ap); - fputc('\n', stderr); + if (err_file == 0) + err_set_file((FILE *)0); + fprintf(err_file, "%s: ", getprogname()); + if (fmt != NULL) + vfprintf(err_file, fmt, ap); + fprintf(err_file, "\n"); + if (err_exit) + err_exit(eval); exit(eval); } - LIBW32_API void warn(const char *fmt, ...) { va_list ap; - va_start(ap, fmt); - vwarni(fmt, ap); + vwarnc(errno, fmt, ap); va_end(ap); } - LIBW32_API void vwarn(const char *fmt, va_list ap) { - vwarni(fmt, ap); + vwarnc(errno, fmt, ap); +} + +LIBW32_API void +warnc(int code, const char *fmt, ...) +{ + va_list ap; + va_start(ap, fmt); + vwarnc(code, fmt, ap); + va_end(ap); } +LIBW32_API void +vwarnc(int code, const char *fmt, va_list ap) +{ + if (err_file == 0) + err_set_file((FILE *)0); + fprintf(err_file, "%s: ", getprogname()); + if (fmt != NULL) { + vfprintf(err_file, fmt, ap); + fprintf(err_file, ": "); + } + fprintf(err_file, "%s\n", strerror(code)); +} LIBW32_API void warnx(const char *fmt, ...) { va_list ap; - va_start(ap, fmt); - vwarnxi(fmt, ap); + vwarnx(fmt, ap); va_end(ap); - fputc('\n', stderr); } - LIBW32_API void vwarnx(const char *fmt, va_list ap) { - vwarnxi(fmt, ap); - fputc('\n', stderr); + if (err_file == 0) + err_set_file((FILE *)0); + fprintf(err_file, "%s: ", getprogname()); + if (fmt != NULL) + vfprintf(err_file, fmt, ap); + fprintf(err_file, "\n"); } /*end*/ From 7a8f42edd1c61c64decb0b90a5e1290e16ec0724 Mon Sep 17 00:00:00 2001 From: adamyg Date: Sun, 3 Mar 2024 15:48:28 +0800 Subject: [PATCH 12/47] removed unimplemented definitions --- mcwin32/libw32/dirent.h | 6 +++--- mcwin32/libw32/unistd.h | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/mcwin32/libw32/dirent.h b/mcwin32/libw32/dirent.h index 97f76aa..6b6a11a 100644 --- a/mcwin32/libw32/dirent.h +++ b/mcwin32/libw32/dirent.h @@ -230,9 +230,9 @@ LIBW32_API void _wseekdir __P((_WDIR *, long)); LIBW32_API long _wtelldir __P((_WDIR *)); LIBW32_API int _wreaddir_r __P((_WDIR *, struct _wdirent *, struct _wdirent **)); /*deprecated*/ -LIBW32_API int alphasort __P((const void *, const void *)); -LIBW32_API int scandir __P((void)); -LIBW32_API int getdirentries __P((int, char *, int, long *)); +//LIBW32_API int alphasort __P((const void *, const void *)); +//LIBW32_API int scandir __P((void)); +//LIBW32_API int getdirentries __P((int, char *, int, long *)); #endif /*_POSIX_SOURCE*/ __END_DECLS diff --git a/mcwin32/libw32/unistd.h b/mcwin32/libw32/unistd.h index 1bf5db5..6520326 100644 --- a/mcwin32/libw32/unistd.h +++ b/mcwin32/libw32/unistd.h @@ -632,9 +632,9 @@ LIBW32_API wchar_t * w32_getcwddW (char drive, wchar_t *path, size_t size); LIBW32_API int w32_mkstemp (char *path); LIBW32_API int w32_mkstempA (char *path); LIBW32_API int w32_mkstempW (wchar_t *path); -#if defined(_MSC_VER) -LIBW32_API int mkstemp (char *path); -#endif +//#if defined(_MSC_VER) +//LIBW32_API int mkstemp (char *path); +//#endif LIBW32_API int w32_mkstemps (char *path, int suffixlen); LIBW32_API int w32_mkstempsA (char *path, int suffixlen); From 1cad10f882b0a687f05f4aedabbdd31152f58f3a Mon Sep 17 00:00:00 2001 From: adamyg Date: Sun, 3 Mar 2024 19:25:52 +0800 Subject: [PATCH 13/47] mcdiff --- mcsrc/src/diffviewer/ydiff.c | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/mcsrc/src/diffviewer/ydiff.c b/mcsrc/src/diffviewer/ydiff.c index 0367b5d..ba47c29 100644 --- a/mcsrc/src/diffviewer/ydiff.c +++ b/mcsrc/src/diffviewer/ydiff.c @@ -529,6 +529,14 @@ dview_popen (const char *cmd, int flags) f = popen (cmd, type); if (f == NULL) { +#if defined(WIN32) && (0) //TODO: expand error reporting + const char *t_cmd = strstr(cmd, "mcdiff "); + char *errmsg; + + errmsg = g_strdup_printf (_("Cannot open pipe for reading: %s"), t_cmd ? t_cmd : cmd); + query_dialog (_("Error"), errmsg, D_ERROR, 1, _("&Dismiss")); + g_free (errmsg); +#endif //WIN32 dview_ffree (fs); return NULL; } @@ -804,15 +812,36 @@ scan_diff (FBUF * f, GArray * ops) * @return positive number indicating number of hunks, otherwise negative */ +#if defined(WIN32) +const char * +mcdiff(void) +{ + static char mcdiff[1024] = {0}; + if (0 == mcdiff[0]) { + char *end = NULL; + if (GetModuleFileNameA(NULL, mcdiff, sizeof(mcdiff) - 6)) { + end = (char *)strrchr(mcdiff, '\\'); + } + strcpy(end ? (end + 1) : mcdiff, "mcdiff"); + } + return mcdiff; +} +#endif //WIN32 + static int dff_execute (const char *args, const char *extra, const char *file1, const char *file2, GArray * ops) { +#if defined(WIN32) + static const char *opt = + " --mc-format"; +#else static const char *opt = " --old-group-format='%df%(f=l?:,%dl)d%dE\n'" " --new-group-format='%dea%dF%(F=L?:,%dL)\n'" " --changed-group-format='%df%(f=l?:,%dl)c%dF%(F=L?:,%dL)\n'" " --unchanged-group-format=''"; +#endif int rv; FBUF *f; @@ -823,7 +852,11 @@ dff_execute (const char *args, const char *extra, const char *file1, const char /* escape potential $ to avoid shell variable substitutions in popen() */ file1_esc = strutils_shell_escape (file1); file2_esc = strutils_shell_escape (file2); +#if defined(WIN32) + cmd = g_strdup_printf ("%s %s %s %s %s %s", mcdiff(), args, extra, opt, file1_esc, file2_esc); +#else cmd = g_strdup_printf ("diff %s %s %s %s %s", args, extra, opt, file1_esc, file2_esc); +#endif g_free (file1_esc); g_free (file2_esc); @@ -3419,7 +3452,7 @@ diff_view (const char *file1, const char *file2, const char *label1, const char dview_dlg->get_title = dview_get_title; - error = dview_init (dview, "-a", file1, file2, label1, label2, DATA_SRC_MEM); /* XXX binary diff? */ + error = dview_init (dview, "-a", file1, file2, label1, label2, DATA_SRC_MEM); /* XXX binary diff? */ if (error == 0) dlg_run (dview_dlg); From f0898b7a3fa358e71d2ece72d27d345819ca95e9 Mon Sep 17 00:00:00 2001 From: adamyg Date: Sun, 3 Mar 2024 19:34:18 +0800 Subject: [PATCH 14/47] child extensions --- mcwin32/libw32/dirent.h | 2 +- mcwin32/libw32/unistd.h | 2 +- mcwin32/libw32/w32_child.c | 89 +++++++++++++++++++++++++------ mcwin32/libw32/w32_direntunc.c | 4 +- mcwin32/libw32/w32_iconv_native.c | 2 +- mcwin32/libw32/w32_popen.c | 50 +++++++++++------ mcwin32/libw32/w32_shell.c | 35 ++++++++++-- mcwin32/libw32/win32_child.h | 8 +-- 8 files changed, 147 insertions(+), 45 deletions(-) diff --git a/mcwin32/libw32/dirent.h b/mcwin32/libw32/dirent.h index 6b6a11a..733eb90 100644 --- a/mcwin32/libw32/dirent.h +++ b/mcwin32/libw32/dirent.h @@ -1,7 +1,7 @@ #ifndef LIBW32_DIRENT_H_INCLUDED #define LIBW32_DIRENT_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_dirent_h,"$Id: dirent.h,v 1.17 2024/01/16 15:17:51 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_dirent_h,"$Id: dirent.h,v 1.18 2024/03/03 11:29:13 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ diff --git a/mcwin32/libw32/unistd.h b/mcwin32/libw32/unistd.h index 6520326..7ef81e2 100644 --- a/mcwin32/libw32/unistd.h +++ b/mcwin32/libw32/unistd.h @@ -1,7 +1,7 @@ #ifndef LIBW32_UNISTD_H_INCLUDED #define LIBW32_UNISTD_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_unistd_h,"$Id: unistd.h,v 1.42 2024/01/16 15:17:51 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_unistd_h,"$Id: unistd.h,v 1.43 2024/03/03 11:29:13 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ diff --git a/mcwin32/libw32/w32_child.c b/mcwin32/libw32/w32_child.c index 2793d74..8cbd2b6 100644 --- a/mcwin32/libw32/w32_child.c +++ b/mcwin32/libw32/w32_child.c @@ -1,5 +1,5 @@ #include -__CIDENT_RCSID(gr_w32_child_c,"$Id: w32_child.c,v 1.21 2024/01/16 15:17:51 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_child_c,"$Id: w32_child.c,v 1.22 2024/03/03 11:29:13 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* @@ -68,7 +68,7 @@ typedef struct { int fd; } Redirect_t; -static int cmdis(const char *shell, int slen, const char *cmd); +static int cmdisA(const char *shell, int slen, const char *cmd); static int cmdisW(const wchar_t *shell, int slen, const wchar_t *cmd); static int TOLOWER(wchar_t ch); @@ -556,18 +556,17 @@ w32_iscommandA(const char *shell) { const int slen = (int)strlen(shell); - if (cmdis(shell, slen, "cmd") || - cmdis(shell, slen, "cmd.exe") || - cmdis(shell, slen, "command") || - cmdis(shell, slen, "command.com") || - cmdis(shell, slen, "command.exe")) { + if (cmdisA(shell, slen, "cmd") || + cmdisA(shell, slen, "cmd.exe") || + cmdisA(shell, slen, "command") || + cmdisA(shell, slen, "command.com") || + cmdisA(shell, slen, "command.exe")) { return TRUE; } return FALSE; } - LIBW32_API int w32_iscommandW(const wchar_t *shell) { @@ -585,7 +584,7 @@ w32_iscommandW(const wchar_t *shell) static int -cmdis(const char *shell, int slen, const char *cmd) +cmdisA(const char *shell, int slen, const char *cmd) { const int clen = (int)strlen(cmd); const char *p = shell + slen - clen; @@ -640,6 +639,7 @@ w32_child_execA( return 0; } + assert((NULL != args->cmd && NULL == args->argv) || (NULL == args->cmd && NULL != args->argv)); if (! BuildVectorsA(args, &argblk, &envblk) != 0) { InternalError("BuildVector"); return 0; @@ -671,7 +671,7 @@ w32_child_execA( si.dwFlags |= STARTF_USESHOWWINDOW; /* - * Launch the process that you want to redirect, as lpApplicationName is NULL, search path is: + * Launch the process that you want to redirect, if lpApplicationName is NULL, search path is: * * o The directory from which the application loaded. * o The current directory for the parent process. @@ -680,7 +680,7 @@ w32_child_execA( * o The Windows directory. Use the GetWindowsDirectory function to get the path of this directory. * o The directories that are listed in the PATH environment variable. */ - if (0 == (hProc = ExecChildA(args, NULL, argblk, envblk, &si, &pi))) { + if (0 == (hProc = ExecChildA(args, args->arg0, argblk, envblk, &si, &pi))) { const char *path, *cmd = (args->argv ? args->argv[0] : args->cmd); char *pfin, *buf = NULL; @@ -763,6 +763,7 @@ w32_child_execW( return 0; } + assert((NULL != args->cmd && NULL == args->argv) || (NULL == args->cmd && NULL != args->argv)); if (! BuildVectorsW(args, &argblk, &envblk)) { InternalError("building arg and env"); return 0; @@ -794,7 +795,7 @@ w32_child_execW( si.dwFlags |= STARTF_USESHOWWINDOW; /* - * Launch the process that you want to redirect, as lpApplicationName is NULL, search path is: + * Launch the process that you want to redirect, if lpApplicationName/arg0 is NULL, search path is: * * o The directory from which the application loaded. * o The current directory for the parent process. @@ -803,7 +804,7 @@ w32_child_execW( * o The Windows directory. Use the GetWindowsDirectory function to get the path of this directory. * o The directories that are listed in the PATH environment variable. */ - if (0 == (hProc = ExecChildW(args, NULL, argblk, envblk, &si, &pi))) { + if (0 == (hProc = ExecChildW(args, args->arg0, argblk, envblk, &si, &pi))) { const wchar_t *path, *cmd = (args->argv ? args->argv[0] : args->cmd); wchar_t *pfin, *buf = NULL; @@ -989,10 +990,65 @@ w32_child_wait(HANDLE hProc, int *status, int nowait) } CloseHandle(hProc); // process complete if (status) { - if (0 == (dwStatus & 0xff)) { + if (dwStatus > 0xff) { // treat as signal + switch (dwStatus) { + case STATUS_ACCESS_VIOLATION: // 0xC0000005L + case STATUS_IN_PAGE_ERROR: // 0xC0000006L + case STATUS_INVALID_HANDLE: // 0xC0000008L + case STATUS_INVALID_PARAMETER: // 0xC000000DL + case STATUS_NO_MEMORY: // 0xC0000017L + *status = SIGSEGV; + break; + case STATUS_ILLEGAL_INSTRUCTION: // 0xC000001DL + *status = SIGILL; + break; + case STATUS_NONCONTINUABLE_EXCEPTION: // 0xC0000025L + case STATUS_INVALID_DISPOSITION: // 0xC0000026L + case STATUS_ARRAY_BOUNDS_EXCEEDED: // 0xC000008CL + *status = SIGABRT; + break; + case STATUS_FLOAT_DENORMAL_OPERAND: // 0xC000008DL + case STATUS_FLOAT_DIVIDE_BY_ZERO: // 0xC000008EL + case STATUS_FLOAT_INEXACT_RESULT: // 0xC000008FL + case STATUS_FLOAT_INVALID_OPERATION: // 0xC0000090L + case STATUS_FLOAT_OVERFLOW: // 0xC0000091L + case STATUS_FLOAT_STACK_CHECK: // 0xC0000092L + case STATUS_FLOAT_UNDERFLOW: // 0xC0000093L + *status = SIGFPE; + break; + case STATUS_INTEGER_DIVIDE_BY_ZERO: // 0xC0000094L + case STATUS_INTEGER_OVERFLOW: // 0xC0000095L + *status = SIGFPE; + break; + case STATUS_PRIVILEGED_INSTRUCTION: // 0xC0000096L + *status = SIGILL; + break; + // case STATUS_STACK_OVERFLOW: // 0xC00000FDL + // case STATUS_DLL_NOT_FOUND: // 0xC0000135L + // case STATUS_ORDINAL_NOT_FOUND: // 0xC0000138L + // case STATUS_ENTRYPOINT_NOT_FOUND: // 0xC0000139L + case STATUS_CONTROL_C_EXIT: // 0xC000013AL + *status = SIGBREAK; + break; + // case STATUS_DLL_INIT_FAILED: // 0xC0000142L + case STATUS_FLOAT_MULTIPLE_FAULTS: // 0xC00002B4L + case STATUS_FLOAT_MULTIPLE_TRAPS: // 0xC00002B5L + *status = SIGFPE; + break; + // case STATUS_REG_NAT_CONSUMPTION: // 0xC00002C9L + // case STATUS_HEAP_CORRUPTION: // 0xC0000374L + // case STATUS_STACK_BUFFER_OVERRUN: // 0xC0000409L + // case STATUS_INVALID_CRUNTIME_PARAMETER: // 0xC0000417L + case STATUS_ASSERTION_FAILURE: // 0xC0000420L + *status = SIGABRT; + break; + default: + *status = 0x7f; + break; + } + + } else { // application return value. *status = (int)(dwStatus >> 8); - } else { - *status = (int)(dwStatus & 0xff); } } ret = TRUE; @@ -1036,7 +1092,6 @@ BuildVectorsA(win32_spawn_t *args, char **argblk, char **envblk) } - static char * BuildArgA(const char *cmd, const char **argv) { diff --git a/mcwin32/libw32/w32_direntunc.c b/mcwin32/libw32/w32_direntunc.c index 78a333e..6a8c839 100644 --- a/mcwin32/libw32/w32_direntunc.c +++ b/mcwin32/libw32/w32_direntunc.c @@ -1,5 +1,5 @@ #include -__CIDENT_RCSID(gr_w32_direntunc_c,"$Id: w32_direntunc.c,v 1.11 2024/01/16 15:17:51 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_direntunc_c,"$Id: w32_direntunc.c,v 1.12 2024/03/03 11:29:13 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* @@ -106,7 +106,7 @@ w32_unc_iterateW(const wchar_t *servername, unc_push_t push, void *data) // build directory .. for (e = 0, ent = buffer; e < entries; ++e, ++ent) { if (STYPE_DISKTREE == ent->shi502_type) { - const WCHAR *filename = ent->shi502_netname; + const wchar_t *filename = ent->shi502_netname; if ('p' == filename[0]) { // prnproc$ or print$ if (0 == wcscmp(filename, L"prnproc$") || diff --git a/mcwin32/libw32/w32_iconv_native.c b/mcwin32/libw32/w32_iconv_native.c index 19a4599..2659c2c 100644 --- a/mcwin32/libw32/w32_iconv_native.c +++ b/mcwin32/libw32/w32_iconv_native.c @@ -1,5 +1,5 @@ #include -__CIDENT_RCSID(gr_w32_iconv_native_c,"$Id: w32_iconv_native.c,v 1.9 2024/01/01 15:25:01 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_iconv_native_c,"$Id: w32_iconv_native.c,v 1.10 2024/02/02 15:18:41 cvsuser Exp $") /* * iconv implementation using Win32 API to convert. diff --git a/mcwin32/libw32/w32_popen.c b/mcwin32/libw32/w32_popen.c index f23d950..3d595de 100644 --- a/mcwin32/libw32/w32_popen.c +++ b/mcwin32/libw32/w32_popen.c @@ -1,5 +1,5 @@ #include -__CIDENT_RCSID(gr_w32_popen_c,"$Id: w32_popen.c,v 1.15 2024/01/16 15:17:52 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_popen_c,"$Id: w32_popen.c,v 1.16 2024/03/03 11:29:13 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* @@ -280,22 +280,30 @@ PipeA(const char *cmd, const char *mode) assert('r' == p->readOrWrite || 'w' == p->readOrWrite); if ('r' == p->readOrWrite) { + const int fd = + _open_osfhandle((OSFHANDLE)out_read, _O_NOINHERIT | ('b' == textOrBinary ? _O_BINARY : _O_TEXT) | _O_RDONLY); + + if (-1 == fd) + goto pipe_error; + out_read = INVALID_HANDLE_VALUE; // fd has ownership if (NULL == (p->file = _fdopen( // readable end of the pipe - _open_osfhandle((OSFHANDLE)out_read, - _O_NOINHERIT | ('b' == textOrBinary ? _O_BINARY : _O_TEXT)), - 'b' == textOrBinary ? "rb" : "rt"))) { + fd, 'b' == textOrBinary ? "rb" : "rt"))) { + _close(fd); goto pipe_error; } - out_read = INVALID_HANDLE_VALUE; } else { + const int fd = + _open_osfhandle((OSFHANDLE)in_write, _O_NOINHERIT | ('b' == textOrBinary ? _O_BINARY : _O_TEXT)); + + if (-1 == fd) + goto pipe_error; + in_write = INVALID_HANDLE_VALUE; // fd has ownership if (NULL == (p->file = _fdopen( // writeable end of the pipe - _open_osfhandle((OSFHANDLE)in_write, - _O_NOINHERIT | ('b' == textOrBinary ? _O_BINARY : _O_TEXT)), - 'b' == textOrBinary ? "wb" : "wt"))) { + fd, 'b' == textOrBinary ? "wb" : "wt"))) { + _close(fd); goto pipe_error; } - in_write = INVALID_HANDLE_VALUE; } setvbuf(p->file, NULL, _IONBF, 0); // non-buffered @@ -433,22 +441,30 @@ PipeW(const wchar_t *cmd, const char *mode) } if ('r' == p->readOrWrite) { + const int fd = + _open_osfhandle((OSFHANDLE)out_read, _O_NOINHERIT | ('b' == textOrBinary ? _O_BINARY : _O_TEXT) | _O_RDONLY); + + if (-1 == fd) + goto pipe_error; + out_read = INVALID_HANDLE_VALUE; // fd has ownership if (NULL == (p->file = _fdopen( // readable end of the pipe - _open_osfhandle((OSFHANDLE)out_read, - _O_NOINHERIT | ('b' == textOrBinary ? _O_BINARY : _O_TEXT)), - 'b' == textOrBinary ? "rb" : "rt"))) { + fd, 'b' == textOrBinary ? "rb" : "rt"))) { + _close(fd); goto pipe_error; } - out_read = INVALID_HANDLE_VALUE; } else { + const int fd = + _open_osfhandle((OSFHANDLE)in_write, _O_NOINHERIT | ('b' == textOrBinary ? _O_BINARY : _O_TEXT)); + + if (-1 == fd) + goto pipe_error; + in_write = INVALID_HANDLE_VALUE; // fd has ownership if (NULL == (p->file = _fdopen( // writeable end of the pipe - _open_osfhandle((OSFHANDLE)in_write, - _O_NOINHERIT | ('b' == textOrBinary ? _O_BINARY : _O_TEXT)), - 'b' == textOrBinary ? "wb" : "wt"))) { + fd, 'b' == textOrBinary ? "wb" : "wt"))) { + _close(fd); goto pipe_error; } - in_write = INVALID_HANDLE_VALUE; } setvbuf(p->file, NULL, _IONBF, 0); // non-buffered diff --git a/mcwin32/libw32/w32_shell.c b/mcwin32/libw32/w32_shell.c index 00c8caa..d6a9808 100644 --- a/mcwin32/libw32/w32_shell.c +++ b/mcwin32/libw32/w32_shell.c @@ -1,5 +1,5 @@ #include -__CIDENT_RCSID(gr_w32_shell_c,"$Id: w32_shell.c,v 1.19 2024/01/16 15:17:52 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_shell_c,"$Id: w32_shell.c,v 1.20 2024/03/03 11:29:13 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* @@ -73,6 +73,9 @@ static const char * OutDirectA(const char *path, int *append); static const wchar_t * OutDirectW(const wchar_t *path, int *append); static void ShellCleanup(void *p); +static int IsAbsPathA(const char *path); +static int IsAbsPathW(const wchar_t *path); + static const wchar_t * ImportArgv(const char **argv); static const wchar_t ** ImportEnvv(const char **envv); @@ -242,6 +245,9 @@ ShellA(const char *shell, const char *cmd, // command or interactive (void)memset(&args, 0, sizeof(args)); + if (IsAbsPathA(shname)) // abs-path + args.arg0 = shname; + if (w32_iscommandA(shname)) { slash = shname - 1; while ((slash = strchr(slash + 1, XSLASHCHAR)) != NULL) { @@ -300,7 +306,7 @@ ShellW(const wchar_t *shell, const wchar_t *cmd, HANDLE hInFile, hOutFile, hErrFile; struct procdata pd = {0}; win32_spawnw_t args = {0}; - const wchar_t *argv[4] = {0}; + const wchar_t *argv[4] = {NULL}; HANDLE hProc = 0; int status = 0; @@ -384,6 +390,9 @@ ShellW(const wchar_t *shell, const wchar_t *cmd, // command or interactive (void)memset(&args, 0, sizeof(args)); + if (IsAbsPathW(shname)) // abs-path + args.arg0 = shname; + if (w32_iscommandW(shname)) { slash = shname - 1; while ((slash = wcschr(slash + 1, XSLASHCHAR)) != NULL) { @@ -409,7 +418,7 @@ ShellW(const wchar_t *shell, const wchar_t *cmd, argv[2] = NULL; } - // create child process + // create child process args.argv = argv; args._dwFlags = 0; @@ -857,6 +866,26 @@ w32_exec(win32_exec_t *args) } +static int +IsAbsPathA(const char *path) +{ + if (path && *path) { + return (ISSLASH(path[0]) || path[1] == ':'); + } + return 0; +} + + +static int +IsAbsPathW(const wchar_t *path) +{ + if (path && *path) { + return (ISSLASH(path[0]) || path[1] == ':'); + } + return 0; +} + + static const wchar_t * ImportArgv(const char **argv) { diff --git a/mcwin32/libw32/win32_child.h b/mcwin32/libw32/win32_child.h index d60ae80..fc8a5fc 100644 --- a/mcwin32/libw32/win32_child.h +++ b/mcwin32/libw32/win32_child.h @@ -1,7 +1,7 @@ #ifndef LIBW32_WIN32_CHILD_H_INCLUDED #define LIBW32_WIN32_CHILD_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_win32_child_h,"$Id: win32_child.h,v 1.14 2024/01/16 15:17:52 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_win32_child_h,"$Id: win32_child.h,v 1.15 2024/03/03 11:29:14 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ @@ -40,7 +40,8 @@ __CPRAGMA_ONCE __BEGIN_DECLS typedef struct win32_spawn { - const char * cmd; + const char * cmd; /* command, or [arg0,]argv */ + const char * arg0; const char ** argv; const char ** envv; const char * dir; @@ -52,7 +53,8 @@ typedef struct win32_spawn { } win32_spawn_t; typedef struct win32_spawnw { - const wchar_t * cmd; + const wchar_t * cmd; /* command, or [arg0,]argv */ + const wchar_t * arg0; const wchar_t ** argv; const wchar_t ** envv; const wchar_t * dir; From bd743e5658a1d8403515d395b64c973a2e5c53f0 Mon Sep 17 00:00:00 2001 From: adamyg Date: Sun, 3 Mar 2024 20:16:19 +0800 Subject: [PATCH 15/47] merge 4.8.31 --- mcsrc/src/main.c | 52 ------------------------------------------------ 1 file changed, 52 deletions(-) diff --git a/mcsrc/src/main.c b/mcsrc/src/main.c index da91305..1f2d0bb 100644 --- a/mcsrc/src/main.c +++ b/mcsrc/src/main.c @@ -269,60 +269,8 @@ main (int argc, char *argv[]) mc_global.run_from_parent_mc = !check_sid (); -#if (0) - { - extern void OutputDebugPrintA(const char *, ...); - extern void OutputDebugPrintW(const wchar_t *, ...); - wchar_t iso639[16] = { 0 }, iso3166[16] = { 0 }, displayname[256] = { 0 }; - LCID lcid; - - lcid = GetSystemDefaultLCID(); - OutputDebugPrintA("LCID: system %u/0x%x\n", lcid, lcid); - lcid = GetUserDefaultLCID(); - OutputDebugPrintA("LCID: user %u/0x%x\n", lcid, lcid); - lcid = GetThreadLocale(); - OutputDebugPrintA("LCID: thread %u/0x%x\n", lcid, lcid); - if (GetLocaleInfoW(lcid, LOCALE_SISO639LANGNAME, iso639, _countof(iso639)) && - GetLocaleInfoW(lcid, LOCALE_SISO3166CTRYNAME, iso3166, _countof(iso3166))) { - GetLocaleInfoW(lcid, LOCALE_SLOCALIZEDCOUNTRYNAME, displayname, _countof(displayname)); - OutputDebugPrintW(L"LCID: name %s_%s (%s)\n", iso639, iso3166, displayname); // "9_9 (displayname)" - } - OutputDebugPrintA("OEMCP: %u/0x%x\n", GetOEMCP(), GetOEMCP()); - OutputDebugPrintA("ACP: %u/0x%x\n", GetACP(), GetACP()); - OutputDebugPrintA("ICP: %u/0x%x\n", GetConsoleCP(), GetConsoleCP()); - OutputDebugPrintA("OCP: %u/0x%x\n", GetConsoleOutputCP(), GetConsoleOutputCP()); - - //////////////////////////// - - SetThreadLocale(MAKELCID(MAKELANGID(LANG_ITALIAN, SUBLANG_ITALIAN), SORT_DEFAULT)); // or SUBLANG_ITALIAN_SWISS - SetThreadUILanguage(MAKELANGID(LANG_ITALIAN, SUBLANG_ITALIAN)); - OutputDebugPrintA("LCID: set LANG_ITALIAN, SUBLANG_ITALIAN\n"); - - lcid = GetUserDefaultLCID(); - OutputDebugPrintA("LCID: user %u/0x%x\n", lcid, lcid); - lcid = GetThreadLocale(); - OutputDebugPrintA("LCID: thread %u/0x%x\n", lcid, lcid); - if (GetLocaleInfoW(lcid, LOCALE_SISO639LANGNAME, iso639, _countof(iso639)) && - GetLocaleInfoW(lcid, LOCALE_SISO3166CTRYNAME, iso3166, _countof(iso3166))) { - GetLocaleInfoW(lcid, LOCALE_SLOCALIZEDCOUNTRYNAME, displayname, _countof(displayname)); - OutputDebugPrintW(L"LCID: name %s_%s (%s)\n", iso639, iso3166, displayname); // "9_9 (displayname)" - } - OutputDebugPrintA("OEMCP: %u/0x%x\n", GetOEMCP(), GetOEMCP()); - OutputDebugPrintA("ACP: %u/0x%x\n", GetACP(), GetACP()); - - SetConsoleCP(GetACP()); - SetConsoleOutputCP(GetACP()); - OutputDebugPrintA("IP: %u/0x%x\n", GetConsoleCP(), GetConsoleCP()); - OutputDebugPrintA("OCP: %u/0x%x\n", GetConsoleOutputCP(), GetConsoleOutputCP()); - } - -#ifdef HAVE_SETLOCALE - (void) setlocale (LC_ALL, "it-IT"); -#endif -#else #ifdef HAVE_SETLOCALE (void) setlocale (LC_ALL, ""); /* We had LC_CTYPE before, LC_ALL includs LC_TYPE as well */ -#endif #endif (void) bindtextdomain (PACKAGE, LOCALEDIR); From 9ed21bc50a8635e69e2c2ee00ef412b06f1ad3eb Mon Sep 17 00:00:00 2001 From: adamyg Date: Sun, 3 Mar 2024 21:49:58 +0800 Subject: [PATCH 16/47] AltGr --- mcsrc/lib/global.h | 3 + mcsrc/src/filemanager/boxes.c | 7 ++- mcwin32/src/win32_key.c | 100 ++++++++++++++++++++++++++++++++-- mcwin32/src/win32_key.h | 2 +- 4 files changed, 104 insertions(+), 8 deletions(-) diff --git a/mcsrc/lib/global.h b/mcsrc/lib/global.h index 184cb4e..d3442f2 100644 --- a/mcsrc/lib/global.h +++ b/mcsrc/lib/global.h @@ -306,6 +306,9 @@ typedef struct #if defined(WIN32) /* Set if the window has changed it's size */ SIG_ATOMIC_VOLATILE_T winch_flag; + + /* ALtGr map; If true filter AltGr control states */ + int altgr_enabled; #endif //WIN32 } tty; diff --git a/mcsrc/src/filemanager/boxes.c b/mcsrc/src/filemanager/boxes.c index 5d45e59..7cf9095 100644 --- a/mcsrc/src/filemanager/boxes.c +++ b/mcsrc/src/filemanager/boxes.c @@ -1295,7 +1295,7 @@ display_bits_box (void) gboolean new_meta; #if defined(WIN32) //WIN32, quick - quick_widget_t quick_widgets[19+2] = {0}, + quick_widget_t quick_widgets[20 + 2] = {0}, *qc = quick_widgets; #else quick_widget_t quick_widgets[] = { @@ -1333,6 +1333,7 @@ display_bits_box (void) const int visible_num = G_N_ELEMENTS (visible_options); int visible_option, audible_beep, legacy_beep; + int altgr = (mc_global.tty.altgr_enabled != 0); alert_options_decode (&visible_option, &audible_beep, &legacy_beep); @@ -1351,6 +1352,7 @@ display_bits_box (void) qc = XQUICK_NEXT_COLUMN (qc), qc = XQUICK_START_GROUPBOX (qc, N_("Other Options")), qc = XQUICK_CHECKBOX (qc, N_("F&ull 8 bits input"), &new_meta, NULL), + qc = XQUICK_CHECKBOX (qc, N_("AltGr input"), &altgr, NULL), qc = XQUICK_STOP_GROUPBOX (qc), qc = XQUICK_STOP_COLUMNS (qc), qc = XQUICK_BUTTONS_OK_CANCEL (qc), @@ -1375,8 +1377,9 @@ display_bits_box (void) g_free (errmsg); } -#if defined(WIN32) //WIN32, alert-options +#if defined(WIN32) //WIN32, alert-options/AltGr alert_options_apply (visible_option, audible_beep, legacy_beep); + mc_global.tty.altgr_enabled = altgr; #endif #ifdef HAVE_SLANG diff --git a/mcwin32/src/win32_key.c b/mcwin32/src/win32_key.c index 3362ed4..f45319c 100644 --- a/mcwin32/src/win32_key.c +++ b/mcwin32/src/win32_key.c @@ -73,6 +73,8 @@ #include "win32_trace.h" +//#define KEY_TRACE + #if defined(__WATCOMC__) #if (__WATCOMC__ >= 1300) char volatile __WD_Present = 0; /* ??? */ @@ -348,11 +350,14 @@ static DWORD WINAPI CancelSynchronousIoImp(HANDLE hThread); static BOOL __stdcall CtrlHandler(DWORD fdwCtrlType); +static void key_config(void); static int key_next(int no_delay, unsigned *UnicodeChar); static int key_esc_special(void); +static DWORD key_normalizeAltGr(const KEY_EVENT_RECORD *key); static int key_mapwin32(unsigned long dwCtrlKeyState, unsigned wVirtKeyCode, unsigned UnicodeChar); + /* * runtime initialisation */ @@ -363,6 +368,8 @@ init_key (void) hConsoleOut = GetStdHandle (STD_OUTPUT_HANDLE); hWindow = GetConsoleWindow(); + key_config(); + mc_global.tty.console_flag = '\001'; /* console save/restore, toggle available */ tty_reset_prog_mode (); @@ -383,6 +390,26 @@ init_key (void) } +static void +key_config(void) +{ + char *buffer; + + mc_global.tty.altgr_enabled = -1; /* default; auto */ + + buffer = mc_config_get_string (mc_global.main_config, CONFIG_MISC_SECTION, "altgr_enabled", ""); + if (buffer[0]) { + if (0 == strcmp(buffer, "off")) { /* "off" or "on" */ + mc_global.tty.altgr_enabled = 0; + } else if (0 == strcmp(buffer, "on")) { + mc_global.tty.altgr_enabled = 1; + } + } + + g_free (buffer); +} + + static DWORD WINAPI CancelSynchronousIoImp (HANDLE hThread) { @@ -1146,16 +1173,17 @@ key_next(int no_delay, unsigned *unicode) case KEY_EVENT: if (k.Event.KeyEvent.bKeyDown) { const KEY_EVENT_RECORD *pKey = &k.Event.KeyEvent; + const DWORD dwControlKeyState = key_normalizeAltGr(pKey); const unsigned UnicodeChar = pKey->uChar.UnicodeChar; int c; #if !defined(KEY_M_UNICODE) #define KEY_M_UNICODE 0x8000 #endif - if ((c = key_mapwin32(pKey->dwControlKeyState, + if ((c = key_mapwin32(dwControlKeyState, pKey->wVirtualKeyCode, UnicodeChar)) != -1) { if (KEY_M_UNICODE & c) { -#if defined(_DEBUG) && (0) +#if defined(KEY_TRACE) OutputDebugPrintA ("%05u/0x%04x = unicode\n", UnicodeChar, UnicodeChar); #endif if (unicode) { @@ -1163,7 +1191,7 @@ key_next(int no_delay, unsigned *unicode) return (c & ~KEY_M_UNICODE); // modifiers, if any } } else { -#if defined(_DEBUG) && (0) +#if defined(KEY_TRACE) char *skeyname = lookup_key_by_code (c); OutputDebugPrintA ("%05u/0x%04x = %s\n", c, c, skeyname); g_free (skeyname); @@ -1356,11 +1384,73 @@ CtrlHandler(DWORD fdwCtrlType) /* - * Translate the key press into a keycode identifier. - */ + * key_normalizeAltGr --- + * Filter AtrGr events from modifiers; attempt to allow: + * + * Left-Alt + AltGr, + * Right-Ctrl + AltGr, + * Left-Alt + Right-Ctrl + AltGr. + **/ +static DWORD +key_normalizeAltGr (const KEY_EVENT_RECORD *key) +{ + DWORD state = key->dwControlKeyState; + + // Enabled? + if (0 == mc_global.tty.altgr_enabled) + return state; + + // AltGr condition (LCtrl + RAlt) + if (0 == (state & (LEFT_ALT_PRESSED | RIGHT_ALT_PRESSED))) + return state; + + if (0 == (state & (LEFT_CTRL_PRESSED | RIGHT_CTRL_PRESSED))) + return state; + + if (0 == key->uChar.UnicodeChar) + return state; + + if (state & RIGHT_ALT_PRESSED) { + // Remove Right-Alt. + state &= ~RIGHT_ALT_PRESSED; + + // As a character was presented, Left-Ctrl is almost always set, + // except if the user presses Right-Ctrl, then AltGr (in that specific order) for whatever reason. + // At any rate, make sure the bit is not set. + state &= ~LEFT_CTRL_PRESSED; + + } else if (state & LEFT_ALT_PRESSED) { + // Remove Left-Alt. + state &= ~LEFT_ALT_PRESSED; + + // Whichever Ctrl key is down, remove it from the state. + // We only remove one key, to improve our chances of detecting the corner-case of Left-Ctrl + Left-Alt + Right-Ctrl. + if ((state & LEFT_CTRL_PRESSED) != 0) { + // Remove Left-Ctrl. + state &= ~LEFT_CTRL_PRESSED; + + } else if ((state & RIGHT_CTRL_PRESSED) != 0) { + // Remove Right-Ctrl. + state &= ~RIGHT_CTRL_PRESSED; + } + } + +#if defined(KEY_TRACE) + OutputDebugPrintA ("AltGr: 0x%04x = 0x%04x\n", key->dwControlKeyState, state); +#endif + + return state; +} + + +/* + * key_mapwin32 --- + * Translate the key press into a keycode identifier. + **/ static int key_mapwin32 (unsigned long dwCtrlKeyState, unsigned wVirtKeyCode, unsigned uChar) { + int mod = 0, ch = -1; int i; diff --git a/mcwin32/src/win32_key.h b/mcwin32/src/win32_key.h index cc782ac..652b33d 100644 --- a/mcwin32/src/win32_key.h +++ b/mcwin32/src/win32_key.h @@ -5,7 +5,7 @@ Copyright (C) 2012 The Free Software Foundation, Inc. - Written by: Adam Young 2012 - 2023 + Written by: Adam Young 2012 - 2024 This file is part of the Midnight Commander. From 80353bd706af0eadb5c406bed84389d869dd26ac Mon Sep 17 00:00:00 2001 From: adamyg Date: Sun, 3 Mar 2024 21:50:52 +0800 Subject: [PATCH 17/47] drive expansion, direct exec of shell ops --- mcwin32/src/win32_utl.c | 59 +++++++++++++++++++++++------------------ mcwin32/src/win32_utl.h | 2 +- 2 files changed, 34 insertions(+), 27 deletions(-) diff --git a/mcwin32/src/win32_utl.c b/mcwin32/src/win32_utl.c index 6a7ea80..a5221b1 100644 --- a/mcwin32/src/win32_utl.c +++ b/mcwin32/src/win32_utl.c @@ -271,7 +271,7 @@ static void set_tmpdir(void) { const char *tmpdir = NULL; - + if (NULL != (tmpdir = getenv("MC_TMPDIR")) && *tmpdir) { return; } @@ -392,7 +392,7 @@ mc_get_locale(void) { static char x_lang[64] = {0}; - if (0 == x_lang[0]) + if (0 == x_lang[0]) { char iso639[16] = {0}, iso3166[16] = {0}; LCID lcid = GetThreadLocale(); @@ -666,9 +666,9 @@ mc_USERCONFIGDIR(const char *subdir) const char *env; int len, done = FALSE; -#if defined(MC_HOMEDIR_XDG) +#if defined(MC_HOMEDIR_XDG) /* /mc */ - if (NULL != (env = getenv("XDG_CONFIG_HOME")) && *env) { + if (NULL != (env = getenv("XDG_CONFIG_HOME")) && *env) { if (0 == _access(env, 0)) { _snprintf(x_buffer, sizeof(x_buffer), "%s/mc", env); mkdir(x_buffer, S_IRWXU); /* auto create */ @@ -680,7 +680,7 @@ mc_USERCONFIGDIR(const char *subdir) /* /.config/mc */ if (!done) { // - if (NULL != (env = getenv("HOME")) && *env) { + if (NULL != (env = getenv("HOME")) && *env) { _snprintf(x_buffer, sizeof(x_buffer), "%s/.config", env); if (0 == _access(x_buffer, 0)) { _snprintf(x_buffer, sizeof(x_buffer), "%s/.config/mc", env); @@ -1077,7 +1077,7 @@ system_impl (int flags, const char *shell, const char *cmd) const int cmdlen = space - cmd; unsigned i; - for (i = 0; i < _countof(busyboxexts); ++i) { + for (i = 0; i < _countof(busyboxexts); ++i) { if (0 == strncmp(busyboxexts[i], cmd, cmdlen)) { char *t_cmd; @@ -1111,7 +1111,7 @@ system_impl (int flags, const char *shell, const char *cmd) } else { /* * If - * execute as + * execute as */ const char *space; @@ -1120,7 +1120,7 @@ system_impl (int flags, const char *shell, const char *cmd) char *t_cmd; if (NULL != (t_cmd = g_strconcat("\"", busybox, "\" sh", space, NULL))) { - ret = w32_shell(shell, t_cmd, NULL, NULL, NULL); + ret = w32_shell(busybox, t_cmd, NULL, NULL, NULL); g_free(t_cmd); } return ret; @@ -1149,12 +1149,7 @@ system_impl (int flags, const char *shell, const char *cmd) for (i = 0; i < _countof(busyboxcmds); ++i) { if (0 == strcmp(busyboxcmds[i], argv[0])) { - char *t_cmd; - - if (NULL != (t_cmd = g_strconcat("\"", busybox, "\" ", cmd, NULL))) { - ret = w32_shell(shell, t_cmd, NULL, NULL, NULL); - g_free(t_cmd); - } + ret = w32_shell(busybox, cmd, NULL, NULL, NULL); return ret; } } @@ -1404,7 +1399,7 @@ my_unquote(const char *cmd, int quotews) default: // non-whitespace if (NULL == start) { start = cursor; // first non-whitespace - } + } break; case ' ': case '\t': // whitespace if (!instring) { @@ -1502,7 +1497,7 @@ win32_popen(const char *cmd, const char *mode) if (pe_open >= 0) { if (NULL == file) { - pe_open += _snprintf(pe_buffer, PE_BUFFER_SIZE, "popen ; %s", strerror(errno)); + pe_open += _snprintf(pe_buffer, PE_BUFFER_SIZE, "popen : %s", strerror(errno)); } else { HANDLE hThread; @@ -1542,14 +1537,14 @@ win32_pclose(FILE *file) * text is prepended to the error message from the pipe */ void -open_error_pipe(void) +error_pipe_open(void) { pe_open = 0; // open stream } int -close_error_pipe(int error, const char *text) +error_pipe_close(int error, const char *text) { const char *title; int len; @@ -1757,8 +1752,12 @@ system_bustargs(char *cmd, const char **argv, int cnt) char * tilde_expand(const char *directory) { + if (0 == directory[0]) { + return g_strdup (""); /* empty */ + } + if (PATH_SEP == directory[0] && /* fix '/X:', vfs work around */ - isalpha((unsigned char)directory[1]) && ':' == directory[2]) { + directory[1] && ':' == directory[2] && isalpha((unsigned char)directory[1])) { ++directory; } @@ -1767,7 +1766,7 @@ tilde_expand(const char *directory) if (PATH_SEP != directory[1] || /* preserve URL's (// */ + } + } else if ('~' == *directory) { struct passwd *passwd = NULL; @@ -1888,7 +1895,7 @@ custom_canonicalize_pathname(char *orgpath, CANON_PATH_FLAGS flags) for (p = lpath + 2; p[0] != '\0' && !IS_PATH_SEP (p[0]); p++) ; - if (p[0] == PATH_SEP && p > (orgpath + 2)) + if (p[0] == PATH_SEP && p > (orgpath + 2)) { if (0 == strcmp(p + 1, "..")) { /* "//servername/.." --> "X:/" */ @@ -1907,7 +1914,7 @@ custom_canonicalize_pathname(char *orgpath, CANON_PATH_FLAGS flags) * o standardize seperator * o preserve leading drive */ - if (!unc) + if (!unc) { if (PATH_SEP == lpath[0] && ':' == lpath[2] && isalpha((unsigned char)lpath[1])) { @@ -2129,7 +2136,7 @@ void canonicalize_pathname(char *path) { #if !defined(CANON_PATH_FLAGS) - canonicalize_pathname_custom (path, CANON_PATH_ALL); + canonicalize_pathname_custom (path, CANON_PATH_ALL); #else custom_canonicalize_pathname (path, CANON_PATH_ALL); #endif @@ -2183,7 +2190,7 @@ mc_build_filenamev(const char *first_element, va_list args) canonicalize_pathname (tmp_element); len = strlen (tmp_element); - start = IS_PATH_SEP (tmp_element[0]) ? tmp_element + 1 : tmp_element; + start = IS_PATH_SEP (tmp_element[0]) ? tmp_element + 1 : tmp_element; g_string_append (path, start); if (!IS_PATH_SEP (tmp_element[len - 1]) && element != NULL) @@ -2193,7 +2200,7 @@ mc_build_filenamev(const char *first_element, va_list args) } while (element != NULL); - if (absolute) + if (absolute) { if (! path->len || ':' != path->str[1] /*not-drive*/) { @@ -2206,7 +2213,7 @@ mc_build_filenamev(const char *first_element, va_list args) if (driveno <= 0) driveno = w32_getlastdrive(); // see: vfs_canon() generally when we are returning from a ftp/sftp or UNC reference. - if (driveno > 0) + if (driveno > 0) { char drive[3] = "X:"; drive[0] = driveno + ('A' - 1); diff --git a/mcwin32/src/win32_utl.h b/mcwin32/src/win32_utl.h index cedbbb7..f569f8b 100644 --- a/mcwin32/src/win32_utl.h +++ b/mcwin32/src/win32_utl.h @@ -1,6 +1,6 @@ /* -*- mode: c; indent-width: 4; -*- */ /* - Adam Young 2021 - 2023 + Adam Young 2021 - 2024 This file is part of the Midnight Commander. From 47b8c2feb4456d1c55baa6319caed9db9929c0b7 Mon Sep 17 00:00:00 2001 From: adamyg Date: Sun, 3 Mar 2024 21:51:03 +0800 Subject: [PATCH 18/47] support --- mcwin32/support/mklicense.pl | 74 +++++++++++++++++++++++++++++++++ mcwin32/support/owc20setenv.bat | 4 +- mcwin32/support/rmdir_p.pl | 39 +++++++++++++++++ 3 files changed, 116 insertions(+), 1 deletion(-) create mode 100644 mcwin32/support/mklicense.pl create mode 100644 mcwin32/support/rmdir_p.pl diff --git a/mcwin32/support/mklicense.pl b/mcwin32/support/mklicense.pl new file mode 100644 index 0000000..0abb6ca --- /dev/null +++ b/mcwin32/support/mklicense.pl @@ -0,0 +1,74 @@ +#!/usr/bin/perl -w +# -*- mode: perl; -*- +# $Id: $ +# +# Copyright (c) 2020 - 2024, Adam Young. +# All rights reserved. +# +# The applications are free software: you can redistribute it +# and/or modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, version 3. +# +# Redistributions of source code must retain the above copyright +# notice, and must be distributed with the license document above. +# +# Redistributions in binary form must reproduce the above copyright +# notice, and must include the license document above in +# the documentation and/or other materials provided with the +# distribution. +# +# The applications are distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# ==end== +# + +use strict; +use warnings 'all'; + +my $in = shift @ARGV; +my $out = shift @ARGV; +my $lbl = 'license'; + +$lbl = shift @ARGV + if (scalar @ARGV); + +die "usage: mklicense [label=license]\n\n" + if (!$in or !$out); + +open (INPUT, $in) or + die "can't open <${in}>: $!"; + +open (OUTPUT, '>', $out) or + die "can't create <${out}>: $!"; + +print OUTPUT + "/* File created from ${in} via mklicense.pl */\n". + "const char *${lbl}[] = {\n"; + +my $lines = 0; +while () { + chomp; + print OUTPUT ",\n" + if ($lines++); + s/\"/\\\"/g; + print OUTPUT "\t\"$_\""; + last if (/END OF TERMS AND CONDITIONS/); + } + +print OUTPUT + "\n};\n". + "/*end*/\n"; + +close(INPUT) or + die "can't close <${in}>: $!"; + +close(OUTPUT) or + die "can't close <${out}>: $!"; + +#end + diff --git a/mcwin32/support/owc20setenv.bat b/mcwin32/support/owc20setenv.bat index 6290d60..9dc4be4 100644 --- a/mcwin32/support/owc20setenv.bat +++ b/mcwin32/support/owc20setenv.bat @@ -1,6 +1,8 @@ @echo off echo Open Watcom 2.0 Build Environment -SET OWC20=d:\tools\WC20 +if not defined OWC20 ( + SET OWC20=d:\tools\WC20 +) if NOT "%1" == "" SET OWC20=%1 PATH %OWC20%\BINNT64;%OWC20%\BINNT;%PATH% SET INCLUDE=%OWC20%\H;%OWC20%\H\NT;%OWC20%\H\NT\DIRECTX;%OWC20%\H\NT\DDK;%INCLUDE% diff --git a/mcwin32/support/rmdir_p.pl b/mcwin32/support/rmdir_p.pl new file mode 100644 index 0000000..ecfe005 --- /dev/null +++ b/mcwin32/support/rmdir_p.pl @@ -0,0 +1,39 @@ +#!/usr/bin/perl -w +# -*- mode: perl; -*- +# $Id: rmdir_p.pl,v 1.1 2020/10/17 18:35:26 cvsuser Exp $ +# +# "rmdir -p" emulation. +# +use strict; +use warnings 'all'; + +sub rmdir_p { + my $dir = shift; + my $child = shift; + + $dir =~ s|/*\Z(?!\n)||s; + return if (-d $dir); + + unless (rmdir($dir)) { + return if ($child); + die "Cannot remove directory $dir: $!\n"; + } + + if ($dir =~ m|[^/]/|s) { + my $parent = $dir; + $parent =~ s|[^/]*\Z(?!\n)||s; + rmdir_p($parent, 1); + } + + print "removed directory `$dir'\n"; +} + +my $arg; + +foreach $arg (@ARGV) { + $arg =~ tr|\\|/|; + rmdir_p($arg, 0); +} + +#end + From 32948a15a9889af0603cbe91dfd3da771c8b4f06 Mon Sep 17 00:00:00 2001 From: adamyg Date: Sun, 3 Mar 2024 23:06:10 +0800 Subject: [PATCH 19/47] MSVC 19.38 --- mcwin32/libw32/unistd.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mcwin32/libw32/unistd.h b/mcwin32/libw32/unistd.h index 7ef81e2..f9eb644 100644 --- a/mcwin32/libw32/unistd.h +++ b/mcwin32/libw32/unistd.h @@ -1,7 +1,7 @@ #ifndef LIBW32_UNISTD_H_INCLUDED #define LIBW32_UNISTD_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_unistd_h,"$Id: unistd.h,v 1.43 2024/03/03 11:29:13 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_unistd_h,"$Id: unistd.h,v 1.44 2024/03/03 15:03:10 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ @@ -41,8 +41,8 @@ __CPRAGMA_ONCE #if (_MSC_VER != 1900) /* MSVC 19/2015 */ #if (_MSC_VER < 1910 || _MSC_VER > 1916) /* MSVC 2017: 19.10 .. 16 */ #if (_MSC_VER > 1929) /* MSVC 2019: 19.20 .. 29 */ -#if (_MSC_VER > 1937) /* MSVC 2022: 19.30 .. 37*/ -#error unistd.h: untested MSVC Version (2005 -- 2019.37) +#if (_MSC_VER > 1939) /* MSVC 2022: 19.30 .. 39 */ +#error unistd.h: untested MSVC Version (2005 -- 2022 19.39) //see: https://en.wikipedia.org/wiki/Microsoft_Visual_C%2B%2B #endif //2022 #endif //2019 From 90e69a4418171c92dac3c0d15431f8ce0233f757 Mon Sep 17 00:00:00 2001 From: adamyg Date: Sun, 3 Mar 2024 23:12:03 +0800 Subject: [PATCH 20/47] mingw-w64-gettext --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index aac7c60..4fb2212 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -55,6 +55,7 @@ jobs: c:\msys64\usr\bin\pacman --noconfirm -S base-devel c:\msys64\usr\bin\pacman --noconfirm -S mingw-w64-x86_64-gcc c:\msys64\usr\bin\pacman --noconfirm -S mingw-w64-i686-gcc + c:\msys64\usr\bin\pacman --noconfirm -S mingw-w64-gettext dir c:\msys64\usr\bin - name: OpenWatcom setup From 5892cb753d3cac6b16c58db91f3b981d3bda164d Mon Sep 17 00:00:00 2001 From: adamyg Date: Sun, 3 Mar 2024 23:21:05 +0800 Subject: [PATCH 21/47] mcdiff, derive path --- mcsrc/src/diffviewer/ydiff.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mcsrc/src/diffviewer/ydiff.c b/mcsrc/src/diffviewer/ydiff.c index ba47c29..ea3f16e 100644 --- a/mcsrc/src/diffviewer/ydiff.c +++ b/mcsrc/src/diffviewer/ydiff.c @@ -29,6 +29,11 @@ #include +#if defined(WIN32) +#define WIN32_LEAN_AND_MEAN +#include +#endif + #include #include #include /* ptrdiff_t */ From 778499959f0f9ad0981a4045ad4957227888882e Mon Sep 17 00:00:00 2001 From: adamyg Date: Sun, 3 Mar 2024 23:38:55 +0800 Subject: [PATCH 22/47] mingw-w64-x86_64-gettext --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4fb2212..3be8964 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -55,7 +55,7 @@ jobs: c:\msys64\usr\bin\pacman --noconfirm -S base-devel c:\msys64\usr\bin\pacman --noconfirm -S mingw-w64-x86_64-gcc c:\msys64\usr\bin\pacman --noconfirm -S mingw-w64-i686-gcc - c:\msys64\usr\bin\pacman --noconfirm -S mingw-w64-gettext + c:\msys64\usr\bin\pacman --noconfirm -S mingw-w64-x86_64-gettext dir c:\msys64\usr\bin - name: OpenWatcom setup From 2d7ce0d98652d58528ce84b22cab90ca3c16b276 Mon Sep 17 00:00:00 2001 From: adamyg Date: Mon, 4 Mar 2024 00:02:05 +0800 Subject: [PATCH 23/47] vcpkg test --- .github/workflows/build.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3be8964..2ec8739 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -41,6 +41,11 @@ jobs: - name: Checkout submodules run: | git submodule update --init --recursive + + - name: vcpkg packages + if: startsWith(matrix.config.name, 'Windows Latest MSVC') || startsWith(matrix.config.name, 'Windows Latest OWC') + run: | + vcpkg install --triplet x64-windows gettext - name: MSVC setup uses: ilammy/msvc-dev-cmd@v1 From 0d0490e8b8d077f9b0f49d9e0044ca416413404d Mon Sep 17 00:00:00 2001 From: adamyg Date: Mon, 4 Mar 2024 00:06:45 +0800 Subject: [PATCH 24/47] mingw-w64-i686-gettext-tools --- .github/workflows/build.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2ec8739..ee926d9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -59,8 +59,9 @@ jobs: run: | c:\msys64\usr\bin\pacman --noconfirm -S base-devel c:\msys64\usr\bin\pacman --noconfirm -S mingw-w64-x86_64-gcc + c:\msys64\usr\bin\pacman --noconfirm -S mingw-w64-x86_64-gettext-tools c:\msys64\usr\bin\pacman --noconfirm -S mingw-w64-i686-gcc - c:\msys64\usr\bin\pacman --noconfirm -S mingw-w64-x86_64-gettext + c:\msys64\usr\bin\pacman --noconfirm -S mingw-w64-i686-gettext-tools dir c:\msys64\usr\bin - name: OpenWatcom setup From ff73694aed27596dc86efded88f70b2f157e834a Mon Sep 17 00:00:00 2001 From: adamyg Date: Mon, 4 Mar 2024 00:35:22 +0800 Subject: [PATCH 25/47] windows, msys64/msgfmt --- .github/workflows/build.yml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ee926d9..7f6a352 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -41,11 +41,6 @@ jobs: - name: Checkout submodules run: | git submodule update --init --recursive - - - name: vcpkg packages - if: startsWith(matrix.config.name, 'Windows Latest MSVC') || startsWith(matrix.config.name, 'Windows Latest OWC') - run: | - vcpkg install --triplet x64-windows gettext - name: MSVC setup uses: ilammy/msvc-dev-cmd@v1 @@ -70,6 +65,11 @@ jobs: with: version: "2.0" location: "C:\\Watcom" + + - name: Windows extra + if: startsWith(matrix.config.name, 'Windows Latest MSVC') || startsWith(matrix.config.name, 'Windows Latest OWC') + run: | + c:\msys64\usr\bin\pacman --noconfirm -S mingw-w64-x86_64-gettext-tools - name: Generate if: startsWith(matrix.config.name, 'Windows Latest') @@ -77,7 +77,7 @@ jobs: run: | @if "${{ matrix.config.toolchain }}"=="mingw32" set PATH=c:\msys64\mingw32\bin;%PATH% @if "${{ matrix.config.toolchain }}"=="mingw64" set PATH=c:\msys64\mingw64\bin;%PATH% - @if "${{ matrix.config.toolchain }}"=="owc20" call .\mcwin32\support\owc20setenv.bat C:\Watcom + @if "${{ matrix.config.toolchain }}"=="owc20" call .\mcwin32\support\owc20setenv.bat C:\Watcom @set PERL=c:/Strawberry/perl/bin/perl cd mcwin32 c:/Strawberry/perl/bin/perl makelib.pl --perlpath=c:/Strawberry/perl/bin --busybox=./support/busybox --verbose "${{ matrix.config.toolchain }}" @@ -88,7 +88,9 @@ jobs: run: | @if "${{ matrix.config.toolchain }}"=="mingw32" set PATH=c:\msys64\mingw32\bin;%PATH% @if "${{ matrix.config.toolchain }}"=="mingw64" set PATH=c:\msys64\mingw64\bin;%PATH% - @if "${{ matrix.config.toolchain }}"=="owc20" call .\mcwin32\support\owc20setenv.bat C:\Watcom + @if "${{ matrix.config.toolchain }}"=="owc20" call .\mcwin32\support\owc20setenv.bat C:\Watcom + @if "${{ matrix.config.toolchain }}"=="owc20" set PATH=%PATH%;c:\msys64\mingw64\bin + @if "${{ matrix.config.toolchain }}"=="vs2022" set PATH=%PATH%;c:\msys64\mingw64\bin @set PERL=c:/Strawberry/perl/bin/perl cd mcwin32 .\support\gmake-42 release build From 7402471d286ea96f6a296f17cf8f7bfb7d016213 Mon Sep 17 00:00:00 2001 From: adamyg Date: Mon, 4 Mar 2024 00:47:03 +0800 Subject: [PATCH 26/47] msgfmt/vs2022 --- .github/workflows/build.yml | 2 +- mcwin32/releases/mc-inno-setup.iss | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7f6a352..2b8b94a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -90,7 +90,7 @@ jobs: @if "${{ matrix.config.toolchain }}"=="mingw64" set PATH=c:\msys64\mingw64\bin;%PATH% @if "${{ matrix.config.toolchain }}"=="owc20" call .\mcwin32\support\owc20setenv.bat C:\Watcom @if "${{ matrix.config.toolchain }}"=="owc20" set PATH=%PATH%;c:\msys64\mingw64\bin - @if "${{ matrix.config.toolchain }}"=="vs2022" set PATH=%PATH%;c:\msys64\mingw64\bin + @if "${{ matrix.config.toolchain }}"=="vc2022" set PATH=%PATH%;c:\msys64\mingw64\bin @set PERL=c:/Strawberry/perl/bin/perl cd mcwin32 .\support\gmake-42 release build diff --git a/mcwin32/releases/mc-inno-setup.iss b/mcwin32/releases/mc-inno-setup.iss index b24cfd2..4420468 100644 --- a/mcwin32/releases/mc-inno-setup.iss +++ b/mcwin32/releases/mc-inno-setup.iss @@ -1,7 +1,7 @@ ; ; Midnight Commander - Inno Setup ; -; Adam Young, 2012 - 2023 +; Adam Young, 2012 - 2024 ; This file is part of the Midnight Commander. ; ; The Midnight Commander is free software: you can redistribute it @@ -100,6 +100,7 @@ Source: "..\{#BinDir}\mc.exe"; DestDir: "{app}"; Flags: ignoreversion Source: "..\{#BinDir}\mc.exe"; DestDir: "{app}"; DestName: "mcedit.exe"; Flags: ignoreversion ;;Source: "..\{#BinDir}\mc.map"; DestDir: "{app}"; Flags: ignoreversion Source: "..\{#BinDir}\mcupdater.exe"; DestDir: "{app}"; Flags: ignoreversion +Source: "..\{#BinDir}\mcdiff.exe"; DestDir: "{app}"; Flags: ignoreversion Source: "..\{#BinDir}\busybox.exe"; DestDir: "{app}"; Flags: ignoreversion Source: "..\{#BinDir}\file.exe"; DestDir: "{app}"; Flags: ignoreversion Source: "..\{#BinDir}\enca.exe"; DestDir: "{app}"; Flags: ignoreversion From 66e2b109cebf8226cf931db7eb036fdb7b22aca5 Mon Sep 17 00:00:00 2001 From: adamyg Date: Mon, 4 Mar 2024 07:37:55 +0800 Subject: [PATCH 27/47] actions upgrade --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2b8b94a..ab6257b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -36,7 +36,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Checkout submodules run: | @@ -96,7 +96,7 @@ jobs: .\support\gmake-42 release build - name: Package - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: package-${{ matrix.config.toolchain }} path: mcwin32/bin.${{ matrix.config.toolversion }}/release/* From 2c52a0b3ddec08185bb281248df473f05098d4b6 Mon Sep 17 00:00:00 2001 From: adamyg Date: Mon, 4 Mar 2024 23:11:13 +0800 Subject: [PATCH 28/47] packaging --- .github/workflows/build.yml | 10 +++++----- mcwin32/releases/mc-inno-setup.iss | 5 +++++ 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ab6257b..d76312e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -65,7 +65,7 @@ jobs: with: version: "2.0" location: "C:\\Watcom" - + - name: Windows extra if: startsWith(matrix.config.name, 'Windows Latest MSVC') || startsWith(matrix.config.name, 'Windows Latest OWC') run: | @@ -102,19 +102,19 @@ jobs: path: mcwin32/bin.${{ matrix.config.toolversion }}/release/* - name: Installer - if: startsWith(matrix.config.name, 'Windows Latest MSVC') + if: startsWith(matrix.config.name, 'Windows Latest MSVC') || startsWith(matrix.config.name, 'Windows Latest OWC') shell: cmd run: | @set PERL=c:/Strawberry/perl/bin/perl choco install innosetup --version=5.6.1 --force cd mcwin32 @rem .\support\gmake-42 release package - "%programfiles(x86)%\Inno Setup 5\ISCC" -DBUILD_INFO=1 -DBUILD_TYPE=release ".\releases\mc-inno-setup.iss" + "%programfiles(x86)%\Inno Setup 5\ISCC" -DBUILD_INFO=1 -DBUILD_TYPE=release -DBUILD_TOOLCHAIN=${{ matrix.config.toolchain }} ".\releases\mc-inno-setup.iss" - name: Release artifacts - if: startsWith(matrix.config.name, 'Windows Latest MSVC') + if: startsWith(matrix.config.name, 'Windows Latest MSVC') || startsWith(matrix.config.name, 'Windows Latest OWC') uses: softprops/action-gh-release@v1 with: files: ./mcwin32/releases/mcwin32-build*-setup.exe draft: true - + diff --git a/mcwin32/releases/mc-inno-setup.iss b/mcwin32/releases/mc-inno-setup.iss index 4420468..5735475 100644 --- a/mcwin32/releases/mc-inno-setup.iss +++ b/mcwin32/releases/mc-inno-setup.iss @@ -52,7 +52,11 @@ DefaultGroupName=Midnight Commander LicenseFile=..\{#BinDir}\doc\COPYING OutputDir=. +#if defined(BUILD_TOOLCHAIN) +OutputBaseFilename=mcwin32-build{#BUILD_NUMBER}-{#BUILD_TOOLCHAIN}-setup +#else OutputBaseFilename=mcwin32-build{#BUILD_NUMBER}-setup +#endif Compression=lzma SolidCompression=yes ChangesEnvironment=true @@ -104,6 +108,7 @@ Source: "..\{#BinDir}\mcdiff.exe"; DestDir: "{app}"; Flags: ignoreversion Source: "..\{#BinDir}\busybox.exe"; DestDir: "{app}"; Flags: ignoreversion Source: "..\{#BinDir}\file.exe"; DestDir: "{app}"; Flags: ignoreversion Source: "..\{#BinDir}\enca.exe"; DestDir: "{app}"; Flags: ignoreversion +Source: "..\{#BinDir}\kbtest.exe"; DestDir: "{app}"; Flags: ignoreversion Source: "..\{#BinDir}\*.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "..\{#BinDir}\man2hlp.pl"; DestDir: "{app}"; Flags: ignoreversion Source: "..\{#BinDir}\etc\*"; Excludes: ".created"; DestDir: "{app}\etc"; Flags: ignoreversion recursesubdirs createallsubdirs From 9993fdef49d96ccb14e771d5dba37906947da359 Mon Sep 17 00:00:00 2001 From: adamyg Date: Sun, 10 Mar 2024 14:32:09 +0800 Subject: [PATCH 29/47] diff argv processing, memory assumptions relaxed --- mcwin32/diff/diff.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/mcwin32/diff/diff.c b/mcwin32/diff/diff.c index 1af4579..304cbab 100644 --- a/mcwin32/diff/diff.c +++ b/mcwin32/diff/diff.c @@ -35,6 +35,7 @@ #include #include #include +#include #include #include "diff.h" @@ -514,10 +515,16 @@ checked_regcomp(char const *pattern, regex_t *comp) static void set_argstr(char **av, char **ave) { - size_t argsize; + size_t argsize = 5; // "diff\0" char **ap; - argsize = 4 + *ave - *av + 1; +//WIN32 argsize = 4 + *ave - *av + 1; + for (ap = av + 1; ap < ave; ap++) { + if (strcmp(*ap, "--") != 0) { + argsize += 1 + strlen(*ap); + } + } + diffargs = xmalloc(argsize); strlcpy(diffargs, "diff", argsize); for (ap = av + 1; ap < ave; ap++) { @@ -687,7 +694,7 @@ do_color(void) p2 = getenv("COLORTERM"); if ((p != NULL && *p != '\0') || (p2 != NULL && *p2 != '\0')) { return (bool)isatty(STDOUT_FILENO); - } + } #endif break; case COLORFLAG_ALWAYS: From 9c2284befe47788c0be1b5c97b05799b4c812ca7 Mon Sep 17 00:00:00 2001 From: adamyg Date: Sun, 10 Mar 2024 14:33:07 +0800 Subject: [PATCH 30/47] diff binary file modes --- mcwin32/diff/diffreg.c | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/mcwin32/diff/diffreg.c b/mcwin32/diff/diffreg.c index 85b9cdc..25f5cd1 100644 --- a/mcwin32/diff/diffreg.c +++ b/mcwin32/diff/diffreg.c @@ -238,6 +238,20 @@ static char lastbuf[FUNCTION_CONTEXT_SIZE]; static int lastline; static int lastmatchline; +#if defined(WIN32) +static FILE * +fopen_binary(const char *path, const char *mode) +{ + if ('r' == mode[0]) + return fopen(path, "rb"); + if ('w' == mode[0]) + return fopen(path, "wb"); + return NULL; +} + +#define fopen(__a,__b) fopen_binary(__a,__b) +#endif + static int clow2low(int c) { @@ -309,11 +323,7 @@ diffreg(char *file1, char *file2, int flags, int capsicum) } else if (strcmp(file1, "-") == 0) { f1 = stdin; } else { -#if defined(WIN32) - f1 = fopen(file1, "rb"); -#else f1 = fopen(file1, "r"); -#endif } } if (f1 == NULL) { @@ -337,11 +347,7 @@ diffreg(char *file1, char *file2, int flags, int capsicum) } else if (strcmp(file2, "-") == 0) { f2 = stdin; } else { -#if defined(WIN32) - f2 = fopen(file2, "rb"); -#else f2 = fopen(file2, "r"); -#endif } } if (f2 == NULL) { @@ -498,7 +504,11 @@ opentemp(const char *f) if (strcmp(f, "-") == 0) ifd = STDIN_FILENO; +#if defined(WIN32) + else if ((ifd = open(f, O_RDONLY|O_BINARY, 0644)) == -1) +#else else if ((ifd = open(f, O_RDONLY, 0644)) == -1) +#endif return (NULL); (void)strlcpy(tempfile, _PATH_TMP "/diff.XXXXXXXX", sizeof(tempfile)); From 68f175518141c01e9809fd1a5086fe6d1de49180 Mon Sep 17 00:00:00 2001 From: adamyg Date: Sun, 10 Mar 2024 14:39:22 +0800 Subject: [PATCH 31/47] diff binary file modes and memory assumptions --- mcsrc/src/diffviewer/ydiff.c | 40 ++++++++++++++++++++++++++++++++++-- 1 file changed, 38 insertions(+), 2 deletions(-) diff --git a/mcsrc/src/diffviewer/ydiff.c b/mcsrc/src/diffviewer/ydiff.c index ea3f16e..de9fc05 100644 --- a/mcsrc/src/diffviewer/ydiff.c +++ b/mcsrc/src/diffviewer/ydiff.c @@ -140,6 +140,20 @@ fill_by_space (char *buf, size_t n, gboolean zero_terminate) /* --------------------------------------------------------------------------------------------- */ +#if defined(WIN32) +static FILE * +fopen_binary(const char *path, const char *mode) +{ + if ('r' == mode[0]) + return fopen(path, "rb"); + if ('w' == mode[0]) + return fopen(path, "wb"); + return NULL; +} + +#define fopen(__a,__b) fopen_binary(__a,__b) +#endif + static gboolean rewrite_backup_content (const vfs_path_t * from_file_name_vpath, const char *to_file_name) { @@ -306,7 +320,11 @@ dview_fopen (const char *filename, int flags) if (fs == NULL) return NULL; +#if defined(WIN32) + fd = open (filename, flags|O_BINARY); +#else fd = open (filename, flags); +#endif if (fd < 0) { dview_ffree (fs); @@ -2651,7 +2669,16 @@ dview_display_file (const WDiff * dview, diff_place_t ord, int r, int c, int hei #ifdef HAVE_CHARSET if (dview->utf8) - k = dview_str_utf8_offset_to_pos (p->p, width); + { +//WIN32 k = dview_str_utf8_offset_to_pos (p->p, width); + if (width > p->u.len) + { + k = dview_str_utf8_offset_to_pos (p->p, p->u.len); + k += width - p->u.len; + } + else + k = dview_str_utf8_offset_to_pos (p->p, width); + } else #endif k = width; @@ -2710,7 +2737,16 @@ dview_display_file (const WDiff * dview, diff_place_t ord, int r, int c, int hei #ifdef HAVE_CHARSET if (dview->utf8) - k = dview_str_utf8_offset_to_pos (p->p, width); + { +//WIN32 k = dview_str_utf8_offset_to_pos (p->p, width); + if (width > p->u.len) + { + k = dview_str_utf8_offset_to_pos (p->p, p->u.len); + k += width - p->u.len; + } + else + k = dview_str_utf8_offset_to_pos (p->p, width); + } else #endif k = width; From df604ba5bb818b11134ea9e431dda13569e3d4cc Mon Sep 17 00:00:00 2001 From: adamyg Date: Sun, 10 Mar 2024 14:59:35 +0800 Subject: [PATCH 32/47] prototype WIN32_Setup --- mcsrc/src/main.c | 4 ---- mcwin32/config.h | 2 ++ 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/mcsrc/src/main.c b/mcsrc/src/main.c index 1f2d0bb..3bf7e89 100644 --- a/mcsrc/src/main.c +++ b/mcsrc/src/main.c @@ -257,10 +257,6 @@ check_sid (void) /*** public functions ****************************************************************************/ /* --------------------------------------------------------------------------------------------- */ -#if defined(WIN32) //WIN32, config -extern void WIN32_Setup(void); -#endif //WIN32 - int main (int argc, char *argv[]) { diff --git a/mcwin32/config.h b/mcwin32/config.h index 69de531..d0e81de 100644 --- a/mcwin32/config.h +++ b/mcwin32/config.h @@ -80,6 +80,8 @@ const char * mc_EXTHELPERSDIR(void); #define LIBEXECDIR mc_LIBEXECDIR() /* /lib/mc */ #define EXTHELPERSDIR mc_EXTHELPERSDIR() /* ???, 4.8.7 */ +extern void WIN32_Setup(void); + extern FILE * win32_popen(const char *cmd, const char *mode); extern int win32_pclose(FILE *file); From e00717e745e89d2567529bc85ccd831eab56213f Mon Sep 17 00:00:00 2001 From: adamyg Date: Sun, 10 Mar 2024 15:05:38 +0800 Subject: [PATCH 33/47] build --- .github/workflows/build.yml | 2 +- mcwin32/Makefile.in | 2 +- mcwin32/buildinfo.pl | 11 ++++++++--- mcwin32/releases/mc-inno-setup.iss | 4 ++-- 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d76312e..7109046 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -109,7 +109,7 @@ jobs: choco install innosetup --version=5.6.1 --force cd mcwin32 @rem .\support\gmake-42 release package - "%programfiles(x86)%\Inno Setup 5\ISCC" -DBUILD_INFO=1 -DBUILD_TYPE=release -DBUILD_TOOLCHAIN=${{ matrix.config.toolchain }} ".\releases\mc-inno-setup.iss" + "%programfiles(x86)%\Inno Setup 5\ISCC" -DBUILD_INFO=1 -DBUILD_TYPE=release ".\releases\mc-inno-setup.iss" - name: Release artifacts if: startsWith(matrix.config.name, 'Windows Latest MSVC') || startsWith(matrix.config.name, 'Windows Latest OWC') diff --git a/mcwin32/Makefile.in b/mcwin32/Makefile.in index 13cb712..6ec170b 100644 --- a/mcwin32/Makefile.in +++ b/mcwin32/Makefile.in @@ -914,7 +914,7 @@ clean: $(MAKE) -C libz clean $(MAKE) -C libw32 clean $(MAKE) -C diff clean - $(MAKE) -C kbtest clean + $(MAKE) -C src/kbtest clean $(MAKE) -C autoupdater clean -$(RM) $(MSGOBJS) $(MSGDIRS) $(QUIETOUT) -$(RM) $(CONFIGURATION) $(QUIETOUT) diff --git a/mcwin32/buildinfo.pl b/mcwin32/buildinfo.pl index b1a19c0..9658626 100644 --- a/mcwin32/buildinfo.pl +++ b/mcwin32/buildinfo.pl @@ -1,6 +1,6 @@ #!/usr/bin/perl -w # -*- mode: perl; -*- -# $Id: buildinfo.pl,v 1.10 2024/01/16 15:18:03 cvsuser Exp $ +# $Id: buildinfo.pl,v 1.11 2024/03/09 17:58:47 cvsuser Exp $ # buildinfo generation # # Copyright Adam Young 2018 - 2024 @@ -131,8 +131,13 @@ #define ${prefix}BUILD_NUMBER "${buildnumber}" EOT - print FILE "#define BUILD_TOOLCHAIN \"${buildtoolchain}\"\n" - if ($buildtoolchain); + if ($buildtoolchain) { + my $buildtoolname = $buildtoolchain; + $buildtoolname =~ s/^\.//; + + print FILE "#define BUILD_TOOLCHAIN \"${buildtoolchain}\"\n"; + print FILE "#define BUILD_TOOLNAME \"${buildtoolname}\"\n"; + } if ($buildtype) { print FILE "#define BUILD_TYPE \"${buildtype}\"\n"; diff --git a/mcwin32/releases/mc-inno-setup.iss b/mcwin32/releases/mc-inno-setup.iss index 5735475..8203376 100644 --- a/mcwin32/releases/mc-inno-setup.iss +++ b/mcwin32/releases/mc-inno-setup.iss @@ -52,8 +52,8 @@ DefaultGroupName=Midnight Commander LicenseFile=..\{#BinDir}\doc\COPYING OutputDir=. -#if defined(BUILD_TOOLCHAIN) -OutputBaseFilename=mcwin32-build{#BUILD_NUMBER}-{#BUILD_TOOLCHAIN}-setup +#if defined(BUILD_TOOLNAME) +OutputBaseFilename=mcwin32-build{#BUILD_NUMBER}-{#BUILD_TOOLNAME}-setup #else OutputBaseFilename=mcwin32-build{#BUILD_NUMBER}-setup #endif From 8e5d4eaee6fa56af530d367043e61102ffc8bf4e Mon Sep 17 00:00:00 2001 From: adamyg Date: Tue, 12 Mar 2024 23:55:37 +0800 Subject: [PATCH 34/47] mcdiff LICENSE --- mcwin32/doc/LICENSE.diff | 63 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 mcwin32/doc/LICENSE.diff diff --git a/mcwin32/doc/LICENSE.diff b/mcwin32/doc/LICENSE.diff new file mode 100644 index 0000000..bb0a295 --- /dev/null +++ b/mcwin32/doc/LICENSE.diff @@ -0,0 +1,63 @@ +/*- + * SPDX-License-Identifier: BSD-4-Clause + * + * Copyright (C) Caldera International Inc. 2001-2002. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code and documentation must retain the above + * copyright notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed or owned by Caldera + * International, Inc. + * 4. Neither the name of Caldera International, Inc. nor the names of other + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA + * INTERNATIONAL, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL CALDERA INTERNATIONAL, INC. BE LIABLE FOR ANY DIRECT, + * INDIRECT INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +/*- + * Copyright (c) 1991, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ From 76d61d4d6538646ef99f1ce6ba571b0c3cce77c0 Mon Sep 17 00:00:00 2001 From: adamyg Date: Thu, 14 Mar 2024 21:58:04 +0800 Subject: [PATCH 35/47] popen diagnostics --- mcwin32/src/win32_utl.c | 47 ++++++++++++++++------------------------- 1 file changed, 18 insertions(+), 29 deletions(-) diff --git a/mcwin32/src/win32_utl.c b/mcwin32/src/win32_utl.c index a5221b1..ccf1f4e 100644 --- a/mcwin32/src/win32_utl.c +++ b/mcwin32/src/win32_utl.c @@ -1317,7 +1317,7 @@ mc_isscript(const char *cmd) /** - * unquote an excaped command line; yet retain any existing quoted elements. + * unquote an escaped command line; yet retain any existing quoted elements. */ char * my_unquote(const char *cmd, int quotews) @@ -1537,16 +1537,15 @@ win32_pclose(FILE *file) * text is prepended to the error message from the pipe */ void -error_pipe_open(void) +win32_ptrace(void) { - pe_open = 0; // open stream + pe_open = 0; /* open stream */ } int -error_pipe_close(int error, const char *text) +win32_perror(int error, const char *msg) { - const char *title; int len; EnterCriticalSection(&pe_guard); @@ -1554,42 +1553,32 @@ error_pipe_close(int error, const char *text) pe_open = -1; pe_stream = NULL; LeaveCriticalSection(&pe_guard); - if (len < 0) { - return 0; + if (len <= 0) { + return 0; /* nothing to show */ } - if (error < 0 || (error > 0 && (error & D_ERROR) != 0)) { - title = MSG_ERROR; - } else { - title = _("Warning"); - } - - if (error < 0) { - return 0; /* just ignore error message */ - } - - /* Show message from pipe */ - if (text == NULL) { - if (len <= 0) { - return 0; /* Nothing to show */ - } + if (NULL == msg) { pe_buffer[len] = 0; - text = pe_buffer; + msg = pe_buffer; - } else { /* Show given text and possible message from pipe */ - const size_t textlen = strlen(text); + } else { /* show given text and possible message from pipe */ + const size_t textlen = strlen(msg); if (textlen + len < sizeof(pe_buffer)) { memmove(pe_buffer + textlen + 1, (const char *)pe_buffer, len); - memmove(pe_buffer, text, textlen); - len += textlen + 1; + memmove(pe_buffer, msg, textlen); + len += textlen + 1; pe_buffer[textlen] = '\n'; pe_buffer[len] = 0; - text = pe_buffer; + msg = pe_buffer; } } - query_dialog(title, text, D_NORMAL, 1, _("&Ok")); + if (error) { + query_dialog(MSG_ERROR, msg, D_ERROR, 1, _("&Dismiss")); + } else { + query_dialog(_("Warning"), msg, D_NORMAL, 1, _("&Ok")); + } return 1; } From 9e5d5c9d7cd57b4b7bf173127b529d07c0dcb6fe Mon Sep 17 00:00:00 2001 From: adamyg Date: Thu, 14 Mar 2024 21:58:24 +0800 Subject: [PATCH 36/47] popen cmd quoting --- mcwin32/libw32/w32_popen.c | 121 +++++++++++++++++++++++++++++-------- 1 file changed, 96 insertions(+), 25 deletions(-) diff --git a/mcwin32/libw32/w32_popen.c b/mcwin32/libw32/w32_popen.c index 3d595de..84ff8cd 100644 --- a/mcwin32/libw32/w32_popen.c +++ b/mcwin32/libw32/w32_popen.c @@ -1,5 +1,5 @@ #include -__CIDENT_RCSID(gr_w32_popen_c,"$Id: w32_popen.c,v 1.16 2024/03/03 11:29:13 cvsuser Exp $") +__CIDENT_RCSID(gr_w32_popen_c,"$Id: w32_popen.c,v 1.17 2024/03/14 13:52:42 cvsuser Exp $") /* -*- mode: c; indent-width: 4; -*- */ /* @@ -220,15 +220,15 @@ PipeA(const char *cmd, const char *mode) for (++mode; *mode; ++mode) { switch (*mode) { - case 't': //text mode. + case 't': // text mode. if (textOrBinary) goto einvalid; textOrBinary = 't'; break; - case 'b': //binary mode. + case 'b': // binary mode. if (textOrBinary) goto einvalid; textOrBinary = 'b'; break; - case 'e': //ignore, close on exec (linux) + case 'e': // ignore, close on exec (linux) break; default: return NULL; @@ -246,15 +246,45 @@ PipeA(const char *cmd, const char *mode) // detect the type of shell argv[0] = shell; if (w32_iscommand(shell)) { - argv[1] = "/C"; - if (NULL == strstr("2>&1", cmd)) { // redirect stderr to stdout ? */ - argv[2] = cmd; - } else { - argv[2] = cmd2 = WIN32_STRDUP(cmd); - memcpy(strstr("2>&1", cmd2), " ", 4); + // String is processed by examining the first character to verify whether it is an opening quotation mark. + // If the first character is an opening quotation mark, it is stripped along with the closing quotation mark. + // Any text following the closing quotation marks is preserved. + const char *arg = cmd; + size_t len = strlen(arg); + + // redirect stderr to stdout + if (NULL != strstr(arg, "2>&1")) { + if (NULL == (cmd2 = WIN32_STRDUP(arg))) + goto enomem; + for (char *o = strstr(cmd2, "2>&1"), *i = o + 4;; ++i, ++o) { + if (0 == (*o = *i)) // remove 2>&1 + break; + } + len -= 4; + while (len && ' ' == cmd2[len - 1]) { + cmd2[--len] = 0; // trim trailing white-space. + } redirect_error = TRUE; + assert(strlen(cmd2) == len); + arg = cmd2; + } + + // encase within quotes "cmd"\0. + if (strcspn(arg, "\" ") != len) { + if (NULL == cmd2 && NULL == (cmd2 = (char *)malloc(sizeof(char) * (len + 3)))) + goto enomem; // note: size of buffer (len + 4) if cmd2 != NULL + (void) memmove(cmd2 + 1, arg, sizeof(char) * len); + cmd2[0] = '"'; + cmd2[len + 1] = '"'; + cmd2[len + 2] = 0; + assert(strlen(cmd2) == (len + 2)); + arg = cmd2; } + + argv[1] = "/c"; + argv[2] = arg; argv[3] = NULL; + } else { argv[1] = "-i"; argv[2] = cmd; @@ -282,9 +312,9 @@ PipeA(const char *cmd, const char *mode) if ('r' == p->readOrWrite) { const int fd = _open_osfhandle((OSFHANDLE)out_read, _O_NOINHERIT | ('b' == textOrBinary ? _O_BINARY : _O_TEXT) | _O_RDONLY); - if (-1 == fd) goto pipe_error; + out_read = INVALID_HANDLE_VALUE; // fd has ownership if (NULL == (p->file = _fdopen( // readable end of the pipe fd, 'b' == textOrBinary ? "rb" : "rt"))) { @@ -295,9 +325,9 @@ PipeA(const char *cmd, const char *mode) } else { const int fd = _open_osfhandle((OSFHANDLE)in_write, _O_NOINHERIT | ('b' == textOrBinary ? _O_BINARY : _O_TEXT)); - if (-1 == fd) goto pipe_error; + in_write = INVALID_HANDLE_VALUE; // fd has ownership if (NULL == (p->file = _fdopen( // writeable end of the pipe fd, 'b' == textOrBinary ? "wb" : "wt"))) { @@ -347,6 +377,11 @@ PipeA(const char *cmd, const char *mode) errno = EINVAL; return NULL; +enomem: + free(p); + errno = ENOMEM; + return NULL; + #endif /*USE_NATIVE_POPEN*/ } @@ -384,15 +419,15 @@ PipeW(const wchar_t *cmd, const char *mode) for (++mode; *mode; ++mode) { switch (*mode) { - case 't': //text mode. + case 't': // text mode. if (textOrBinary) goto einvalid; textOrBinary = 't'; break; - case 'b': //binary mode. + case 'b': // binary mode. if (textOrBinary) goto einvalid; textOrBinary = 'b'; break; - case 'e': //ignore, close on exec (linux) + case 'e': // ignore, close on exec (linux) break; default: return NULL; @@ -400,25 +435,56 @@ PipeW(const wchar_t *cmd, const char *mode) } if (!textOrBinary) textOrBinary = 'b'; // optional, binary default. - if (NULL == (p = calloc(1, sizeof(*p)))) { + if (NULL == (p = (struct pipe *)calloc(1, sizeof(*p)))) return NULL; - } + p->magic = PIPE_MAGIC; p->readOrWrite = readOrWrite; p->textOrBinary = textOrBinary; // detect the type of shell argv[0] = shell; + if (w32_iscommandW(shell)) { - argv[1] = L"/C"; - if (NULL == wcsstr(L"2>&1", cmd)) { // redirect stderr to stdout ? */ - argv[2] = cmd; - } else { - argv[2] = cmd2 = WIN32_STRDUPW(cmd); - wcsncpy(wcsstr(L"2>&1", cmd2), L" ", 4); + // String is processed by examining the first character to verify whether it is an opening quotation mark. + // If the first character is an opening quotation mark, it is stripped along with the closing quotation mark. + // Any text following the closing quotation marks is preserved. + const wchar_t *arg = cmd; + size_t len = wcslen(arg); + + // redirect stderr to stdout + if (NULL != wcsstr(arg, L"2>&1")) { + if (NULL == (cmd2 = WIN32_STRDUPW(arg))) + goto enomem; + for (wchar_t *o = wcsstr(cmd2, L"2>&1"), *i = o + 4;; ++i, ++o) { + if (0 == (*o = *i)) // remove 2>&1 + break; + } + len -= 4; + while (len && ' ' == cmd2[len - 1]) { + cmd2[--len] = 0; // trim trailing white-space. + } redirect_error = TRUE; + assert(wcslen(cmd2) == len); + arg = cmd2; + } + + // encase within quotes "cmd"\0. + if (wcscspn(arg, L"\" ") != len) { + if (NULL == cmd2 && NULL == (cmd2 = (wchar_t *)malloc(sizeof(wchar_t) * (len + 3)))) + goto enomem; // note: size of buffer (len + 4) if cmd2 != NULL + (void) memmove(cmd2 + 1, arg, sizeof(wchar_t) * len); + cmd2[0] = '"'; + cmd2[len + 1] = '"'; + cmd2[len + 2] = 0; + assert(wcslen(cmd2) == (len + 2)); + arg = cmd2; } + + argv[1] = L"/c"; + argv[2] = arg; argv[3] = NULL; + } else { argv[1] = L"-i"; argv[2] = cmd; @@ -443,9 +509,9 @@ PipeW(const wchar_t *cmd, const char *mode) if ('r' == p->readOrWrite) { const int fd = _open_osfhandle((OSFHANDLE)out_read, _O_NOINHERIT | ('b' == textOrBinary ? _O_BINARY : _O_TEXT) | _O_RDONLY); - if (-1 == fd) goto pipe_error; + out_read = INVALID_HANDLE_VALUE; // fd has ownership if (NULL == (p->file = _fdopen( // readable end of the pipe fd, 'b' == textOrBinary ? "rb" : "rt"))) { @@ -456,9 +522,9 @@ PipeW(const wchar_t *cmd, const char *mode) } else { const int fd = _open_osfhandle((OSFHANDLE)in_write, _O_NOINHERIT | ('b' == textOrBinary ? _O_BINARY : _O_TEXT)); - if (-1 == fd) goto pipe_error; + in_write = INVALID_HANDLE_VALUE; // fd has ownership if (NULL == (p->file = _fdopen( // writeable end of the pipe fd, 'b' == textOrBinary ? "wb" : "wt"))) { @@ -508,6 +574,11 @@ PipeW(const wchar_t *cmd, const char *mode) errno = EINVAL; return NULL; +enomem: + free(p); + errno = ENOMEM; + return NULL; + #endif /*USE_NATIVE_POPEN*/ } From e58c91838cbe40f0abbbc6281bd207a013fea612 Mon Sep 17 00:00:00 2001 From: adamyg Date: Thu, 14 Mar 2024 21:58:35 +0800 Subject: [PATCH 37/47] popen diagnostics --- mcwin32/config.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mcwin32/config.h b/mcwin32/config.h index d0e81de..5158a35 100644 --- a/mcwin32/config.h +++ b/mcwin32/config.h @@ -84,6 +84,8 @@ extern void WIN32_Setup(void); extern FILE * win32_popen(const char *cmd, const char *mode); extern int win32_pclose(FILE *file); +extern void win32_ptrace(void); +extern int win32_perror(int error, const char *msg); #ifndef popen #define popen(__cmd,__mode) win32_popen(__cmd, __mode) From 7848f3fb57dd45e46b398d9badcb2a2c87767c16 Mon Sep 17 00:00:00 2001 From: adamyg Date: Thu, 14 Mar 2024 22:24:39 +0800 Subject: [PATCH 38/47] popen diagnostics --- mcsrc/src/diffviewer/ydiff.c | 51 ++++++++++++++++++++++++------------ 1 file changed, 34 insertions(+), 17 deletions(-) diff --git a/mcsrc/src/diffviewer/ydiff.c b/mcsrc/src/diffviewer/ydiff.c index de9fc05..f7d8f31 100644 --- a/mcsrc/src/diffviewer/ydiff.c +++ b/mcsrc/src/diffviewer/ydiff.c @@ -549,17 +549,12 @@ dview_popen (const char *cmd, int flags) if (fs == NULL) return NULL; +#if defined(WIN32) + win32_ptrace (); +#endif f = popen (cmd, type); if (f == NULL) { -#if defined(WIN32) && (0) //TODO: expand error reporting - const char *t_cmd = strstr(cmd, "mcdiff "); - char *errmsg; - - errmsg = g_strdup_printf (_("Cannot open pipe for reading: %s"), t_cmd ? t_cmd : cmd); - query_dialog (_("Error"), errmsg, D_ERROR, 1, _("&Dismiss")); - g_free (errmsg); -#endif //WIN32 dview_ffree (fs); return NULL; } @@ -579,13 +574,16 @@ dview_popen (const char *cmd, int flags) */ static int -dview_pclose (FBUF * fs) +dview_pclose (FBUF * fs, const char *cmd) { int rv = -1; if (fs != NULL) { rv = pclose (fs->data); +#if defined(WIN32) + win32_perror (rv != 0, cmd); +#endif dview_ffree (fs); } @@ -855,10 +853,7 @@ static int dff_execute (const char *args, const char *extra, const char *file1, const char *file2, GArray * ops) { -#if defined(WIN32) - static const char *opt = - " --mc-format"; -#else +#if !defined(WIN32) static const char *opt = " --old-group-format='%df%(f=l?:,%dl)d%dE\n'" " --new-group-format='%dea%dF%(F=L?:,%dL)\n'" @@ -876,7 +871,8 @@ dff_execute (const char *args, const char *extra, const char *file1, const char file1_esc = strutils_shell_escape (file1); file2_esc = strutils_shell_escape (file2); #if defined(WIN32) - cmd = g_strdup_printf ("%s %s %s %s %s %s", mcdiff(), args, extra, opt, file1_esc, file2_esc); + cmd = g_strdup_printf ("\"%s\"%s%s%s%s --mc-format \"%s\" \"%s\"", mcdiff(), + (*args ? " " : ""), args, (*extra ? " " : ""), extra, file1_esc, file2_esc); #else cmd = g_strdup_printf ("diff %s %s %s %s %s", args, extra, opt, file1_esc, file2_esc); #endif @@ -887,13 +883,34 @@ dff_execute (const char *args, const char *extra, const char *file1, const char return -1; f = dview_popen (cmd, O_RDONLY); - g_free (cmd); - +#if defined(WIN32) if (f == NULL) + { + const char *arg0 = strstr(cmd + 1, "\" "); + char *errmsg; + + if (arg0) { + errmsg = g_strdup_printf (_("Cannot open pipe for reading: %s\n%s"), mcdiff(), arg0 + 2); + } else { + errmsg = g_strdup_printf (_("Cannot open pipe for reading: %s"), cmd); + } + query_dialog (_("Error"), errmsg, D_ERROR, 1, _("&Dismiss")); + g_free (errmsg); + g_free (cmd); + return -2; // command errpr + } + +#else + if (f == NULL) + { + g_free (cmd); return -1; + } +#endif rv = scan_diff (f, ops); - code = dview_pclose (f); + code = dview_pclose (f, cmd); + g_free (cmd); if (rv < 0 || code == -1 || !WIFEXITED (code) || WEXITSTATUS (code) == 2) rv = -1; From 5e7697ac29568d5d3b7e4248ac81d778e7fe527f Mon Sep 17 00:00:00 2001 From: adamyg Date: Fri, 15 Mar 2024 02:56:13 +0800 Subject: [PATCH 39/47] 2024 --- mcwin32/libw32/arpa/ftp.h | 4 ++-- mcwin32/libw32/arpa/inet.h | 4 ++-- mcwin32/libw32/netinet/in.h | 4 ++-- mcwin32/libw32/netinet/tcp.h | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/mcwin32/libw32/arpa/ftp.h b/mcwin32/libw32/arpa/ftp.h index 182e7bf..f8d07b4 100644 --- a/mcwin32/libw32/arpa/ftp.h +++ b/mcwin32/libw32/arpa/ftp.h @@ -1,12 +1,12 @@ #ifndef LIBW32_ARPA_FTP_H_INCLUDED #define LIBW32_ARPA_FTP_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_arpa_ftp_h,"$Id: ftp.h,v 1.5 2023/11/06 15:08:43 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_arpa_ftp_h,"$Id: ftp.h,v 1.6 2024/03/14 18:54:32 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* - * Copyright (c) 1998 - 2023, Adam Young. + * Copyright (c) 1998 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/arpa/inet.h b/mcwin32/libw32/arpa/inet.h index b8443ea..d0b493a 100644 --- a/mcwin32/libw32/arpa/inet.h +++ b/mcwin32/libw32/arpa/inet.h @@ -1,12 +1,12 @@ #ifndef LIBW32_ARPA_INET_H_INCLUDED #define LIBW32_ARPA_INET_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_arpa_inet_h,"$Id: inet.h,v 1.4 2023/11/06 15:08:43 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_arpa_inet_h,"$Id: inet.h,v 1.5 2024/03/14 18:54:32 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* - * Copyright (c) 1998 - 2023, Adam Young. + * Copyright (c) 1998 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/netinet/in.h b/mcwin32/libw32/netinet/in.h index 7dd0142..8e2c6ef 100644 --- a/mcwin32/libw32/netinet/in.h +++ b/mcwin32/libw32/netinet/in.h @@ -1,14 +1,14 @@ #ifndef LIBW32_NETINET_IN_H_INCLUDED #define LIBW32_NETINET_IN_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_netinet_in_h,"$Id: in.h,v 1.6 2023/11/06 15:08:35 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_netinet_in_h,"$Id: in.h,v 1.7 2024/03/14 18:54:57 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* * netinet/in.h * - * Copyright (c) 1998 - 2023, Adam Young. + * Copyright (c) 1998 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. diff --git a/mcwin32/libw32/netinet/tcp.h b/mcwin32/libw32/netinet/tcp.h index 26a1082..dd17900 100644 --- a/mcwin32/libw32/netinet/tcp.h +++ b/mcwin32/libw32/netinet/tcp.h @@ -1,14 +1,14 @@ #ifndef LIBW32_NETINET_TCP_H_INCLUDED #define LIBW32_NETINET_TCP_H_INCLUDED #include -__CIDENT_RCSID(gr_libw32_netinet_tcp_h,"$Id: tcp.h,v 1.6 2023/11/06 15:08:35 cvsuser Exp $") +__CIDENT_RCSID(gr_libw32_netinet_tcp_h,"$Id: tcp.h,v 1.7 2024/03/14 18:54:57 cvsuser Exp $") __CPRAGMA_ONCE /* -*- mode: c; indent-width: 4; -*- */ /* * netinet/tcp.h * - * Copyright (c) 1998 - 2023, Adam Young. + * Copyright (c) 1998 - 2024, Adam Young. * All rights reserved. * * This file is part of the Midnight Commander. From 27af556af618dd19b794d18edc92a8e8c785ea2b Mon Sep 17 00:00:00 2001 From: adamyg Date: Fri, 29 Mar 2024 19:33:12 +0800 Subject: [PATCH 40/47] MBedTLS 3.5.2 --- mcwin32/libmbedtls/.cvsignore | 2 + mcwin32/libmbedtls/.gitignore | 1 + mcwin32/libmbedtls/Makefile.in | 245 +-- mcwin32/libmbedtls/Makefile.in.3.3.1 | 414 +++++ mcwin32/libmbedtls/Makefile.in.3.4.1 | 415 +++++ mcwin32/libmbedtls/Makefile.in.3.5.2 | 440 ++++++ mcwin32/libmbedtls/mbedtls-3.5.2.gr.tgz | Bin 0 -> 5586089 bytes mcwin32/libmbedtls/owc/IntSafe.h | 1407 +++++++++++++++++ mcwin32/libmbedtls/owc/WSPiApi.h | 6 + mcwin32/libmbedtls/owc/aesni.asm | 867 ++++++++++ mcwin32/libmbedtls/owc/aesni.obj | Bin 0 -> 3148 bytes mcwin32/libmbedtls/readme_3_5_2.txt | 223 +++ mcwin32/libmbedtls/win32/crypto_globals.c | 10 +- .../libmbedtls/win32/libmbedcrypto.def.3.5.2 | 1003 ++++++++++++ mcwin32/libmbedtls/win32/libmbedtls.def.3.5.2 | 436 +++++ .../libmbedtls/win32/libmbedx509.def.3.5.2 | 98 ++ mcwin32/libssh2/Makefile.in | 10 +- mcwin32/libssh2/libssh2_helper.c | 5 + mcwin32/support/mklicense.pl | 2 +- mcwin32/support/rmdir_p.pl | 2 +- 20 files changed, 5468 insertions(+), 118 deletions(-) create mode 100644 mcwin32/libmbedtls/Makefile.in.3.3.1 create mode 100644 mcwin32/libmbedtls/Makefile.in.3.4.1 create mode 100644 mcwin32/libmbedtls/Makefile.in.3.5.2 create mode 100644 mcwin32/libmbedtls/mbedtls-3.5.2.gr.tgz create mode 100644 mcwin32/libmbedtls/owc/IntSafe.h create mode 100644 mcwin32/libmbedtls/owc/WSPiApi.h create mode 100644 mcwin32/libmbedtls/owc/aesni.asm create mode 100644 mcwin32/libmbedtls/owc/aesni.obj create mode 100644 mcwin32/libmbedtls/readme_3_5_2.txt create mode 100644 mcwin32/libmbedtls/win32/libmbedcrypto.def.3.5.2 create mode 100644 mcwin32/libmbedtls/win32/libmbedtls.def.3.5.2 create mode 100644 mcwin32/libmbedtls/win32/libmbedx509.def.3.5.2 diff --git a/mcwin32/libmbedtls/.cvsignore b/mcwin32/libmbedtls/.cvsignore index 16ce7d4..384a8e1 100644 --- a/mcwin32/libmbedtls/.cvsignore +++ b/mcwin32/libmbedtls/.cvsignore @@ -4,6 +4,8 @@ mbedtls-2.27.0 mbedtls-3.2.1 mbedtls-3.3.0 mbedtls-3.4.1 +mbedtls-3.5.2 +ref .unpacked.* Makefile *.err diff --git a/mcwin32/libmbedtls/.gitignore b/mcwin32/libmbedtls/.gitignore index c372db5..04b282c 100644 --- a/mcwin32/libmbedtls/.gitignore +++ b/mcwin32/libmbedtls/.gitignore @@ -5,6 +5,7 @@ mbedtls-2.16.6*/ mbedtls-3.2.1*/ mbedtls-3.3.0/ mbedtls-3.4.1/ +mbedtls-3.5.2/ ref/ .unpacked.* Makefile diff --git a/mcwin32/libmbedtls/Makefile.in b/mcwin32/libmbedtls/Makefile.in index 97a75cb..31a9414 100644 --- a/mcwin32/libmbedtls/Makefile.in +++ b/mcwin32/libmbedtls/Makefile.in @@ -1,9 +1,9 @@ # -*- mode: mak; indent-tabs-mode: t; tab-width: 8 -*- -# $Id: Makefile.in,v 1.17 2023/10/02 12:11:28 cvsuser Exp $ +# $Id: Makefile.in,v 1.18 2024/03/29 11:25:59 cvsuser Exp $ # libmbedtls makefile. # # -# Copyright (c) 2017 - 2023 Adam Young. +# Copyright (c) 2017 - 2024 Adam Young. # All rights reserved. # # This file is part of the Midnight Commander. @@ -79,6 +79,9 @@ D_OBJ= $(ROOT)/obj@TOOLCHAINEXT@/$(BUILD_TYPE)/libmbedtls XFLAGS= CFLAGS= @CFLAGS@ +ifeq (mingw,$(findstring mingw,"@TOOLCHAIN@")) +CFLAGS+= -mpclmul -msse2 -maes +endif CWARN= @CWARN@ CDEBUG= @CDEBUG@ CRELEASE= @CRELEASE@ @@ -86,6 +89,9 @@ LDDEBUG= @LDDEBUG@ LDRELEASE= @LDRELEASE@ CINCLUDE= -I. -I$(D_INC) @CINCLUDE@ +ifeq (owc,$(findstring owc,"@TOOLCHAIN@")) +CINCLUDE+= -I.\owc +endif CEXTRA= @DEFS@ ifeq ("$(BUILD_TYPE)","release") CFLAGS+= $(CRELEASE) $(CWARN) $(CINCLUDE) $(CEXTRA) $(XFLAGS) @@ -94,7 +100,7 @@ else CFLAGS+= $(CDEBUG) $(CWARN) $(CINCLUDE) $(CEXTRA) $(XFLAGS) LDFLAGS= $(LDDEBUG) @LDFLAGS@ endif -LDLIBS= -L$(D_LIB) @LIBS@ @LIBM@ @EXTRALIBS@ +LDLIBS= -L$(D_LIB) BCrypt.lib @LIBS@ @LIBM@ @EXTRALIBS@ ARFLAGS= rcv RMFLAGS= -f @@ -112,7 +118,7 @@ MBEDX509DLL= $(D_LIB)/$(LP)mbedx509.la MBEDTLSLIB= $(D_LIB)/$(LP)mbedtls_static$(A) MBEDTLSDLL= $(D_LIB)/$(LP)mbedtls.la -VERSION= 3.4.1 +VERSION= 3.5.2 VERSION_1 =$(word 1,$(subst ., ,$(VERSION))) VERSION_2 =$(word 2,$(subst ., ,$(VERSION))) VERSION_3 =$(word 3,$(subst ., ,$(VERSION))) @@ -132,120 +138,134 @@ VPATH+= $(MBEDBASE)/programs/test VPATH+= ./win32 #see: library/CMakelists.txt -CRYPTO_SOURCES= \ - aes.c \ - aesni.c \ - aria.c \ - asn1parse.c \ - asn1write.c \ - base64.c \ - bignum.c \ - bignum_core.c \ - bignum_mod.c \ - bignum_mod_raw.c \ - camellia.c \ - ccm.c \ - chacha20.c \ - chachapoly.c \ - cipher.c \ - cipher_wrap.c \ - constant_time.c \ - cmac.c \ - ctr_drbg.c \ - des.c \ - dhm.c \ - ecdh.c \ - ecdsa.c \ - ecjpake.c \ - ecp.c \ - ecp_curves.c \ - entropy.c \ - entropy_poll.c \ - error.c \ - gcm.c \ - hash_info.c \ - hkdf.c \ - hmac_drbg.c \ - lmots.c \ - lms.c \ - md.c \ - md5.c \ - memory_buffer_alloc.c \ - nist_kw.c \ - oid.c \ - padlock.c \ - pem.c \ - pk.c \ - pk_wrap.c \ - pkcs12.c \ - pkcs5.c \ - pkparse.c \ - pkwrite.c \ - platform.c \ - platform_util.c \ - poly1305.c \ - psa_crypto.c \ - psa_crypto_aead.c \ - psa_crypto_cipher.c \ - psa_crypto_client.c \ - psa_crypto_driver_wrappers.c \ - psa_crypto_ecp.c \ - psa_crypto_hash.c \ - psa_crypto_mac.c \ - psa_crypto_pake.c \ - psa_crypto_rsa.c \ - psa_crypto_se.c \ - psa_crypto_slot_management.c \ - psa_crypto_storage.c \ - psa_its_file.c \ - psa_util.c \ - ripemd160.c \ - rsa.c \ - rsa_alt_helpers.c \ - sha1.c \ - sha256.c \ - sha512.c \ - threading.c \ - timing.c \ - version.c \ +COMMON_SOURCES=\ + constant_time.c + +CRYPTO_SOURCES=\ + aes.c \ + aesce.c \ + aria.c \ + asn1parse.c \ + asn1write.c \ + base64.c \ + bignum.c \ + bignum_core.c \ + bignum_mod.c \ + bignum_mod_raw.c \ + camellia.c \ + ccm.c \ + chacha20.c \ + chachapoly.c \ + cipher.c \ + cipher_wrap.c \ + cmac.c \ + ctr_drbg.c \ + des.c \ + dhm.c \ + ecdh.c \ + ecdsa.c \ + ecjpake.c \ + ecp.c \ + ecp_curves.c \ + ecp_curves_new.c \ + entropy.c \ + entropy_poll.c \ + error.c \ + gcm.c \ + hkdf.c \ + hmac_drbg.c \ + lmots.c \ + lms.c \ + md.c \ + md5.c \ + memory_buffer_alloc.c \ + nist_kw.c \ + oid.c \ + padlock.c \ + pem.c \ + pk.c \ + pk_wrap.c \ + pkcs12.c \ + pkcs5.c \ + pkparse.c \ + pkwrite.c \ + platform.c \ + platform_util.c \ + poly1305.c \ + psa_crypto.c \ + psa_crypto_aead.c \ + psa_crypto_cipher.c \ + psa_crypto_client.c \ + psa_crypto_driver_wrappers_no_static.c \ + psa_crypto_ecp.c \ + psa_crypto_ffdh.c \ + psa_crypto_hash.c \ + psa_crypto_mac.c \ + psa_crypto_pake.c \ + psa_crypto_rsa.c \ + psa_crypto_se.c \ + psa_crypto_slot_management.c \ + psa_crypto_storage.c \ + psa_its_file.c \ + psa_util.c \ + ripemd160.c \ + rsa.c \ + rsa_alt_helpers.c \ + sha1.c \ + sha256.c \ + sha512.c \ + sha3.c \ + threading.c \ + timing.c \ + version.c \ version_features.c +ifneq (owc,$(findstring owc,"@TOOLCHAIN@")) +CRYPTO_SOURCES+=\ + aesni.c +endif + X509_SOURCES=\ - pkcs7.c \ - x509.c \ - x509_create.c \ - x509_crl.c \ - x509_crt.c \ - x509_csr.c \ - x509write_crt.c \ - x509write_csr.c \ + pkcs7.c \ + x509.c \ + x509_create.c \ + x509_crl.c \ + x509_crt.c \ + x509_csr.c \ + x509write.c \ + x509write_crt.c \ + x509write_csr.c TLS_SOURCES=\ - debug.c \ - mps_reader.c \ - mps_trace.c \ - net_sockets.c \ - ssl_cache.c \ - ssl_ciphersuites.c \ - ssl_client.c \ - ssl_cookie.c \ - ssl_debug_helpers_generated.c \ - ssl_msg.c \ - ssl_ticket.c \ - ssl_tls.c \ - ssl_tls12_client.c \ - ssl_tls12_server.c \ - ssl_tls13_keys.c \ - ssl_tls13_server.c \ - ssl_tls13_client.c \ + debug.c \ + mps_reader.c \ + mps_trace.c \ + net_sockets.c \ + ssl_cache.c \ + ssl_ciphersuites.c \ + ssl_client.c \ + ssl_cookie.c \ + ssl_debug_helpers_generated.c \ + ssl_msg.c \ + ssl_ticket.c \ + ssl_tls.c \ + ssl_tls12_client.c \ + ssl_tls12_server.c \ + ssl_tls13_keys.c \ + ssl_tls13_server.c \ + ssl_tls13_client.c \ ssl_tls13_generic.c ####### -CRYPTO_LIBOBJS=\ - $(addprefix $(D_OBJ)/,$(subst .c,$(O),$(CRYPTO_SOURCES))) -CRYPTO_DLLOBJS=\ +CRYPTO_LIBOBJS:=\ + $(addprefix $(D_OBJ)/,$(subst .c,$(O),$(CRYPTO_SOURCES) $(COMMON_SOURCES))) +CRYPTO_DLLOBJS:=\ $(subst $(O),.lo,$(CRYPTO_LIBOBJS)) \ $(D_OBJ)/crypto_globals.lo +ifeq (owc,$(findstring owc,"@TOOLCHAIN@")) +CRYPTO_LIBOBJS+=$(D_OBJ)/owc_aesni.obj +CRYPTO_DLLOBJS+=$(D_OBJ)/owc_aesni.obj +endif ifeq ("win32","@build_os@") ifeq (mingw,$(findstring mingw,"@TOOLCHAIN@")) CRYPTO_DLLOBJS+=$(D_OBJ)/libmbedtls_res.o @@ -256,7 +276,7 @@ endif ####### X509_LIBOBJS=\ - $(addprefix $(D_OBJ)/,$(subst .c,$(O),$(X509_SOURCES))) + $(addprefix $(D_OBJ)/,$(subst .c,$(O),$(X509_SOURCES) $(COMMON_SOURCES))) X509_DLLOBJS=\ $(subst $(O),.lo,$(X509_LIBOBJS)) \ $(D_OBJ)/alignment_linkage.lo \ @@ -271,7 +291,7 @@ endif ####### TLS_LIBOBJS=\ - $(addprefix $(D_OBJ)/,$(subst .c,$(O),$(TLS_SOURCES))) + $(addprefix $(D_OBJ)/,$(subst .c,$(O),$(TLS_SOURCES) $(COMMON_SOURCES))) TLS_DLLOBJS=\ $(subst $(O),.lo,$(TLS_LIBOBJS)) \ $(D_OBJ)/alignment_linkage.lo @@ -327,6 +347,11 @@ $(MBEDCRYPTOLIB): $(CRYPTO_LIBOBJS) $(RM) $(RMFLAGS) $@ $(QUIETOUT) $(AR) $(ARFLAGS) $@ $^ $(RANLIB) $@ + +ifeq (owc,$(findstring owc,"@TOOLCHAIN@")) +$(D_OBJ)/owc_aesni.obj: owc\aesni.obj + @cp owc\aesni.obj $(D_OBJ)\owc_aesni.obj +endif INSTALLED+= $(D_BIN)/libmbedcrypto.$(VERSION).dll $(MBEDCRYPTODLL): LIBNAME=libmbedcrypto diff --git a/mcwin32/libmbedtls/Makefile.in.3.3.1 b/mcwin32/libmbedtls/Makefile.in.3.3.1 new file mode 100644 index 0000000..70fa33a --- /dev/null +++ b/mcwin32/libmbedtls/Makefile.in.3.3.1 @@ -0,0 +1,414 @@ +# -*- mode: mak; indent-tabs-mode: t; tab-width: 8 -*- +# $Id: Makefile.in,v 1.17 2023/10/02 12:11:28 cvsuser Exp $ +# libmbedtls makefile. +# +# +# Copyright (c) 2017 - 2023 Adam Young. +# All rights reserved. +# +# This file is part of the Midnight Commander. +# +# The Midnight Commander is free software: you can redistribute it +# and/or modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 3 of the License, +# or (at your option) any later version. +# +# The Midnight Commander is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# ==end== +# + +@SET_MAKE@ +ROOT= @abs_top_builddir@ +top_builddir= @top_builddir@ + +# File extensions + +E= +O= .o +H= .h +A= .a +LP= lib + +CLEAN= *.bak *~ *.BAK *.swp *.tmp core *.core a.out +XCLEAN= + +# Compilers, programs + +CC= @CC@ +AR= @AR@ +RANLIB= @RANLIB@ +RM= @RM@ +PERL= @PERL@ +LIBTOOL= @LIBTOOL@ +RC= @RC@ + +# Configuration + +ifeq ("$(BUILD_TYPE)","") #default +BUILD_TYPE= debug +MAKEFLAGS+= BUILD_TYPE=debug +endif +ifneq ("$(BUILD_TYPE)","release") +RTSUFFIX=d +endif + +QUIETOUT:= >/dev/null 2>&1 +ifeq ($(VERBOSE),1) +QUIETOUT:= +else ifeq ($(VERBOSE),0) +else ifeq ($(VERBOSE),) +else +$(error VERBOSE: unexpected value 0 or 1 required, $(VERBOSE) given])) +endif + +# Directories + +D_INC= $(ROOT)/include +D_BIN= $(ROOT)/bin@TOOLCHAINEXT@/$(BUILD_TYPE) +D_LIB= $(ROOT)/lib@TOOLCHAINEXT@/$(BUILD_TYPE) +D_OBJ= $(ROOT)/obj@TOOLCHAINEXT@/$(BUILD_TYPE)/libmbedtls + +# Common flags + +XFLAGS= + +CFLAGS= @CFLAGS@ +CWARN= @CWARN@ +CDEBUG= @CDEBUG@ +CRELEASE= @CRELEASE@ +LDDEBUG= @LDDEBUG@ +LDRELEASE= @LDRELEASE@ + +CINCLUDE= -I. -I$(D_INC) @CINCLUDE@ +CEXTRA= @DEFS@ +ifeq ("$(BUILD_TYPE)","release") +CFLAGS+= $(CRELEASE) $(CWARN) $(CINCLUDE) $(CEXTRA) $(XFLAGS) +LDFLAGS= $(LDRELEASE) @LDFLAGS@ +else +CFLAGS+= $(CDEBUG) $(CWARN) $(CINCLUDE) $(CEXTRA) $(XFLAGS) +LDFLAGS= $(LDDEBUG) @LDFLAGS@ +endif +LDLIBS= -L$(D_LIB) @LIBS@ @LIBM@ @EXTRALIBS@ + +ARFLAGS= rcv +RMFLAGS= -f + + +######################################################################################### +# Targets + +MBEDCRYPTOLIB= $(D_LIB)/$(LP)mbedcrypto_static$(A) +MBEDCRYPTODLL= $(D_LIB)/$(LP)mbedcrypto.la + +MBEDX509LIB= $(D_LIB)/$(LP)mbedx509_static$(A) +MBEDX509DLL= $(D_LIB)/$(LP)mbedx509.la + +MBEDTLSLIB= $(D_LIB)/$(LP)mbedtls_static$(A) +MBEDTLSDLL= $(D_LIB)/$(LP)mbedtls.la + +VERSION= 3.3.1 +VERSION_1 =$(word 1,$(subst ., ,$(VERSION))) +VERSION_2 =$(word 2,$(subst ., ,$(VERSION))) +VERSION_3 =$(word 3,$(subst ., ,$(VERSION))) +VERSIONSPEC= $(subst .,:,$(VERSION)) +VERPACKED= mbedtls-$(VERSION).gr.tgz + +MBEDBASE= ./mbedtls-$(VERSION) +MBEDSRC= $(MBEDBASE)/library +MBEDINCLUDE= $(MBEDBASE)/include + +CINCLUDE+= -I./win32 -I$(MBEDINCLUDE) +CEXTRA+= -DLIBMBED_WIN32 -DLIBMBED_HAVE_ZLIB +CEXTRA+= -DMBEDTLS_EXPORTS -DKRML_VERIFIED_UINT128 + +VPATH+= $(MBEDSRC) +VPATH+= $(MBEDBASE)/programs/test +VPATH+= ./win32 + +#see: library/CMakelists.txt +CRYPTO_SOURCES= \ + aes.c \ + aesni.c \ + aria.c \ + asn1parse.c \ + asn1write.c \ + base64.c \ + bignum.c \ + bignum_core.c \ + bignum_mod.c \ + bignum_mod_raw.c \ + camellia.c \ + ccm.c \ + chacha20.c \ + chachapoly.c \ + cipher.c \ + cipher_wrap.c \ + constant_time.c \ + cmac.c \ + ctr_drbg.c \ + des.c \ + dhm.c \ + ecdh.c \ + ecdsa.c \ + ecjpake.c \ + ecp.c \ + ecp_curves.c \ + entropy.c \ + entropy_poll.c \ + error.c \ + gcm.c \ + hash_info.c \ + hkdf.c \ + hmac_drbg.c \ + lmots.c \ + lms.c \ + md.c \ + md5.c \ + memory_buffer_alloc.c \ + nist_kw.c \ + oid.c \ + padlock.c \ + pem.c \ + pk.c \ + pk_wrap.c \ + pkcs12.c \ + pkcs5.c \ + pkparse.c \ + pkwrite.c \ + platform.c \ + platform_util.c \ + poly1305.c \ + psa_crypto.c \ + psa_crypto_aead.c \ + psa_crypto_cipher.c \ + psa_crypto_client.c \ + psa_crypto_driver_wrappers.c \ + psa_crypto_ecp.c \ + psa_crypto_hash.c \ + psa_crypto_mac.c \ + psa_crypto_pake.c \ + psa_crypto_rsa.c \ + psa_crypto_se.c \ + psa_crypto_slot_management.c \ + psa_crypto_storage.c \ + psa_its_file.c \ + ripemd160.c \ + rsa.c \ + rsa_alt_helpers.c \ + sha1.c \ + sha256.c \ + sha512.c \ + threading.c \ + timing.c \ + version.c \ + version_features.c + +X509_SOURCES=\ + pkcs7.c \ + x509.c \ + x509_create.c \ + x509_crl.c \ + x509_crt.c \ + x509_csr.c \ + x509write_crt.c \ + x509write_csr.c \ + +TLS_SOURCES=\ + debug.c \ + mps_reader.c \ + mps_trace.c \ + net_sockets.c \ + ssl_cache.c \ + ssl_ciphersuites.c \ + ssl_client.c \ + ssl_cookie.c \ + ssl_debug_helpers_generated.c \ + ssl_msg.c \ + ssl_ticket.c \ + ssl_tls.c \ + ssl_tls12_client.c \ + ssl_tls12_server.c \ + ssl_tls13_keys.c \ + ssl_tls13_server.c \ + ssl_tls13_client.c \ + ssl_tls13_generic.c + +####### +CRYPTO_LIBOBJS=\ + $(addprefix $(D_OBJ)/,$(subst .c,$(O),$(CRYPTO_SOURCES))) +CRYPTO_DLLOBJS=\ + $(subst $(O),.lo,$(CRYPTO_LIBOBJS)) \ + $(D_OBJ)/crypto_globals.lo +ifeq ("win32","@build_os@") +ifeq (mingw,$(findstring mingw,"@TOOLCHAIN@")) +CRYPTO_DLLOBJS+=$(D_OBJ)/libmbedtls_res.o +else +CRYPTO_DLLOBJS+=$(D_OBJ)/libmbedtls.res +endif +endif + +####### +X509_LIBOBJS=\ + $(addprefix $(D_OBJ)/,$(subst .c,$(O),$(X509_SOURCES))) +X509_DLLOBJS=\ + $(subst $(O),.lo,$(X509_LIBOBJS)) \ + $(D_OBJ)/alignment_linkage.lo \ + $(D_OBJ)/x509_globals.lo +ifeq ("win32","@build_os@") +ifeq (mingw,$(findstring mingw,"@TOOLCHAIN@")) +X509_DLLOBJS+= $(D_OBJ)/libmbedtls_res.o +else +X509_DLLOBJS+= $(D_OBJ)/libmbedtls.res +endif +endif + +####### +TLS_LIBOBJS=\ + $(addprefix $(D_OBJ)/,$(subst .c,$(O),$(TLS_SOURCES))) +TLS_DLLOBJS=\ + $(subst $(O),.lo,$(TLS_LIBOBJS)) \ + $(D_OBJ)/alignment_linkage.lo +ifeq ("win32","@build_os@") +ifeq (mingw,$(findstring mingw,"@TOOLCHAIN@")) +TLS_DLLOBJS+= $(D_OBJ)/libmbedtls_res.o +else +TLS_DLLOBJS+= $(D_OBJ)/libmbedtls.res +endif +endif + +### +LIBOBJS= $(CRYPTO_LIBOBJS) \ + $(X509_LIBOBJS) \ + $(TLS_LIBOBJS) + +DLLOBJS= $(CRYPTO_DLLOBJS) \ + $(X509_DLLOBJS) \ + $(TLS_DLLOBJS) + +LIBS= $(MBEDCRYPTOLIB) \ + $(MBEDX509LIB) \ + $(MBEDTLSLIB) + +DLLS= $(MBEDCRYPTODLL) \ + $(MBEDX509DLL) \ + $(MBEDTLSDLL) + +TARGET= mbedtls_selftest$(E) +TARGETOBJS= $(D_OBJ)/selftest$(O) + +TSKS= $(D_BIN)/$(TARGET) +INSTALLED= + + +######################################################################################### +# Rules + +.PHONY: build release debug +build: source unpacked +unpacked: object $(LIBS) $(DLLS) $(TSKS) installinc + +release: + $(MAKE) BUILD_TYPE=release $(filter-out release, $(MAKECMDGOALS)) +debug: + $(MAKE) BUILD_TYPE=debug $(filter-out debug, $(MAKECMDGOALS)) + +CEXTRA += -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE + +####### +$(MBEDCRYPTOLIB): CEXTRA += -DLIBMBED_STATIC -DLIBMBEDCRYPTO_SOURCE +$(MBEDCRYPTOLIB): $(CRYPTO_LIBOBJS) + $(RM) $(RMFLAGS) $@ $(QUIETOUT) + $(AR) $(ARFLAGS) $@ $^ + $(RANLIB) $@ + +INSTALLED+= $(D_BIN)/libmbedcrypto.$(VERSION).dll +$(MBEDCRYPTODLL): LIBNAME=libmbedcrypto +$(MBEDCRYPTODLL): LIBDEF=-export-symbols win32/libmbedcrypto.def.$(VERSION) +$(MBEDCRYPTODLL): CEXTRA += -DLIBMBED_DYNAMIC -DLIBMBEDCRYPTO_SOURCE -D_WINDLL +$(MBEDCRYPTODLL): $(CRYPTO_DLLOBJS) + $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -version-number $(VERSIONSPEC) \ + -rpath $(D_LIB) -bindir $(D_BIN) $(LIBDEF) -o $@ $^ $(LDLIBS) + +####### +$(MBEDX509LIB): CEXTRA += -DLIBMBED_STATIC -DLIBMBEDX509_SOURCE -DLIBMBEDX509 +$(MBEDX509LIB): $(X509_LIBOBJS) + $(RM) $(RMFLAGS) $@ $(QUIETOUT) + $(AR) $(ARFLAGS) $@ $^ + $(RANLIB) $@ + +INSTALLED+= $(D_BIN)/libmbedx509.$(VERSION).dll +$(MBEDX509DLL): LIBNAME=libmbedx509 +$(MBEDX509DLL): LIBDEF=-export-symbols win32/libmbedx509.def.$(VERSION) +$(MBEDX509DLL): CEXTRA += -DLIBMBED_DYNAMIC -DLIBMBEDX509_SOURCE -D_WINDLL +$(MBEDX509DLL): $(X509_DLLOBJS) + $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -version-number $(VERSIONSPEC) \ + -rpath $(D_LIB) -bindir $(D_BIN) $(LIBDEF) -o $@ $^ -lmbedcrypto $(LDLIBS) + +####### +$(MBEDTLSLIB): CEXTRA += -DLIBMBED_STATIC -DLIBMBEDTLS_SOURCE +$(MBEDTLSLIB): $(TLS_LIBOBJS) + $(RM) $(RMFLAGS) $@ $(QUIETOUT) + $(AR) $(ARFLAGS) $@ $^ + $(RANLIB) $@ + +INSTALLED+= $(D_BIN)/libmbedtls.$(VERSION).dll +$(MBEDTLSDLL): LIBNAME=libmbedtls +$(MBEDTLSDLL): LIBDEF=-export-symbols win32/libmbedtls.def.$(VERSION) +$(MBEDTLSDLL): CEXTRA += -DLIBMBED_DYNAMIC -DLIBMBEDTLS_SOURCE -DLIBMBEDTLS -D_WINDLL +$(MBEDTLSDLL): $(TLS_DLLOBJS) + $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -version-number $(VERSIONSPEC) \ + -rpath $(D_LIB) -bindir $(D_BIN) $(LIBDEF) -o $@ $^ -lmbedcrypto -lmbedx509 $(LDLIBS) + +####### +$(D_BIN)/$(TARGET): MAPFILE=$(basename $@).map +$(D_BIN)/$(TARGET): $(D_OBJ)/.created $(TARGETOBJS) + $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -o $@ $(TARGETOBJS) $(LDFLAGS) -lmbedtls -lmbedcrypto -lmbedx509 $(LDLIBS) @LDMAPFILE@ + +####### +source: .unpacked.$(VERSION) + $(MAKE) unpacked + +.unpacked.$(VERSION): $(VERPACKED) + @echo "do not delete, managed file" > $@ + @echo "unpacking source $(VERPACKED)" + @gzip -c -d $(VERPACKED) | tar -xvf - + +.PHONY: object +object: $(D_OBJ)/.created + +.PHONY: installinc +installinc: ../include/.created ../include/mbedtls/.created + @echo publishing headers ... + -cp $(MBEDINCLUDE)/mbedtls/*.h ../include/mbedtls + -cp ./win32/*.h ../include/mbedtls + +%/.created: + -@mkdir $(@D) + @echo "do not delete, managed directory" > $@ + +clean: + @echo $(BUILD_TYPE) clean + -@$(LIBTOOL) --mode=clean $(RM) $(DLLS) $(DLLOBJS) $(QUIETOUT) + -@$(RM) $(RMFLAGS) $(BAK) $(TSKS) $(INSTALLED) $(LIBS) $(CLEAN) $(XCLEAN) $(QUIETOUT) + -@$(RM) $(LIBOBJS) $(QUIETOUT) + -@$(RM) ../include/mbedtls/* $(QUIETOUT) + +$(D_OBJ)/%$(O): %.c + $(CC) $(CFLAGS) -o $@ -c $< + +$(D_OBJ)/%.lo: %.c + $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) -o $@ -c $< + +$(D_OBJ)/%.res: %.rc + $(RC) -DLIBNAME=$(LIBNAME) -DVERSION=$(VERSION) -DVERSION_1=$(VERSION_1) -DVERSION_2=$(VERSION_2) -DVERSION_3=$(VERSION_3) -fo $@ $< + +$(D_OBJ)/%_res.o: %.rc + $(RC) -DLIBNAME=$(LIBNAME) -DVERSION=$(VERSION) -DVERSION_1=$(VERSION_1) -DVERSION_2=$(VERSION_2) -DVERSION_3=$(VERSION_3) -o $@ $< + +#end diff --git a/mcwin32/libmbedtls/Makefile.in.3.4.1 b/mcwin32/libmbedtls/Makefile.in.3.4.1 new file mode 100644 index 0000000..97a75cb --- /dev/null +++ b/mcwin32/libmbedtls/Makefile.in.3.4.1 @@ -0,0 +1,415 @@ +# -*- mode: mak; indent-tabs-mode: t; tab-width: 8 -*- +# $Id: Makefile.in,v 1.17 2023/10/02 12:11:28 cvsuser Exp $ +# libmbedtls makefile. +# +# +# Copyright (c) 2017 - 2023 Adam Young. +# All rights reserved. +# +# This file is part of the Midnight Commander. +# +# The Midnight Commander is free software: you can redistribute it +# and/or modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 3 of the License, +# or (at your option) any later version. +# +# The Midnight Commander is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# ==end== +# + +@SET_MAKE@ +ROOT= @abs_top_builddir@ +top_builddir= @top_builddir@ + +# File extensions + +E= +O= .o +H= .h +A= .a +LP= lib + +CLEAN= *.bak *~ *.BAK *.swp *.tmp core *.core a.out +XCLEAN= + +# Compilers, programs + +CC= @CC@ +AR= @AR@ +RANLIB= @RANLIB@ +RM= @RM@ +PERL= @PERL@ +LIBTOOL= @LIBTOOL@ +RC= @RC@ + +# Configuration + +ifeq ("$(BUILD_TYPE)","") #default +BUILD_TYPE= debug +MAKEFLAGS+= BUILD_TYPE=debug +endif +ifneq ("$(BUILD_TYPE)","release") +RTSUFFIX=d +endif + +QUIETOUT:= >/dev/null 2>&1 +ifeq ($(VERBOSE),1) +QUIETOUT:= +else ifeq ($(VERBOSE),0) +else ifeq ($(VERBOSE),) +else +$(error VERBOSE: unexpected value 0 or 1 required, $(VERBOSE) given])) +endif + +# Directories + +D_INC= $(ROOT)/include +D_BIN= $(ROOT)/bin@TOOLCHAINEXT@/$(BUILD_TYPE) +D_LIB= $(ROOT)/lib@TOOLCHAINEXT@/$(BUILD_TYPE) +D_OBJ= $(ROOT)/obj@TOOLCHAINEXT@/$(BUILD_TYPE)/libmbedtls + +# Common flags + +XFLAGS= + +CFLAGS= @CFLAGS@ +CWARN= @CWARN@ +CDEBUG= @CDEBUG@ +CRELEASE= @CRELEASE@ +LDDEBUG= @LDDEBUG@ +LDRELEASE= @LDRELEASE@ + +CINCLUDE= -I. -I$(D_INC) @CINCLUDE@ +CEXTRA= @DEFS@ +ifeq ("$(BUILD_TYPE)","release") +CFLAGS+= $(CRELEASE) $(CWARN) $(CINCLUDE) $(CEXTRA) $(XFLAGS) +LDFLAGS= $(LDRELEASE) @LDFLAGS@ +else +CFLAGS+= $(CDEBUG) $(CWARN) $(CINCLUDE) $(CEXTRA) $(XFLAGS) +LDFLAGS= $(LDDEBUG) @LDFLAGS@ +endif +LDLIBS= -L$(D_LIB) @LIBS@ @LIBM@ @EXTRALIBS@ + +ARFLAGS= rcv +RMFLAGS= -f + + +######################################################################################### +# Targets + +MBEDCRYPTOLIB= $(D_LIB)/$(LP)mbedcrypto_static$(A) +MBEDCRYPTODLL= $(D_LIB)/$(LP)mbedcrypto.la + +MBEDX509LIB= $(D_LIB)/$(LP)mbedx509_static$(A) +MBEDX509DLL= $(D_LIB)/$(LP)mbedx509.la + +MBEDTLSLIB= $(D_LIB)/$(LP)mbedtls_static$(A) +MBEDTLSDLL= $(D_LIB)/$(LP)mbedtls.la + +VERSION= 3.4.1 +VERSION_1 =$(word 1,$(subst ., ,$(VERSION))) +VERSION_2 =$(word 2,$(subst ., ,$(VERSION))) +VERSION_3 =$(word 3,$(subst ., ,$(VERSION))) +VERSIONSPEC= $(subst .,:,$(VERSION)) +VERPACKED= mbedtls-$(VERSION).gr.tgz + +MBEDBASE= ./mbedtls-$(VERSION) +MBEDSRC= $(MBEDBASE)/library +MBEDINCLUDE= $(MBEDBASE)/include + +CINCLUDE+= -I./win32 -I$(MBEDINCLUDE) +CEXTRA+= -DLIBMBED_WIN32 -DLIBMBED_HAVE_ZLIB +CEXTRA+= -DMBEDTLS_EXPORTS -DKRML_VERIFIED_UINT128 + +VPATH+= $(MBEDSRC) +VPATH+= $(MBEDBASE)/programs/test +VPATH+= ./win32 + +#see: library/CMakelists.txt +CRYPTO_SOURCES= \ + aes.c \ + aesni.c \ + aria.c \ + asn1parse.c \ + asn1write.c \ + base64.c \ + bignum.c \ + bignum_core.c \ + bignum_mod.c \ + bignum_mod_raw.c \ + camellia.c \ + ccm.c \ + chacha20.c \ + chachapoly.c \ + cipher.c \ + cipher_wrap.c \ + constant_time.c \ + cmac.c \ + ctr_drbg.c \ + des.c \ + dhm.c \ + ecdh.c \ + ecdsa.c \ + ecjpake.c \ + ecp.c \ + ecp_curves.c \ + entropy.c \ + entropy_poll.c \ + error.c \ + gcm.c \ + hash_info.c \ + hkdf.c \ + hmac_drbg.c \ + lmots.c \ + lms.c \ + md.c \ + md5.c \ + memory_buffer_alloc.c \ + nist_kw.c \ + oid.c \ + padlock.c \ + pem.c \ + pk.c \ + pk_wrap.c \ + pkcs12.c \ + pkcs5.c \ + pkparse.c \ + pkwrite.c \ + platform.c \ + platform_util.c \ + poly1305.c \ + psa_crypto.c \ + psa_crypto_aead.c \ + psa_crypto_cipher.c \ + psa_crypto_client.c \ + psa_crypto_driver_wrappers.c \ + psa_crypto_ecp.c \ + psa_crypto_hash.c \ + psa_crypto_mac.c \ + psa_crypto_pake.c \ + psa_crypto_rsa.c \ + psa_crypto_se.c \ + psa_crypto_slot_management.c \ + psa_crypto_storage.c \ + psa_its_file.c \ + psa_util.c \ + ripemd160.c \ + rsa.c \ + rsa_alt_helpers.c \ + sha1.c \ + sha256.c \ + sha512.c \ + threading.c \ + timing.c \ + version.c \ + version_features.c + +X509_SOURCES=\ + pkcs7.c \ + x509.c \ + x509_create.c \ + x509_crl.c \ + x509_crt.c \ + x509_csr.c \ + x509write_crt.c \ + x509write_csr.c \ + +TLS_SOURCES=\ + debug.c \ + mps_reader.c \ + mps_trace.c \ + net_sockets.c \ + ssl_cache.c \ + ssl_ciphersuites.c \ + ssl_client.c \ + ssl_cookie.c \ + ssl_debug_helpers_generated.c \ + ssl_msg.c \ + ssl_ticket.c \ + ssl_tls.c \ + ssl_tls12_client.c \ + ssl_tls12_server.c \ + ssl_tls13_keys.c \ + ssl_tls13_server.c \ + ssl_tls13_client.c \ + ssl_tls13_generic.c + +####### +CRYPTO_LIBOBJS=\ + $(addprefix $(D_OBJ)/,$(subst .c,$(O),$(CRYPTO_SOURCES))) +CRYPTO_DLLOBJS=\ + $(subst $(O),.lo,$(CRYPTO_LIBOBJS)) \ + $(D_OBJ)/crypto_globals.lo +ifeq ("win32","@build_os@") +ifeq (mingw,$(findstring mingw,"@TOOLCHAIN@")) +CRYPTO_DLLOBJS+=$(D_OBJ)/libmbedtls_res.o +else +CRYPTO_DLLOBJS+=$(D_OBJ)/libmbedtls.res +endif +endif + +####### +X509_LIBOBJS=\ + $(addprefix $(D_OBJ)/,$(subst .c,$(O),$(X509_SOURCES))) +X509_DLLOBJS=\ + $(subst $(O),.lo,$(X509_LIBOBJS)) \ + $(D_OBJ)/alignment_linkage.lo \ + $(D_OBJ)/x509_globals.lo +ifeq ("win32","@build_os@") +ifeq (mingw,$(findstring mingw,"@TOOLCHAIN@")) +X509_DLLOBJS+= $(D_OBJ)/libmbedtls_res.o +else +X509_DLLOBJS+= $(D_OBJ)/libmbedtls.res +endif +endif + +####### +TLS_LIBOBJS=\ + $(addprefix $(D_OBJ)/,$(subst .c,$(O),$(TLS_SOURCES))) +TLS_DLLOBJS=\ + $(subst $(O),.lo,$(TLS_LIBOBJS)) \ + $(D_OBJ)/alignment_linkage.lo +ifeq ("win32","@build_os@") +ifeq (mingw,$(findstring mingw,"@TOOLCHAIN@")) +TLS_DLLOBJS+= $(D_OBJ)/libmbedtls_res.o +else +TLS_DLLOBJS+= $(D_OBJ)/libmbedtls.res +endif +endif + +### +LIBOBJS= $(CRYPTO_LIBOBJS) \ + $(X509_LIBOBJS) \ + $(TLS_LIBOBJS) + +DLLOBJS= $(CRYPTO_DLLOBJS) \ + $(X509_DLLOBJS) \ + $(TLS_DLLOBJS) + +LIBS= $(MBEDCRYPTOLIB) \ + $(MBEDX509LIB) \ + $(MBEDTLSLIB) + +DLLS= $(MBEDCRYPTODLL) \ + $(MBEDX509DLL) \ + $(MBEDTLSDLL) + +TARGET= mbedtls_selftest$(E) +TARGETOBJS= $(D_OBJ)/selftest$(O) + +TSKS= $(D_BIN)/$(TARGET) +INSTALLED= + + +######################################################################################### +# Rules + +.PHONY: build release debug +build: source unpacked +unpacked: object $(LIBS) $(DLLS) $(TSKS) installinc + +release: + $(MAKE) BUILD_TYPE=release $(filter-out release, $(MAKECMDGOALS)) +debug: + $(MAKE) BUILD_TYPE=debug $(filter-out debug, $(MAKECMDGOALS)) + +CEXTRA += -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE + +####### +$(MBEDCRYPTOLIB): CEXTRA += -DLIBMBED_STATIC -DLIBMBEDCRYPTO_SOURCE +$(MBEDCRYPTOLIB): $(CRYPTO_LIBOBJS) + $(RM) $(RMFLAGS) $@ $(QUIETOUT) + $(AR) $(ARFLAGS) $@ $^ + $(RANLIB) $@ + +INSTALLED+= $(D_BIN)/libmbedcrypto.$(VERSION).dll +$(MBEDCRYPTODLL): LIBNAME=libmbedcrypto +$(MBEDCRYPTODLL): LIBDEF=-export-symbols win32/libmbedcrypto.def.$(VERSION) +$(MBEDCRYPTODLL): CEXTRA += -DLIBMBED_DYNAMIC -DLIBMBEDCRYPTO_SOURCE -D_WINDLL +$(MBEDCRYPTODLL): $(CRYPTO_DLLOBJS) + $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -version-number $(VERSIONSPEC) \ + -rpath $(D_LIB) -bindir $(D_BIN) $(LIBDEF) -o $@ $^ $(LDLIBS) + +####### +$(MBEDX509LIB): CEXTRA += -DLIBMBED_STATIC -DLIBMBEDX509_SOURCE -DLIBMBEDX509 +$(MBEDX509LIB): $(X509_LIBOBJS) + $(RM) $(RMFLAGS) $@ $(QUIETOUT) + $(AR) $(ARFLAGS) $@ $^ + $(RANLIB) $@ + +INSTALLED+= $(D_BIN)/libmbedx509.$(VERSION).dll +$(MBEDX509DLL): LIBNAME=libmbedx509 +$(MBEDX509DLL): LIBDEF=-export-symbols win32/libmbedx509.def.$(VERSION) +$(MBEDX509DLL): CEXTRA += -DLIBMBED_DYNAMIC -DLIBMBEDX509_SOURCE -D_WINDLL +$(MBEDX509DLL): $(X509_DLLOBJS) + $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -version-number $(VERSIONSPEC) \ + -rpath $(D_LIB) -bindir $(D_BIN) $(LIBDEF) -o $@ $^ -lmbedcrypto $(LDLIBS) + +####### +$(MBEDTLSLIB): CEXTRA += -DLIBMBED_STATIC -DLIBMBEDTLS_SOURCE +$(MBEDTLSLIB): $(TLS_LIBOBJS) + $(RM) $(RMFLAGS) $@ $(QUIETOUT) + $(AR) $(ARFLAGS) $@ $^ + $(RANLIB) $@ + +INSTALLED+= $(D_BIN)/libmbedtls.$(VERSION).dll +$(MBEDTLSDLL): LIBNAME=libmbedtls +$(MBEDTLSDLL): LIBDEF=-export-symbols win32/libmbedtls.def.$(VERSION) +$(MBEDTLSDLL): CEXTRA += -DLIBMBED_DYNAMIC -DLIBMBEDTLS_SOURCE -DLIBMBEDTLS -D_WINDLL +$(MBEDTLSDLL): $(TLS_DLLOBJS) + $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -version-number $(VERSIONSPEC) \ + -rpath $(D_LIB) -bindir $(D_BIN) $(LIBDEF) -o $@ $^ -lmbedcrypto -lmbedx509 $(LDLIBS) + +####### +$(D_BIN)/$(TARGET): MAPFILE=$(basename $@).map +$(D_BIN)/$(TARGET): $(D_OBJ)/.created $(TARGETOBJS) + $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -o $@ $(TARGETOBJS) $(LDFLAGS) -lmbedtls -lmbedcrypto -lmbedx509 $(LDLIBS) @LDMAPFILE@ + +####### +source: .unpacked.$(VERSION) + $(MAKE) unpacked + +.unpacked.$(VERSION): $(VERPACKED) + @echo "do not delete, managed file" > $@ + @echo "unpacking source $(VERPACKED)" + @gzip -c -d $(VERPACKED) | tar -xvf - + +.PHONY: object +object: $(D_OBJ)/.created + +.PHONY: installinc +installinc: ../include/.created ../include/mbedtls/.created + @echo publishing headers ... + -cp $(MBEDINCLUDE)/mbedtls/*.h ../include/mbedtls + -cp ./win32/*.h ../include/mbedtls + +%/.created: + -@mkdir $(@D) + @echo "do not delete, managed directory" > $@ + +clean: + @echo $(BUILD_TYPE) clean + -@$(LIBTOOL) --mode=clean $(RM) $(DLLS) $(DLLOBJS) $(QUIETOUT) + -@$(RM) $(RMFLAGS) $(BAK) $(TSKS) $(INSTALLED) $(LIBS) $(CLEAN) $(XCLEAN) $(QUIETOUT) + -@$(RM) $(LIBOBJS) $(QUIETOUT) + -@$(RM) ../include/mbedtls/* $(QUIETOUT) + +$(D_OBJ)/%$(O): %.c + $(CC) $(CFLAGS) -o $@ -c $< + +$(D_OBJ)/%.lo: %.c + $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) -o $@ -c $< + +$(D_OBJ)/%.res: %.rc + $(RC) -DLIBNAME=$(LIBNAME) -DVERSION=$(VERSION) -DVERSION_1=$(VERSION_1) -DVERSION_2=$(VERSION_2) -DVERSION_3=$(VERSION_3) -fo $@ $< + +$(D_OBJ)/%_res.o: %.rc + $(RC) -DLIBNAME=$(LIBNAME) -DVERSION=$(VERSION) -DVERSION_1=$(VERSION_1) -DVERSION_2=$(VERSION_2) -DVERSION_3=$(VERSION_3) -o $@ $< + +#end diff --git a/mcwin32/libmbedtls/Makefile.in.3.5.2 b/mcwin32/libmbedtls/Makefile.in.3.5.2 new file mode 100644 index 0000000..5e48873 --- /dev/null +++ b/mcwin32/libmbedtls/Makefile.in.3.5.2 @@ -0,0 +1,440 @@ +# -*- mode: mak; indent-tabs-mode: t; tab-width: 8 -*- +# $Id: Makefile.in,v 1.17 2023/10/02 12:11:28 cvsuser Exp $ +# libmbedtls makefile. +# +# +# Copyright (c) 2017 - 2024 Adam Young. +# All rights reserved. +# +# This file is part of the Midnight Commander. +# +# The Midnight Commander is free software: you can redistribute it +# and/or modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 3 of the License, +# or (at your option) any later version. +# +# The Midnight Commander is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# ==end== +# + +@SET_MAKE@ +ROOT= @abs_top_builddir@ +top_builddir= @top_builddir@ + +# File extensions + +E= +O= .o +H= .h +A= .a +LP= lib + +CLEAN= *.bak *~ *.BAK *.swp *.tmp core *.core a.out +XCLEAN= + +# Compilers, programs + +CC= @CC@ +AR= @AR@ +RANLIB= @RANLIB@ +RM= @RM@ +PERL= @PERL@ +LIBTOOL= @LIBTOOL@ +RC= @RC@ + +# Configuration + +ifeq ("$(BUILD_TYPE)","") #default +BUILD_TYPE= debug +MAKEFLAGS+= BUILD_TYPE=debug +endif +ifneq ("$(BUILD_TYPE)","release") +RTSUFFIX=d +endif + +QUIETOUT:= >/dev/null 2>&1 +ifeq ($(VERBOSE),1) +QUIETOUT:= +else ifeq ($(VERBOSE),0) +else ifeq ($(VERBOSE),) +else +$(error VERBOSE: unexpected value 0 or 1 required, $(VERBOSE) given])) +endif + +# Directories + +D_INC= $(ROOT)/include +D_BIN= $(ROOT)/bin@TOOLCHAINEXT@/$(BUILD_TYPE) +D_LIB= $(ROOT)/lib@TOOLCHAINEXT@/$(BUILD_TYPE) +D_OBJ= $(ROOT)/obj@TOOLCHAINEXT@/$(BUILD_TYPE)/libmbedtls + +# Common flags + +XFLAGS= + +CFLAGS= @CFLAGS@ +ifeq (mingw,$(findstring mingw,"@TOOLCHAIN@")) +CFLAGS+= -mpclmul -msse2 -maes +endif +CWARN= @CWARN@ +CDEBUG= @CDEBUG@ +CRELEASE= @CRELEASE@ +LDDEBUG= @LDDEBUG@ +LDRELEASE= @LDRELEASE@ + +CINCLUDE= -I. -I$(D_INC) @CINCLUDE@ +ifeq (owc,$(findstring owc,"@TOOLCHAIN@")) +CINCLUDE+= -I.\owc +endif +CEXTRA= @DEFS@ +ifeq ("$(BUILD_TYPE)","release") +CFLAGS+= $(CRELEASE) $(CWARN) $(CINCLUDE) $(CEXTRA) $(XFLAGS) +LDFLAGS= $(LDRELEASE) @LDFLAGS@ +else +CFLAGS+= $(CDEBUG) $(CWARN) $(CINCLUDE) $(CEXTRA) $(XFLAGS) +LDFLAGS= $(LDDEBUG) @LDFLAGS@ +endif +LDLIBS= -L$(D_LIB) BCrypt.lib @LIBS@ @LIBM@ @EXTRALIBS@ + +ARFLAGS= rcv +RMFLAGS= -f + + +######################################################################################### +# Targets + +MBEDCRYPTOLIB= $(D_LIB)/$(LP)mbedcrypto_static$(A) +MBEDCRYPTODLL= $(D_LIB)/$(LP)mbedcrypto.la + +MBEDX509LIB= $(D_LIB)/$(LP)mbedx509_static$(A) +MBEDX509DLL= $(D_LIB)/$(LP)mbedx509.la + +MBEDTLSLIB= $(D_LIB)/$(LP)mbedtls_static$(A) +MBEDTLSDLL= $(D_LIB)/$(LP)mbedtls.la + +VERSION= 3.5.2 +VERSION_1 =$(word 1,$(subst ., ,$(VERSION))) +VERSION_2 =$(word 2,$(subst ., ,$(VERSION))) +VERSION_3 =$(word 3,$(subst ., ,$(VERSION))) +VERSIONSPEC= $(subst .,:,$(VERSION)) +VERPACKED= mbedtls-$(VERSION).gr.tgz + +MBEDBASE= ./mbedtls-$(VERSION) +MBEDSRC= $(MBEDBASE)/library +MBEDINCLUDE= $(MBEDBASE)/include + +CINCLUDE+= -I./win32 -I$(MBEDINCLUDE) +CEXTRA+= -DLIBMBED_WIN32 -DLIBMBED_HAVE_ZLIB +CEXTRA+= -DMBEDTLS_EXPORTS -DKRML_VERIFIED_UINT128 + +VPATH+= $(MBEDSRC) +VPATH+= $(MBEDBASE)/programs/test +VPATH+= ./win32 + +#see: library/CMakelists.txt +COMMON_SOURCES=\ + constant_time.c + +CRYPTO_SOURCES=\ + aes.c \ + aesce.c \ + aria.c \ + asn1parse.c \ + asn1write.c \ + base64.c \ + bignum.c \ + bignum_core.c \ + bignum_mod.c \ + bignum_mod_raw.c \ + camellia.c \ + ccm.c \ + chacha20.c \ + chachapoly.c \ + cipher.c \ + cipher_wrap.c \ + cmac.c \ + ctr_drbg.c \ + des.c \ + dhm.c \ + ecdh.c \ + ecdsa.c \ + ecjpake.c \ + ecp.c \ + ecp_curves.c \ + ecp_curves_new.c \ + entropy.c \ + entropy_poll.c \ + error.c \ + gcm.c \ + hkdf.c \ + hmac_drbg.c \ + lmots.c \ + lms.c \ + md.c \ + md5.c \ + memory_buffer_alloc.c \ + nist_kw.c \ + oid.c \ + padlock.c \ + pem.c \ + pk.c \ + pk_wrap.c \ + pkcs12.c \ + pkcs5.c \ + pkparse.c \ + pkwrite.c \ + platform.c \ + platform_util.c \ + poly1305.c \ + psa_crypto.c \ + psa_crypto_aead.c \ + psa_crypto_cipher.c \ + psa_crypto_client.c \ + psa_crypto_driver_wrappers_no_static.c \ + psa_crypto_ecp.c \ + psa_crypto_ffdh.c \ + psa_crypto_hash.c \ + psa_crypto_mac.c \ + psa_crypto_pake.c \ + psa_crypto_rsa.c \ + psa_crypto_se.c \ + psa_crypto_slot_management.c \ + psa_crypto_storage.c \ + psa_its_file.c \ + psa_util.c \ + ripemd160.c \ + rsa.c \ + rsa_alt_helpers.c \ + sha1.c \ + sha256.c \ + sha512.c \ + sha3.c \ + threading.c \ + timing.c \ + version.c \ + version_features.c + +ifneq (owc,$(findstring owc,"@TOOLCHAIN@")) +CRYPTO_SOURCES+=\ + aesni.c +endif + +X509_SOURCES=\ + pkcs7.c \ + x509.c \ + x509_create.c \ + x509_crl.c \ + x509_crt.c \ + x509_csr.c \ + x509write.c \ + x509write_crt.c \ + x509write_csr.c + +TLS_SOURCES=\ + debug.c \ + mps_reader.c \ + mps_trace.c \ + net_sockets.c \ + ssl_cache.c \ + ssl_ciphersuites.c \ + ssl_client.c \ + ssl_cookie.c \ + ssl_debug_helpers_generated.c \ + ssl_msg.c \ + ssl_ticket.c \ + ssl_tls.c \ + ssl_tls12_client.c \ + ssl_tls12_server.c \ + ssl_tls13_keys.c \ + ssl_tls13_server.c \ + ssl_tls13_client.c \ + ssl_tls13_generic.c + +####### +CRYPTO_LIBOBJS:=\ + $(addprefix $(D_OBJ)/,$(subst .c,$(O),$(CRYPTO_SOURCES) $(COMMON_SOURCES))) +CRYPTO_DLLOBJS:=\ + $(subst $(O),.lo,$(CRYPTO_LIBOBJS)) \ + $(D_OBJ)/crypto_globals.lo +ifeq (owc,$(findstring owc,"@TOOLCHAIN@")) +CRYPTO_LIBOBJS+=$(D_OBJ)/owc_aesni.obj +CRYPTO_DLLOBJS+=$(D_OBJ)/owc_aesni.obj +endif +ifeq ("win32","@build_os@") +ifeq (mingw,$(findstring mingw,"@TOOLCHAIN@")) +CRYPTO_DLLOBJS+=$(D_OBJ)/libmbedtls_res.o +else +CRYPTO_DLLOBJS+=$(D_OBJ)/libmbedtls.res +endif +endif + +####### +X509_LIBOBJS=\ + $(addprefix $(D_OBJ)/,$(subst .c,$(O),$(X509_SOURCES) $(COMMON_SOURCES))) +X509_DLLOBJS=\ + $(subst $(O),.lo,$(X509_LIBOBJS)) \ + $(D_OBJ)/alignment_linkage.lo \ + $(D_OBJ)/x509_globals.lo +ifeq ("win32","@build_os@") +ifeq (mingw,$(findstring mingw,"@TOOLCHAIN@")) +X509_DLLOBJS+= $(D_OBJ)/libmbedtls_res.o +else +X509_DLLOBJS+= $(D_OBJ)/libmbedtls.res +endif +endif + +####### +TLS_LIBOBJS=\ + $(addprefix $(D_OBJ)/,$(subst .c,$(O),$(TLS_SOURCES) $(COMMON_SOURCES))) +TLS_DLLOBJS=\ + $(subst $(O),.lo,$(TLS_LIBOBJS)) \ + $(D_OBJ)/alignment_linkage.lo +ifeq ("win32","@build_os@") +ifeq (mingw,$(findstring mingw,"@TOOLCHAIN@")) +TLS_DLLOBJS+= $(D_OBJ)/libmbedtls_res.o +else +TLS_DLLOBJS+= $(D_OBJ)/libmbedtls.res +endif +endif + +### +LIBOBJS= $(CRYPTO_LIBOBJS) \ + $(X509_LIBOBJS) \ + $(TLS_LIBOBJS) + +DLLOBJS= $(CRYPTO_DLLOBJS) \ + $(X509_DLLOBJS) \ + $(TLS_DLLOBJS) + +LIBS= $(MBEDCRYPTOLIB) \ + $(MBEDX509LIB) \ + $(MBEDTLSLIB) + +DLLS= $(MBEDCRYPTODLL) \ + $(MBEDX509DLL) \ + $(MBEDTLSDLL) + +TARGET= mbedtls_selftest$(E) +TARGETOBJS= $(D_OBJ)/selftest$(O) + +TSKS= $(D_BIN)/$(TARGET) +INSTALLED= + + +######################################################################################### +# Rules + +.PHONY: build release debug +build: source unpacked +unpacked: object $(LIBS) $(DLLS) $(TSKS) installinc + +release: + $(MAKE) BUILD_TYPE=release $(filter-out release, $(MAKECMDGOALS)) +debug: + $(MAKE) BUILD_TYPE=debug $(filter-out debug, $(MAKECMDGOALS)) + +CEXTRA += -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE + +####### +$(MBEDCRYPTOLIB): CEXTRA += -DLIBMBED_STATIC -DLIBMBEDCRYPTO_SOURCE +$(MBEDCRYPTOLIB): $(CRYPTO_LIBOBJS) + $(RM) $(RMFLAGS) $@ $(QUIETOUT) + $(AR) $(ARFLAGS) $@ $^ + $(RANLIB) $@ + +ifeq (owc,$(findstring owc,"@TOOLCHAIN@")) +$(D_OBJ)/owc_aesni.obj: owc\aesni.obj + @cp owc\aesni.obj $(D_OBJ)\owc_aesni.obj +endif + +INSTALLED+= $(D_BIN)/libmbedcrypto.$(VERSION).dll +$(MBEDCRYPTODLL): LIBNAME=libmbedcrypto +$(MBEDCRYPTODLL): LIBDEF=-export-symbols win32/libmbedcrypto.def.$(VERSION) +$(MBEDCRYPTODLL): CEXTRA += -DLIBMBED_DYNAMIC -DLIBMBEDCRYPTO_SOURCE -D_WINDLL +$(MBEDCRYPTODLL): $(CRYPTO_DLLOBJS) + $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -version-number $(VERSIONSPEC) \ + -rpath $(D_LIB) -bindir $(D_BIN) $(LIBDEF) -o $@ $^ $(LDLIBS) + +####### +$(MBEDX509LIB): CEXTRA += -DLIBMBED_STATIC -DLIBMBEDX509_SOURCE -DLIBMBEDX509 +$(MBEDX509LIB): $(X509_LIBOBJS) + $(RM) $(RMFLAGS) $@ $(QUIETOUT) + $(AR) $(ARFLAGS) $@ $^ + $(RANLIB) $@ + +INSTALLED+= $(D_BIN)/libmbedx509.$(VERSION).dll +$(MBEDX509DLL): LIBNAME=libmbedx509 +$(MBEDX509DLL): LIBDEF=-export-symbols win32/libmbedx509.def.$(VERSION) +$(MBEDX509DLL): CEXTRA += -DLIBMBED_DYNAMIC -DLIBMBEDX509_SOURCE -D_WINDLL +$(MBEDX509DLL): $(X509_DLLOBJS) + $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -version-number $(VERSIONSPEC) \ + -rpath $(D_LIB) -bindir $(D_BIN) $(LIBDEF) -o $@ $^ -lmbedcrypto $(LDLIBS) + +####### +$(MBEDTLSLIB): CEXTRA += -DLIBMBED_STATIC -DLIBMBEDTLS_SOURCE +$(MBEDTLSLIB): $(TLS_LIBOBJS) + $(RM) $(RMFLAGS) $@ $(QUIETOUT) + $(AR) $(ARFLAGS) $@ $^ + $(RANLIB) $@ + +INSTALLED+= $(D_BIN)/libmbedtls.$(VERSION).dll +$(MBEDTLSDLL): LIBNAME=libmbedtls +$(MBEDTLSDLL): LIBDEF=-export-symbols win32/libmbedtls.def.$(VERSION) +$(MBEDTLSDLL): CEXTRA += -DLIBMBED_DYNAMIC -DLIBMBEDTLS_SOURCE -DLIBMBEDTLS -D_WINDLL +$(MBEDTLSDLL): $(TLS_DLLOBJS) + $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -version-number $(VERSIONSPEC) \ + -rpath $(D_LIB) -bindir $(D_BIN) $(LIBDEF) -o $@ $^ -lmbedcrypto -lmbedx509 $(LDLIBS) + +####### +$(D_BIN)/$(TARGET): MAPFILE=$(basename $@).map +$(D_BIN)/$(TARGET): $(D_OBJ)/.created $(TARGETOBJS) + $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -o $@ $(TARGETOBJS) $(LDFLAGS) -lmbedtls -lmbedcrypto -lmbedx509 $(LDLIBS) @LDMAPFILE@ + +####### +source: .unpacked.$(VERSION) + $(MAKE) unpacked + +.unpacked.$(VERSION): $(VERPACKED) + @echo "do not delete, managed file" > $@ + @echo "unpacking source $(VERPACKED)" + @gzip -c -d $(VERPACKED) | tar -xvf - + +.PHONY: object +object: $(D_OBJ)/.created + +.PHONY: installinc +installinc: ../include/.created ../include/mbedtls/.created + @echo publishing headers ... + -cp $(MBEDINCLUDE)/mbedtls/*.h ../include/mbedtls + -cp ./win32/*.h ../include/mbedtls + +%/.created: + -@mkdir $(@D) + @echo "do not delete, managed directory" > $@ + +clean: + @echo $(BUILD_TYPE) clean + -@$(LIBTOOL) --mode=clean $(RM) $(DLLS) $(DLLOBJS) $(QUIETOUT) + -@$(RM) $(RMFLAGS) $(BAK) $(TSKS) $(INSTALLED) $(LIBS) $(CLEAN) $(XCLEAN) $(QUIETOUT) + -@$(RM) $(LIBOBJS) $(QUIETOUT) + -@$(RM) ../include/mbedtls/* $(QUIETOUT) + +$(D_OBJ)/%$(O): %.c + $(CC) $(CFLAGS) -o $@ -c $< + +$(D_OBJ)/%.lo: %.c + $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) -o $@ -c $< + +$(D_OBJ)/%.res: %.rc + $(RC) -DLIBNAME=$(LIBNAME) -DVERSION=$(VERSION) -DVERSION_1=$(VERSION_1) -DVERSION_2=$(VERSION_2) -DVERSION_3=$(VERSION_3) -fo $@ $< + +$(D_OBJ)/%_res.o: %.rc + $(RC) -DLIBNAME=$(LIBNAME) -DVERSION=$(VERSION) -DVERSION_1=$(VERSION_1) -DVERSION_2=$(VERSION_2) -DVERSION_3=$(VERSION_3) -o $@ $< + +#end diff --git a/mcwin32/libmbedtls/mbedtls-3.5.2.gr.tgz b/mcwin32/libmbedtls/mbedtls-3.5.2.gr.tgz new file mode 100644 index 0000000000000000000000000000000000000000..f5d2ba15ba5c86f4664e60328a98c0ade1fa89c1 GIT binary patch literal 5586089 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

@pXrBS;zWu;_mM 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

+;PU8Ygzg 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�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 lr%%sRCFdaaqJ{9zpV z3L9N58PgHgWIZ9XUCae_#&>2e&iL3lEXFJ;$M92ao7?p*9RmB~axS4s`OLZgjGT*u z<&2VoGkEZkOu#yHJQ;6~gw3X0{blC@TWuBOimK0NIDBK@aZU=F+{mSZ4BOAWQYD(mjDrXt7Syt4*y~QT{PQZT#S)$ zhN{;|IA!b|(G~bztKB+8<$sDsr7kfN1c#MHNM9muGu`&m4VWga`7L~;^enW+x)ZWh z{k;Uf7J9nCmV(s*NT8fU0s-*Xv!(!-Vbgh|Pj+F|7YS9L0kQlS;sI2Remp zePHCM*Xu<G!7q8mjU2(nC`Q5qzK z_fVtbm(6hfIG>ijmIGY&f?UCO<0+udUFtJA+--p4pRp&`scXjk>iN^3@fsxs%t?*A zY&ZdF2HmHwDJ)lfbrlU_wtv~q(#}UbH+aR|j{R_+%IzvnnQ*+6J3QqF1v(6>!=*ug z*hz$)Ij-U{3RJyYpxV+z8BLw>xTdWdPoq&b#se<3ta3QM73R@;6)pvpGxw$(E54*X zc=r0>pnY~$Kr(yvqSbkJa{99S-4ERstMnoxMOep?rR`k5%ukpEj|-(!w0P5TIh)IN zX#lJY1OkKuB(9VeYGb_esHNAEt1Kf>HlR&8Tjs21J_SyGtG4C2 z0r`CF`+V%fW1qe_mSD`YpP=nWiZj+O9e{=~d@>ekhJ_g41HjU+NE0AR1QU?Mizp+| zauUoh$Usj78n!Q=DBA2wl5uyFKtrH0=+`QTBkMp^DAAx~*hNaK%*7u#i6H|xrxL%P zut~gfG1h|9E?V=`mt{Bz;`d)-nU;Drv{Mj>w> z#y8P`2Mh!GpicoI;noT+P|7y*C=n=u99hGFE^Ti*(`zc5&(Si@S?hh*vZ+@WVcwDo zI|P{A?ta8uuxT?_H~Db!nE-u?rx&hF{(O4*olh^zSaE$m!+bu&d&Jqo7t-iRHj#gTl|XO@{ckgws0z0ULXIuF-t zJz1|QITe45(|Ezdw1yzi1njr9AG#52jzc%5ueUtCO?l$`AMP5EFRc3HLpwI&#V*h8s<_C{>NxjG|84swED>L@|DTn^q|17hv4)Iak&OTn5L6{jD~I) zjGMIwoQ}0%*s`S)I4H9N59f*LPW=9{{Ys`7(E6~~6fD!T><$)W1^X7=yhV>9o}-18yRta-|AH?y@(fT`J>ohl zzGA(I(f25rvIU2r2cQ<2uw@Jrw(?Tvs>NQ_qMd(h9n$aa<0wV7JS!8+=xN2fD`UOP zwOFDNax1hR)`7M0r>5PdR!Qa9`cy*goZqfHY==1PC zio!n+A=-$s>^wux&pjp{4}<5?I7*oO%YDIgXXKX*g#xx=L?~YZ@}*zER(-1}CS%^H(q6S0>nRj2JghzTjMA+#k)^XzsDD zub2dXc`uihFey;4qk)E1R3G>TdWar&{x%IIf3~(#B4g`00iIgzGj|hVlrE}!(0bW^ z@#3iE8AEs#jYe^}a0I8m7Q$q4?L*)A2L;A2Zb5QjSg$T>gHncOiG-jVFLB z$3WoY*0A|}IweAqsRLY2H2n*xazw8Bc|Hlt&7ep8}kesdHMk{#$)nl#=qE|_>u z7llBAeJlivx059R25l4qnzkz!G$~5Ly8>+5zUgbGG^t zv&zOK`0@Bv61|56wM-_Of(QskjgX{lFpuCsOo>R4P4Kg@tA|&o?SHn9JKgrnSDhcb z?c>)kzxXXbgc|FapS8i~e>4ifT8bD@YUee*kB%R+n=S-z>XYVzM}491?3=C}r((5= zh}h(a2qshcatl|`x!Cat^=k1rp5;XZbtbGtJ581D6vry2GEAbVBu6h3s_J3RpoD5# ze9~U85PZu6{DU0e_tyjb{%XMQXMo>d9r*o1!0)dN{DWNJ^IfXj-7}G$do)G;9$ll! zVX1^3deE7|*=F)o^G;2>0E4A@GKQ#D0bd)dP|?Pgu}~?R(#r`ONanK~Y=pjlR4C4_ z<6dR`&|{M*3_U(SPGn<+7mia_fli?H zUOXGA@SqOJs8QsTALw0gQ9o8#Gm6Ha!i?A`R-X}#9BVlbea?2-A4Sf9S{>sIh}FFb z0aQ*Rj^%oDcs69el+Dml>`i7;Vov#|KPZJIav+#@DimGPvb$94gfWx_fzQ_3J4c74 zsew<~BVwg^cI50Cs<5sJ#eb^}CHEI@<|NyUkTi=ArE{7Y3YV9bQk`KN7~s8VElNr5 zs3=Bb?fZ)TL6A6YEyb=fUjYuG&MXgo&^w0E2NnVl!a$>Y3~M&nmyPzp{yl2HwoU(5 zgQrg=njQVKdv^4{Y&6FSS`K8_w66M`$wG@?PI-=VZz1wsJM_9xE_p7ey=)< znO8+pU6`?>gXT_-U;Kz|vLWHn*tni|zAG07)?VEQtiAdwz}l;?6Ig6?%LA+6)azT@ zo~g4hD@>i$TI1AVbW2aY!1ZWGp;Tl$0f}^PC)Sb$rrP$}_tXE+-oH1tZ6k{V=>FYL z!F5j)DUofx{7Rbab!<8HiDSF6lcp!ls+2_8Y-C9*N{-##{Jzfp9`}>oc>o|lf)pvq zPI^wXTSp>+0Wg>s27>`KlFCo&{nx=y3D^RDng?6C87dW9(7pWF%E3_fu_HsxG4}i% zl{R+lUhc6=ZMby5VJ5a?t0IB(4qm`N_rQDy>B@}z@m29(BHEAz=R;e5E=)rka^XB^ z%fpCCNFZLE3kh?uV+s<89p^woHjbRb>6?Wk(LlGeBS5-)UObt>i|YN?!H5ai0xp~f zTe(><6^UX2#{G69IcI;m6v1ektdA$9Z6yao?qy^8L_n-pLo9QZ0 zzW+MdE&*Gp{N}(`e$AJLE!2Fuv6V;dS;tN~FaOx*P^b+zB?sL?&2Y1BM2Iquoc>x6D4I6d!oM`Yf>l7kr=M<@KrWl6 zW_5z+^7tyZcdl9|bJbFQ?Oe5#Cp*5uyd1xFg1{`x81uy+&*SH2?y(t0fQ!3V zchE?xVWi&ARCgi-_il|N)WCL(p@A?5#x^Q>jiWS-VfW_3SSBMuZaAkz9&1XH5+H`e z{DpRIu@~Hfv;fl6 zg-CVj>rrSVRqQ6ce~V{KUK};B7XW{jgb^oS?ta0VfKFJj&V$a}3)WP0Lig?fojDYi z9XY75=0Hw<6`zJ2?B4Q`lc>!y9pKP(Sm&$IVI7MOiyzduXC2o0ro+Ch4zti^Y4(eV z4(lwU!#asNZ0|mF*xn2smh?WST-m!X9hQJjbh_S$4ogKRI$f8K&OBb(L>)EL z&d_1YM~)1{$;pqHZ>2RD;w?VOy!mML_+<5b_vO9tC`hs0X6yK*1r5&P*O_I%X5O8F zdgkM~Q9lnqXG1;n_FbYrC!ePyQt^bYh&-|WNfm{s~!9| zEMJkX=B`fA(q~!6o#LI<3}y9h)`8kAJ$9Uhj@?E&n*Z!=mOe&~w#{?2^UkKmIH;Rt zYP8e38RsYW5wtmv>_$g+H|KV3GrEk!yLURtkz>3$<~d`>ahk(Jzjt<^H+rNrI?iRE zE2Yn!9WK4oDc6sgCeC-{tZBx{j$mLp2TpCXdRN=|dEGtn{$#-IteAx;)TM`NEI3Nz zT-{uw6a!IJQ-c)ZEvS%*tT|UA5Mqf}<~VexU{X8-Z}aQOv*umV2RtMBiY#iL!ArpQ zq6hJ`!KAtf!)#K7eY@eA!*!ToWaalJCTsZn@-ZeToGsvE~AkCOFfT+$uG4vQqr-kqPod*WAJ$Xo$aiAT zK*zGq>lqvsKZ<2=)E7OuXRuWELs<*4R2n|M^w~Uvr|tnC_M>_RPkqtzdInR?hmZR` zvS)Ih?d+Awd|&wRp2>fCPGK#^g6W9)3XbQQjCe1INj$A*vf~#%vS)JSyog!8XD2&T z#!iNq9Qh>=5}E9n`HaY7yqJQIFMU+VjqbbKztD6GZml;OJWM zOM0W`4-+=M7s;PRVuk1Pqh{9V={TtgiuK_RwKNrG3%(VMC?e5yF-eLi{ypy7_~N?^@G!zG=FzMbjk_Z7J*9 zB}5sUORscI_eJB4&864!0znsBo26^IFB(y7uFbvzgxLd(&Bfc7j50PCZ(jkzW=9)G z+4JiPIgYaIUBqlI%)VKW`!xm?N7?(ULhkGs<0#vIU4h0?QE=DD%@=DNMiVDr)YFUy z8{^HEcNSOlI^7pltJ*X`%c@VutmxEj?cN?qY@SVrq@6Xl(PEKR)=b zV}q%icM=zz^8yO9A2aYc^HL2B+H&K7=O2}MuSVWciHkMHGvj_u$a!Oa_1epb_a%5a zVtv&BXQV0{$6|af7+v_Hjqz+h9bZX{?<_W6p1U^UM$H_TZCJJJefjh(ir|Z0uwjt_ zrP!Ou6&nVBMV{qKJ~mE_*+q)^;_H>3F##OLzx^WB`0clZf+ zXEeWpcw8EO&f7DZOOC@;9Adc+q4_n$-zpZ#aUsGyERr<-FCA~Ic;pVppKu*U^J|E& zRZNn9{P%nnhTzdE2@GbIZ$!-A~ftE77SxRnPsYEOZOPgOqOsi5N%S>51kCsV7(3g&3 zRa)jtA}Ar{ZS!l0SygK24iL1YbhlrDc3L3e?Hy{T&NuD!rL~idKua0kEG6r$TH+*Y zr!SlLwz>Qm)cMvx$=d15X0mNAKjw74MN+bM`m)(7|)I&TK*;vtkv zi=s0Ikxn}HSl7&<$IB0Ojn7Bzo+jjuXQY-eC2=xda8B}1N`(IJB7kwmie5?sW1XEu z+P1((8*M`&n=rhSP{unLpAq7iV|+CPP`!iHv`ZYL(Z?C=Fmsqo&P{tK!;DU5zG2q> z0<&3Ld^T%;f!VChH=8_|?#$be4L*k-S;CC9I!2T+RnH$~-1Wo-$?zqD40sY7lpIrf zj4_rnLyY4RElY&4!eebVB5MXFYYZK~WkhN%39Gd^(OOe@t;G>rvthQD4Yjp6Zlff* zX!v$__T_E+^76L$sw;DuAZf=+2uVQkhW)U>C`6LZcM}oB3Z!AmV zv;fvJrH=kS3r}HmI^I&e-5~(&zB-Osjq%SLzYRNLG zcK0%=mMoNN%alsB<%*?Rez{a5_FAr7swE4i+A<|mUhK^fO||^8sg_wd#S87HU&;8> zF8se*j$O%k>B9fv`F%%c;UYPF>iqo~?oqz6ES2R58qH>ixP8Fe>6`P`{_gp%v5rQt zWrU_E${e5;`z2r4oH7gdLsTlqZp>2M;j98teCOPZNZWeIK0~&x3G6Hk0ys_|IQ(}4 z!#`;@-<+Nwo*V8ToaTaLuKwPQic&`)$k@Y&Q6RU%DJ$OW#w>)L)}k2VPwa6G7DdH#WmQq4 zk{DIdsl;ll%62ht_Boq?CXiV~GYb<GsW&KuWEUDW`9U&Ges;(#JF(HAU_jj?eXE+dF$0L+A&P#vyYz=*jBM&7SnOy z2a^_pO0XOM9=98#RmnI^0%)3TpJ$qnVpQp7qijR7{`A*YqmZQPr7*qu72>>G zvOH%RR&OFoNfR#FkMsg?JgpZ>JL51{^MnZ7siq-pr#c71a-SbeLm2dL9)x8aKAxdV9zLG^ z%RT)3i^!DWWB=wDzTn0=xMq~dHmCQ%H>Wcg=k)9394pd@b#fzZ4&F&Y8ZpltNXySX zHWV=XEd#6=B5L!+aks>G!TS%+GqAF(*Q)SQS?uh; zlehsRL>%>bAo*CuyL>LqLHo%qiu}RR7WK5ppG(R0WdhzveIsx1=j^u5i&@yg2oMW) zR6NV_v14md&v-ivJC^!J##jwIIgQU`BylRr7?QL^nsY|B)W^q0kMog~Tw^4Y)Opj&cQTRW9nh1dMLl)rOk#@H zH&S2bMv_`mB_at**pPHH3GM<(I2ucf_}FN1<{(7^%+#S_CN#^?R0g-@&%dojJ*nQT z`M1d+Xl4M-N9Y7E!{BuTO6 z)TpsLx@|L@Yrr-jSu|zrE@#^eXYWapvWyQcvx-W+zc*pX`GF@Y!8j^rD#1CgptURL zW=!?PZ>vhw?#-CWi{JH>TG>=}@tcwsQgg%A$n2Wr;83$I@6ID%m+SV+?Nd%gEd6ksr(lX>+ zY9(8yN^75Fx(dhmJTS6tB#lQubRMm%pP!#mzh(k>5I^g>kY16gCM+YIsTuUc;g%6* ztzR<%Jcyr1O`F~92QsaFP?6;3_|4NUVfz`5f}}PR#s+K6gu%@-8q#9U>?{-p9cW{* zhDt2o-C}7p8g4Mlvl0gp+p^E-g~DCHL=24X4h6ARWBbOlaS(+O-*}CAk}^kwTbrh! z9w+*F5DWWM&00=PYpoD7+8a7KZj>m7$ob6s_1tH8^jefTa|+Q@G_k$ZqO;Cj{O!9~ zukkYz!29xtV(~kSfs2$0rlZktJn_2kwH|$Vny~dNLeL)B9`}dCkJAw-sCM7Oyhh@vYcvLGv^(QIgx3ADpzv!OGw-8_g!AO^DWa*XTZ&+*ItiaE7*Y z6*;ptbs$D-&paTO+TwmDqLC&DwPB>0Ssrj5_7XuWuroovT#&O~YMgbEm9tVB&Bj?T zb%^#aR(MEu|rjL82zKNaidKhL~DUX+<4>poYw&Jh_60=cgg4 ztwxF)(Q>G=b+QJMj0>{w|8~D0q10DvYa46T^}gR8yW`t+q2e)`dF^uHHp=kX+^plj zTkz5Ug-@kit5^S4sc&r5D;t~jDm<@j)~e;dIprmcZ{}x;i)_dFo7;7-Zd1z5djA*w ztUr46o%6`~t>^bW$C!3_OmEs_-|IPh^vc0kBX1n6$+zxwaycA3yIqi4E+&c>{GRWPpE$cC(39S3b*=22G@X~HNBDJhI9~0$6K_mS z0izFqiK9&ROLOz@fETol$=p;D6tFH!$#lv$D5>Hn>p0rYm9-gMBR1%%@cy3V!RpL#Um>)!>F@wAh) zK;S4@Xp-9#6f?OUc}~GwyI8XySfQh5STP!s+r?AS^j#bZL&%K*Vak~XK2TX>?}e<5 ztDM3kbQWRni?c3lzyaG&^5nmMA#3hL`xrzDu5b+K4$3};EC-tNT{4jcgc^B28>UJ=W#94$mf?n|*5UprEpu9mI5~_twE(Ja7p{pyN6N z?~|hr?{dGm10*cO*-WixI+%m8=Q$HFk1qUcZ(s$(K=3$cbaV&^S9)mspq(bnrbzZ7 zwsWuy&=&q9vM!|@P6QIJF_y+Xfj7rzjdNJg+D{tE zQYXJ0H}*?tx4sErf{;Go)hgPCU1@s?EC$Y}OTTj|k(vGhfK#w0$L=ShyDPNseYcMk z0QN3S;jQCeu{S$2Ko=}qm_t}A;Hrm?Wuv9by}AT`0;|{qc$ooChL~Ppjc_ z5I~LNbMeUs>t`^WIBhR4Krt&`*E$^n%K$LOQLrd$p@12F8o+Y*(jO(UGZu9F7sIhX zxxB(Ng#8OMA4G87AxN~K3HrmyQ=1rwwMRuU0$}1<7+wqltJ%^hS(c1qeYn`+zNZRK z>aLPjZowU;r`EOZ=gY)_iZ$ zTN{oq)-NYl{q=FLgAh!Ro0Sa-vU}|U+PZR`gqS&-z)ZU1?kXcj7!9wzAaE~2beIT$ zS?zkOr-3)^4p*B{e|Y5_2#+GBU2qDr^Q))L1AI~pA<5AYVo_Tkl9>mKj#pq`G;Uy- zFu3rX)A4XJ>Le%RP^cD8o5 zRx4b7UHA4P;S2|fUS1p)CCatgn#$dC~dLe`3QpYaAW4&KqavMafpLr~QdPlC+8j-V|&AnxdC(e~8AE z@AbRLG%pVd)qf6(0@=HPf*u3s3UmvOY8%isL4h)MDx2c_ zD%EYP!U0kIzL1^3A=2R<=355(XN1^d)SUNoO#?zUklKnGx>I#>Q+ z3OqGXWKjYxoUl0Y1KI2+uisx4;*D5qGzP^Rczs-;!%F=VEH7PV=I#*In`2Mx9V(gF zdVRLndW+!)-;c)b#g*z!!5K}1OULrO>j$`e0SweD^-U}h#&Qa*triTd6`y8qb2thC zey7c@K?)z7e?B7$d?5JeJB{Kv4=c;{m)-zp1H{<04eQT9SqFf3u_4Iod1-)@oWLVp z?o`)m&KcE`Q1Gd4ki_NJg=nrNnu|s+%607|YYO>@9D7xX`C4C9=e~s`-oVj&Lw~;B zeW!8%2d*K+{O#rm49EFT6=BEQDz% zSD$O|LyxAj=k_~Ow3eO5$3i*WMFPoIh+MS7_4R93j`V@h&j&cXVi7ZRmUU5c0freU ze18&=7Lp$oy}hasJHD!lH?i(m^c~Kw(Ur^{m;tw1au9Y-!1&`y{z)}2iU~a!^O|Vt zR6sHS$?bb%4{<+oyXd9syMfT=PHzlWdST>_C$K0fYHwtq$1fh*Xb&gk?L*TAVW3DJ z@=AdKkb8}nP<{87TzMdiffWWQZinNKWaUstUhJ`(&m(}ikTj^Jq>ObhwjUfOD6Ax_iw z3Dqu>D%a9-mWr2uJk`vAKO9o_e>gwJItEW4Kh~)i82}4Lplc=YW1#5|G#A41@H?~- zG`r{zw1@J71+%amgEqTTS+6A65E#+oj3hch*Un^79h10GCFcabgIN>AZkI^d-%;+eu2C*Qh}&*qfE6FL)D6C!J_yw#*63{!!WEZK7T zqq=lVPHT$*4&^3cMe88N7$qx6e4VHo16U7sE}a4v(p&3b3{%3f8xU7dW*6i`*0T$W z1J&sT^<#2R45YR}rhg3C0(5{2%FQe@*R-#Po2hI%(>{RP_mS}jy0Dj9Dp%gsaD1zL zHz;4F-j8gcN@CA+zl^~sMeTOC5K10O-#r3x-#XYmJd!q^7%-Da*t3u$)0Mm|xB8s6 zYt#TD&!Ywao8d{aOPF7GAiG3Jf{b>?L!Cg_XjYi{P#|whc z0wd!Mxv4~((GLUXg3LaQ{gmuTU52+{O7S56p8jg7n&6{{;7nMn0VUs>?!>3TEl<9wUI*gIi(=-~5 z63SsuNJyX;nx?+jn~*<~!*V{k0WM*|gdzQf-bZr|5Jf_!mG50#`7Dg&&tw(>9QcZx z3_nEV4%#H!0wX$t%LQ$V)Jv}BwfkMyUObp_98>IxtxmWF2bA^ zk=5|gEhDjg_183stkzJXDgG*4KD??FBRBKJOIO3vRax5ZrzY8m(4nB{L`bGaKVy=? z=7ZH-Z<*|_A9b0ouTrJEi|N&r+nUEI)%;OXF4Qjyp8OY4WvCS*h^XHN#&{Ht4EJ@d zsxGN9y~7cItfIj0qLqczkT7g2P~!K_wO>B3xX>!{+CQuE4rM#w_7{I7f|3P!cG1s5 zn_#pPJ#i6p!iDM#Cv^U5?1EtP29t2NEnEb2J(PBXfrqC{+>h>s7d?%&Yz{LdNQ(8B zVX+;z!_y}zwknSSP#sKcT@qWeS}^ZxoTZ7!Uf@mA6>)Zzx-{i+hblsnauWwGtZEMA z79v05Ao?0fBxB=Q1jiCQMTOJ@1KQ8zu4Hj>C+~J70f_sVk^y8hCZp^T^_FKh!a`P= z={~nPotAA<#U{_6z+xl3@j6*~0T)e2RJP>kR#a9UWCf~ko;(OW`%DFzKE=w5HY2nz zHzP>KUw$)U$-~Wr2Y2IJxS|r>;;2tSM4+c+IpVF>Lo+gV*mI&`kFq{G6J#tV?PuzY zjtL~#$Q$=?@1c-|S6ho-Z>*Shkh05Z=UowvQrY~lP}oIQp=MjVp(w_~6z}Z;U)J>= zbTYk)qQ-j`4d#WkHiV$#m-o1mx2yC`leokynkM{#>-WirC8DV~+)+j|cBh{3oM1)- zF!F<`ryKV1sTSQiXzZT9X*ODKj(6Yg9vlHeG95EzRN zwz$P)3$c~}GGU1WAkbu!G*-f>)I^fK`mHk z%xn11*lmSR>a`T&S!745D2~}ysvTiA$-&NwtT6;Mhs%UfH_>33#3Y+qP_&4q!2o=U zA17xcI&jrN34AXO0d#_KCp-agF&<7w!TQ-b1*(7aC+po|XNrmL@@L zM*tRpbiQwbqLA#UBGSfyn@E~6$`V!o{Rq~Lt9216FH;@9V1y#R&RVCy{;wLpI(7X$ zw9c=cTADt!1wZXeO^Z9!+B^{H1&%ug5jCC;czlHkOD%2CQ?D+@Ajd~Adm45sJF1`5?=ttkO0|2k zUT-tRR+V7ZH)OpoJ*_h)+X6chFNBdQJ*`uFTWwj-Bbb}i&l+K%QZ}ziH>CtnUAEl2 z%Ib5@ndIm^JgH1D`ULH$lTnIR`7p3Sdgk$Vx{Xp)7vep5Z)GckE??ssSyHBXOJ!C3 z-mKH<^mUeCtI#bJ0_Vs;`zQp`Swd!+MQaJHJk_>DydY$n`idfxDiIG8ZkMLpRczo= zz1~(>Z+lzTD-(-!v`MdZu=g1{C|tMis~?iAI@Nc>dU#dQO$JH79(SFnsG_=8qwa1I zt<{JVHaAOJ-7TWGZ7Ssv7j5?xhZ7oV1kok*bUjwSB}=EOkxmh|y4{e?Yh?*|)0HBK zx`X)Z=$+~jPRlx5dWubm-8Q>I03h79un4kY-Mbli9T247Zk}oVlD4ET2Ws7EQbBpC&;>@VdMP{hH z6$-ct%|g4bW{5>pHxyL$dMP%$+zp=NovspqL`HSDq_}FUGrMy&vvWLRrpr1_`Hmt1 zmpbdYQeKnf*XmYTw@??`gvBkz58E0(d+rRHR-LPxonyM|l|yyf4w=Sdnv^(!zf}Ws zte&XbTXm^CMcti{;c8T_=Y_Ow$itngDGwLCaoNHuJ5`dP)w(W0S@E*!ZPBMQ-CGR%jutFf(OiN1W zR5x{y)U;QMv0aCi!j`0D!FB|<%`CaWxX&(m@%o;7l)T+a$mhZ$3oSxcN`&1`S0^|z zGgP<3?|Fu6YG#-L=pE1S=2mXW%VzG*jwz<}#=WhOUv|oR=gMp*GGEa54J8;idC;AZ z@V4u@C9kmdH$vsRqtt@e4GBl64?`_5KQN)Nblp;&>#&}pA$cs^wsT8fmpatl2&c8| znVn+^QtpZGdgu5(bz@^&4us#a8fM9~!-}O6(zazWo+4VsS$`#~@ox3ImDL!ajk3B{ z)n)Z2p_-@DYfF0KcWlKniEqhep=l+v67{5}<9Do(w=_&{tHo4>t>2AMDwmaRV13B+ zS!PpGEsA)VxT9$Zw`N+`EX#Pld-V*`1`)C>8P7;!dBP-CR^6*o_n4hMY3k~hh!+wR zv-@_4O5&m_!QG%?S9_Ud{LY5NlhV5(E!V<%@3sZC>()y*oF`rql+~iX%+?97f2dR4 zoy;i2sPZ_K-NNj-wJjw-nes8L zvw6xa@0Cq9XZ^}cw4Dr?i^zDd60!@k$Bt@XgO>u-?4~DlfmW9nS-id!GDtaQglmNv zjxF!s>VVCeX~v>JUd-mNLvWCt6Gb)#ZU?V zwyT*mK{(W$x*(FO;sdp2MbMdDAF%1yVc&37ieG-m4hz<~Y@cqH6Y+Fr7wNn#s%(eK zv8~{!8RH)^b3bkcP1$`a2s8sNJsZt>dfGg`WqySK(Sy-hur&M6)61$Lixfm|< zYuc_1Gj=DL+M`mT#@<^-uPezpUwLk4)xxp0(Fy}RbA!%)2W^vZXKH2 zjoea!_nw%*n8SL?obG9c9;2>2n`|Dng+AtM^g4p^1%h$cAjNhKn{HNSUUlEL|D0 z-ZoDX{pEF4+guy5GG;GlS#1dN;;++|=F=Hv%)&!hluRo+77@LKg8+l=y}s8Rj;XS3 z8fm;8h|ooTyV)pu{a$wn+&5B$wqg^4+N+R6oYCoX6CcJN-oG`%-DYPKOLkVuiZNXF zKX*gc+-U3T1hJ#X9tAZ7epl7@K3L7~xOS$JUJFKw#|tNgnhkb4$}Mgu^oI-dP#;-D zwACgXzhgzS;e`;Y-K0LS6N0B;C$dS;qKCZzJb|7U?*lL6cn@<^;jp7j94YZ@UE6vo zzWRwKRiYpTc~AwPUVG#AFqjp4%=E!we+XjWUS+G2Gikdcv$bbP2w`nN3~feLd)^K0 zSB6e%=RRf^9!#$Y^?@Gf=$FhB@Uvr=7m0Mdi?eXtsT@&<8j9~X%rGICGBM6DnnDi~ z<>5hFIgju&o-{}Bk~Mrz1*(mq=e@#;m4=MJVL>#$RYgsElB z2=sheWiq6d!4ICT!knR;(>Msz8guSDOq0;3Qz{ex+KVJTE;*ReO8-2fXtU{{>y7)j zNa29NE1#=Q0*0ps`=n<1Xl&xsOiq%v6252U{!to&g{cEGOz3wc!4$i*{l zX1f4R5ptM6D&=5|)(6Ar(Zb5V6P=!Y$R;t1fz{moG`SQ|a#+01Tt=@mx83XHF@2Mo z5nB)WtCKYq*|(@CB{-bbi-=okHk3upaVMum?j#uH`OIsZ32!~$^uNW1UfNNe`>?8W znbXO3W&8k(VO%=dIZpOC!e#ykb;j^7Y;U@Q?z-G9&1`$xdL~WLzm)A+$ZULCJCI&m z&*oVCg2pSlBmBYCTe{hrY}V+%W+a1(8Fn&L#)If4hYytYC2h5QgIe593;!xjm25wy zY!hgv6ETgYSI1IG3^r99_rW)Zh$~VrAB-W zr>3Haow~-Ygp%4&K>3dD{}M)aghv?lIhHG>sBnl-GWp{XT++E#Nh9~Q(9mf|6$z6) zFPU^Rp4K!nUr=rW&?sbGBvEL-WDqGFf&kZrP6YBvNK;zOXQ*i1+fL0KZJ4aqS=1Jm*(cJ;H2$Kr zD17uItJ(V!F=4Y+oJBvm7mfH?h?JZKsL5HFpw>ghWGz1(UNU0oxIcOWSvpx>k%#S!%p*ymdvE&d@0c~$MG1fD1;Fn zkNGNu5p*Q0FcJrDGL(jr3koCcEX#btNL=6We@Yl-oJ%L~bUImQ)cIym*+`=e3 zDLH=~VKnDC4r~tUkoU1l*_@WV_6i|qA!XyF#hqJ8vGWZ1MU(Dg%uzcM5BygXPWdL) z$v>~ootjIwvqp=FsKnzUa|x-OMCB|(SI#n)V?+YXo7;7-Zd1z5djA*w z@b$fgH)oC3+4=7I;a*EJ_|f5u=5F&>XXOP254{FLap1Wl_KXFotgSdF$Hnh-FhA`! z8~d}tfQG?4h(j<32MW&7;qj~1FNfzpwNB4}YBqNFot4JTsPA|DN&gn=3_gZ{1O&PY zZ*n>I+-@SU^X8kgbLiXI`AKv4Wg{EV$rwlk^j za5!-Qia>S0y8alx<29HdFMYgy4`XB8K6dO@Dh|3B8DnZL-OOiL>0fOxV|F4#fpQB;_Rz4uh()iK(Gvmmj-5`4vqVt?T`(;UrMs<+rP@`m!Ov(Y3HG&bZs6 zYhJ}0%w^pAD7!fHW!;h6rOU^~FHiPnq#k|LQ9k}+rJ8bz*Gcy z$-MEa)$?31oQc^qxp%W6j-Dg=ZHX%QQ2PosJ zU^x8f>lLXla{AOMl&)6dD!9;o0T)15^auUG{8g#Oo8`xW2hwmHd0fLadlW=1sjL-p zjr&df3Frn@__A@_IygLPoUsxGZQli^>fqH{g;Q_bcbbi#-yDL0R1~poK>CH3M<*{> z{sKO5Mgpa6_ue#{jpK7&>#nb@tqZGQU6}9dkJc`^LATol*$-@n8u1EPv0G3}!jm`W zr*F=UrE|2I7l+4StZ_5CLcq`7$?Mm<$NQ1`u&h36HQqJ$-kf7BZ9K+w#z=w=@c1NH zSI3a3*0(NqfRmO)-gc*!YyRAlCG(DN_WE*GT7*r4x@G-s=!WGayo{D!sXu4kGlyaoX3L-HWE*=1y=DUvGt|Eb z-9$%bp_==e_ZeNuFBJs9iFbtyHF%IVqicWogFoE+Yf+zmt!*IV?=W({z@`~`m|D07 z8cxR@uOJKt>$|w%w-!s4U)CDg#-RCi;IBa3$?H?FYn!dZv)0SwH+y@bmq-+79USex zJabkQs`Hl5h0y+?aTyT>o@q(|^j zUaQ0@MOS|r3|Eau0Aw`w=(3^J;C9e~BGUmZtvZ)@P;Rv|?0PBV5?!~C>-E`NfoS2( z#0Sz-+kA6;e)zf}U8|x0(1&iLL(o}&eNI;}13{0SUf;bC&PxOc?OA{o71#8JG=u_H zYhAnMnL`u7#;?|Xf!OhNeYC$pBj6w zibjE8GKSeKG#f7)?_lM1dbGO-=vsfhzk+|yS3oSt;eAFj(SCkj2|>ZsMX|vzC7bB% z^2_0Its0Ud%m}XL@So4lr=Z%ZRh>4mpsXe;U|r>7{q^j;@w#=q`?~SjdA)lMLjyA2 zcgLUnf#}y+<6M#XZgcOa!?*CQ+1NdAz{`~%`PFXoxpUSTJ3pT9HeWW*pF2O2Go0`R zKTcl!cVqAT?0FpIyLVBb3xiYu4-StH&wkQ++1x!oI(+fmSp^aF$sG@1%36SLl1R5# z?O`97u%jAG?W}-3H)MSxf7(5K^(J8=2j1kx$JJPuv;_kE96dI1@zK$?X z`Q-WE6=s*vrSJ3`vnTHO!kb_(S3=W@r?Yk1Y#bcE`z(q=7i2~9t*M%+6|tyRQ>ac+ zH?<}gT}kZkfBoBh_8A|Z?y_;RcXHZD>MvK+o_$WNXm*z?8qYpQDiYZw&re8&vhO_a zX~Qz>P`9I%;v+IEDc`YP%{H3IeiT1#g*wrS0Si7YgFx<_LAbN{NGPM-Q#7xgL=3Ko zM=MFStT>!m%Zfy;marCsiL4aGp3;T}77cixBW2<}jh2XEAUcPm>c-~POopRUf=@lL zYBBI;Rvl4pW!Bt=epRtKTS!5G!!TfU;bv$^&7xEbtV=MtCxFycSf@>3%I5hY=zd=A zl0l%&CIeOz1(v>=t#rU|UK~*;NsAO^Fj0XKgllpGho3`BXo0q@Fx6Z~d!Wzza@w~* zG+K|(u!Vfh`NaYmX4eKMWp1(f?3uL!HRd&qQ4_};XGn9%@IJ$cEl^Sh45ep}*9Ouy zTnk>LNJ-;yB?Hm~xLR3?$F0-d^PkduDl=qmT7EDK@;g~lw zzIP6J8^sw-+kIF%u>+j;g9E;@T5hypA|_`zxrDb8mNdt{ci4Z$X`|L__M>8xe36hyg4T16(DxJu)o;f)_^IeZmY_v_8aO zwY82I`*1o5d~s{&_jq-W0$2ES>31%j&UB2iZvf%Sa|gi_&U_VithlCAlR#oiLtR15 zlad*dq<(zy=J060b$EQs0pK>FlywakPz8y29?G;>~iES+^yW=DDz?e+4y7KN<$FZ#~f zNsJZj_rrZHR&JUoQEwXWFyEOYgwHv>4Hsp?0p{#C&dyV} zNBW%8>Hv`$bwK{VK0HHF54PVg$AA?I>E*A#G!KCxUN%qOobuyePMW}h>^ajMuZ#|{ zDg=g^xxRxkxVF7zqp(@=TJZe*Y6Dnld<2P zf;JAQ+}Y{=yVWDV;|&6D^$>Vq;`e-S{KVNEVYK0Db*=22G@X~HNBDJhI9|ma+3|Ps zJQlD`&xtS=Zlk?EId1**-S-@HpIiVy2;I6OV_L{8q2!=zmn+(Px9?vJD6|zGhtGe+ zRA*y&_*{DyOuEo=?3q7EEN7f8YqfTpuUp3rJYJzSG`?yLJe;KG+M%qlthgQbk@FMn z2&3U3hVO>yH{C!w?7f?gH=0CDF@JFF2ADmR^0%%DYB=oaAbc>?24I2#0br(KwAe7& zs5AUDaCono%sDb1M2^t5hhUT~`8#*vcgj%P?+-r_6{+1yc#2z|SN@-TX(R5UIwBA7 zBj_t0y>PXZqL(nJDd=wQbV-gH9^g(W*7^PS-|-)Hz>UQ<9&y9)3r9~f*BcHCYinyo z=id(egZb)IbsUfw0|E!)ccm>Y7~yv*MSs^0gG4%EJ4A>*Y5jC^@(N=|A6fhJlfNA>aIS}b*C{+wN)wm&m&4&l{)Slz zi-l-X?h*|i)`4EhNZ5@O1vrRyRJF?AcF(}@Ixpb&qVpT+*X|Hz@;7CW&>79Ya|ulT z3cpf2h=(gF`EpSMq65Uwj4?XjV{;{7)uY4XMyrM2&?;=Ticd92pT+mjz>~;71y~!~ zrzd69nq)|sAtfq)L-D!WZ0^dm9Y|YEJ|2n$J($AC#<&#oIE8S4-(7vvZ{l`7I_`Mv z-b!)t8?43LD}JVMwCh~E{i#RQ=|uq#M^VyhZ(MXR;6l|G=TpxUJAhqNO|H|GXFx4u zeR!tUO)ji?8*1*j`;mZJSi5VIs&6&fQ0DU zTTHR+BW5p1N3ARFEd>UV)SupX$dF3n zo)*`v!x3RRZiNVD-fqDPuvrLOpNU|B+cHWxK}Z2iH?YUQ&07MDW}GKZg)Sm~*@AS{_PGK|*0+_m6Jf3(poOs=0NN?tt8E*nrKxYz!AFL6g zyR;bpU1hX)?O0wD28vz<+UmI=I7>v$g9}Q9KNsH5e`*}Vg7o}N^SGcIDDj|+A)f7% z#ifhRKb$gPw!oE;jV|oCNP8-z;p1q~K_JP}rCc#gXuo8vIJ(dOx zYQ9~vJGH~UZl~h~0a>!lD#1hLF}?Co3n_bew~r@oFD_+4DU{I+G@Q9;DYBCnI6~#m zr@_Mb{ILYg1w~_;-HZYTNuRpLPFTVVtTYeuOXrkpoLeP~Nz3;8jGx zhJY~9ds7UnwT|oM6zmpIa_n>^kuw;s4o4`Rej6crP_jTL(IDgw;|Xh85tSpx4;FTu z7XqUMO^mf0BDlMz)j&Xwb400Iq>UqHMBa8vQ%+X3M3aEog3d6?=qx%S?;8VI z%=|S1UI`%pxU$&=Fw8KdOd43IVyFE+VX5%@$a(C5aOc&YHa$`l3_UvIz|$EuvRo_WJFYVDw@;LfQZJKb72O=+^@yRmF7v@&H;o-M9Gv& z6p5sv)7OB-xi3k-0v7`r)1@P{~f&ck3=d!*z@G0H$@kr%ia$%}VDfzv-v93nx=nv=#( z7~Hu^<2D&fmz&o933kBCeFK)rh_}|;`*Op+PNewVTJK~AFpqA@t=P>ZTtsB78nv`=f`J!5tB(a&>ek> zgw!fnNQV$clMLoN{1`{DEQrVZ*Az4@-g)BFN*GGI=o3I?$)qgA^OU7&1d0zL^V%Et z-4R{r&HLP++*_J{CF0kN5xDvY{K05Ca{xy5_F~ls&av`G@crYMdS*OC^Nfj0P?e#i zZ-(PSgjB{QI|;c7&)ad*62JL!6st?Fad2?BcZhqxZ;p454qqNO_Jv7UOmsIRWV&?a zDc-vRJhNFuY8v46E03Si&oI&06i~T+Q`v-WTvwnU*ZpqgU#;nO!G)Uo6)Sqds$Q_2 zT<`|VdBZW4yRN{ZOTUuxI+!qoF+wOg;hluABr(S3UUfI?tya$Z!_Tar#-{Q?P~zsN&vk9GZt*P(M;y!zj)ueN=>ljH(p zAjW}AMX95B+raR46v5CNMusFO+_jz#Xgk8|wz!DEILLw2Qc-j(dwgmsY{RU$BTaSGnr#acc%xj7EdRB5){iq)!Uh?-=&)RCd$8wa%cIX+&S=X96S)~?CtD0;r0XH znyMrcl@N|hr`1C5MythzyQw4!iAo8vvY2d$-cbO8zbT=jQ1xcXfzLD_j5i0!iO5PiF9bA3(hygfQR-UsGgJvlgd zBzjCi82~53zK6R_alG}cb+|`+SF*!U7&=B(j2%z)JnXCT;f5_AKN1_7h;1#O+d#L4vKOJ{l(1HP@1$x@|KYCBZD3Gg1lQ9UBDf|PB zSx`@k4*c_!k#<#ZR{Gtsb5k!l?|--{e<(TMZ?8~P#uI1d@puL5LFpp=dcuq*pdl6? z6$$v$7~*jDR&G{sE>-~Ois-lK_)`bds9}d!et>tM{C;0-9LZS;+0v$JkTIkB?Wf(h zjn?kjYu09O4v)`I&zpF0G&v=2dg3$f(>@AP%@gNrx3;#o)~s6tXRlkk7%K`L#SZM99G{&xccD8-ielN6*gLbA$HWVO89+=y zC`Re4Dn6m92i}nGQH>3eQLKCie4ew<;}t0@XcNy_c{5N%9XgBx8AK%JXeA;>Xb-qg z79|)2*BHyBq8m7}i^Vk9@k69?w7%OOixZHia+41Q1Mfsmm}tD45zZA14Y-XsK)Qp2 zTQDE4*n768K@-96%4;5=**OtX*X;ryJBUQO^ZVh`hwN2DNdS}ZdZ)(uH43T6R?($SaXw2MlMZeuSs@Fo-9bVWx4G*XVUT|&PN z71?T?oSq-PKK!2s-R)rGLRH}4q=^?f;9c;$$9oMl3nv^)?6q2jf{Yj~tiX_0FgU@^ ziAnH6(uv)75RDrCUvl$7QvAP>!+OCsX2kzjt6TNIRqC7NO1TQZ%9#IuvsV8W|9>AJ z;lsq3e425Nh*IWdzdR>b{fsQ_^*&rj4L zv_`Wjx?W5`h{SnjL8on2dh-lNj7?Chq3@y-hL``cfJ*_!B2s2}XpR)&~{f;8v$+mj<$4IIh%Jh1~Lohdk=(bx;{jt}mt-0h(~ zCgmKJ0gJ#Zs>hhaGUm79W5g0;$zIua@5uDz1*i0LO3)-m=`sfyji`cB&QMTtFb2Ta z&e6iu^5Gwti))TI#`8Yv7?pCJ4fq7mEed*s7#=S|%p{wZDLV%!twe-u!A7&q*F?AE zNKJ9c6lqgIoFuV;5xxloMF#&b(u1q}AA)f0O&;YyvBeb$wJY=qqO_8G3oP=4XOM-P zWkHaEw7!c*Nl7ohoeJb+OTW9KD|@($6p!m6vAuZ_#@*2=sfVzfcYEldz|SL1nm#Io z@MXUq6-RPU;1M}opjprDY6lnyPtXu9p*bcNk6}sHX?tKhh?K`-dqxd;Y~Ov-h=I@J z23H|J703bkLm3^Al@BZEcYKC^M{+u%hpRAxZ@lVHfUQwTBK%MG24;J~wB|KO*zqvL zh>Vj&Hp?{WEBdaAyqAvjNaDewbT-sL#si=h+Y^mS z)Ll!w6M?wR4B|xu1P%H>&!7|kbZ#RXq_ek1=}ZquSi^*%P>V4hV`$TE5YgA7h(yJZ!C+8rN{hk>>TuT99!jbsR2j36DBpeWe<%^= zUZ^eIM2s*=6hLT_p8wH-Z-9CDuHpkgd7H)$ikbj7{bYU4UShs#8p6A$d-qImN!#tEYz?GqKK(S;~m?0V_ zEsY22zPHMz=pag^PtyGA4>36D)^U|;CCit^740%IZE?iQM2Q!64iXePM~D*uHgyM2 zY~gv2G3Ew9Q1D2ECcg4Y~@#3!E|E3d6d znpssP`duH{Fn?TqDukN${mp2$;vg2%aqSzw%^)D#cC``VPGZpTnOeG8@&>JEUU z)xe%=+QP7T5;RA4d2FJ}F$6PyG;&cJsk{F{D7j)%NWw{!2nXBJF8| zrmZAB*n$%f+S?Ax`e3N*2~(&G(T9Qn*I{c`{>M>hcR|~k{Pfk{S*7*1vSIZEHqlXN z?uhBHc8|_MHW;yvEF91?(CT}=i8#52F8PTHcApF4u&nzuJL)km=p*OFcSB!WY}gxU-kSk%*pR&$={ukOGXcBByrM^B5**v z1QXqA`aM!1xb%Ch8OT^e0|W_2o|;8$qW;%Gka8IEt~tS{8f&_JrK4%UXc|Z~L8mM5 z(?pfQ+Jt+No)0R+B)lJJA|PIN;N4KpYf<)bB~qFpSWxcw3N#xf*<6WWX;=@_k0B5m zz-q+~N^+@ysFyElF@o_uLB$P7@&*$S4>%Fxr`5X=h{m~i)BQ%^gn|5URyL$K^Gi*yAargVksM7zRuvUeq1!SVTe#5c-uJU~`L zwJ;s=Gm`&k`+DRnVBt^V!9zQjZBMt`9digeeoTv#l4%O_SF|I~s{t{qUTJw1v{SEA zH>t%1pP82aW}{QsAzqr`Wu>88kK`Dg{3jnV7BkINT)OG~(&Z38r%F*Bi_bXrw^PBY zQ1BmE9-lo?Z$%r+i&Rgd?|7&zxH~IY966T*t{)JQK8?d@XMjSTI~ZeT)cmU?UkfmTp}tcp?m}K)ZUZA zNFOXGiNJ54lNR}RVE@bP6zD%EfCfA{hEn&SVWnS5!Bdl%#@W*l!FzCJy&Wb?Ha zO3JPq5681g_7@<`-@I-aA#5r$Fi6tr6~);ZAwTCsbo5i$5-xSzHYZIU_MA>aoF6Zs zjMxly0KyMr9&ww9w{nsI(Kasm3VFR3-e_us0r66eb~d_G-mWoA%Y;)HXY@p#S+pEf z?iGqpm7-Z+7e~|*I+qSdCfH4cL!t*^eBzTH2^i20x)@`|ixJ$hxPyYWuK-md5MLYm zst6`s4UzABa`}*)2*aZEQzF3?>O^%w51>)l{V!v$I~{b9hY)f=c~M2OAKcOmFb$&U z+rA%Q4me9Cxr|4U>YN_7CC;|sMpKwfaqO*n1BBG2D9DNK7^ca@#k$`Qqo$BZsEjTR}T4Sm7cK7II^YD1zZeH1k1_okma4|W2-a0

dcp^z$WUU`k5|0WTP}qX02fl;FK>YNF4mx^l56`uBHk{Q}kjm=pn51xr&(3*) zzMl`T9%AU&1aDjDszZksl&dqF=4ln}AWK!LH1H5%hV0g-f?PCqz}geWl?75!1f$c9<8 zZ(w=3=B<@v32{J+42iZ&CrSsD%~T|-b$gsD2K9m#I>4!|wM_paMk0*14^Med)L}6Y zY(3ZKNHMS1^E*Cm#LyX8Qg{eVCI9EJ4m_8uj!~q9lB?|TS;MgP5NtEisg6|{yCKj8 zz2b0iJVMLJcIbqKnGokj8aw9-_aMzL>7cH3v&*@PC&Ux=$j7b4n4o<@dwIAeo)ixs zOKb-pBSc=!ty7?oTgur$$yYUF&IaYi+zN~CLR5++C?cm>M9qhZf(Ce$KKw{~!9249L@@KJD7sRzTwm)GL!Wu8T;sVCQ~|` z+#y`k%0nFYWub!eAp3A2=NYf=L?veqnRN~ ztgMN4VU4q87r3NHp9<s?o~|o9;U;#H@Yaqu(5fP7>#$Z$ zIw2u<7Fh|zX&`uN(+(hkoF8u92OmoK52%Us4-%+#+5TUte-c+-y}*|tVBQZV@zF{nv|n6 zK8Z7fs?Pa=r*<}>q*6*i5K8KAkOD1@QcO7C*D7=L$0D}lg;L0=KZ~6Di;~kyr?Y|^ zXdTdebV&rNUXBTU6u&QaDdZO}!IvYAR1AupM6ZU|P9|dDPa26jnIO!71Co0w{Rwbe z>AyB>*}%*r%v_?rtaXqe_w$frMp6o9kkXPQ8Ino%SxG08>{OCUCfViT3^MtzT4hl< zDP+=_C8XSY)peh2h2mdww$9ZKe-%O-yL#lHMH-XZC-V8AS zY_$NW#j`v`5wQdfQR27GBwUmtN~jfBklm`ys9Ox1tUyO1jTX_&Er-wP8NsH83pNMq zZ4o;Wl>!)BUer3adMnSShUXvR&6Am}%5?f3@RFr7v*@z0dYed8@hOFAh-NhV96e&6 z>gic9)Z6xnx99g#W4W^eDX00Imc49=NPJ{FSO&mIcs-!LC^Q-JGEu@_T@TD!DL~TT zi2fwP5uGf5m;pzumSPoSqsuJkwXujLOc+FNmHXJ3EDGN<+YmIm6|PlY+>VekK?}}X z%A)9w7D1Hw@&`Fn>faf3mv~tTltVL+2lbv?l zxg=S85lsxu=?k*NL$CbXd8Pm+8`9a%wau2Cg|M{q06R)2SX5UYkY#FQB*?p0BF}VN z7N8}IC476Ic5vu0t5{tj9!WokeC@($yiM`BC%Yb|Z3#znxf3)Cm}EF@K)e-BVCAZG zYV`rdP_m%8TfOeA! zn1ZHUNCXbJJ78!xd4Rol_iXewvZxl(sz-pa8g!1 zAty>f(2oiNW1C2Oe5)R7JpRP;%~+iLH8+2j;nlw(qwaQLIH(dOoD4EyhOHXRN17TO zww)K>t*3DY_1KT_oL1mgE$1?8*gMj?U*QJYH&)Bup9NWM zDfqej4aRo14aO8!>)b1=g?R*L1>DQ1FcC>DFC~bEBHz#!;jI|pBTjw{4DEBseh`h> zr_yF_lSQ^e)9T;OsDE3GrnB9n)YamQ+!ZE`)H6QPPFvyi*^8nKFjqHtxfJ>-ZX;9a zBWc0z2N)vf(Y7Vlf%<_cYoZ}#V=SHou7Eq5|AZlC*iux(J5)WO4r@uJJ7znwDeR@Z2TsNGVqut(3gJ3T1lOi(zSf+=xy);c8@sr-Dk}(}&WY8GQ`+pydx*l+P6@%q$9meSvI|Cag>U;&N%gX6DPu3`ylov}NY$3@Hza{;Zfb zl^sLvL>kHoYod__%mb%O^MfZ$uN*1@)D0`=xP&=@|9wHHD#8>GUk(5`IJuudYVDg3{J>i2&_kd&2W zGJGnoCtmh(#0E$>any+}OmO5esma*C_T9eoX^e;G$3`xQ^(e!MEIHcj23d3YWTtDG zi6>7)i>gzOT;C&-TNW+)Mx+?BDI9D&;YB%B4q5V6E;IHgOsbnN+()YyLr_S?cZ#BH z$64+oSStJ^K%OIZDg(?IqLUUWxzRpHUsES4Jta!QJc3LoNJj25@$4>VG1mS9vuA;o zIBT*@@_gm$#8T!qeOASJw2T5=CdHkdlP#3bNwPM!o10H$X77qF50m9umhNO0PnkP6 zza7V)WMP$6u-M0a7u^7H!`{qynk6;2+Oc{ zqOJ!qkpCAgGVlsFCFgd5L0s4ackXZyme8Twl5?}j80@~B`!=NB6sNZVr{U5VNybauyCK^PteSNy!0+qcFu*%xtnHA%{H}*7+{XS8&n1VE1)Q%AM0Vf*=y5VASP_NS3Ysv(YhzVf8%|JzyRW!Z z)Kb}eN2@|Dn+@uM!0X`VC|$x*&>o08tOJqwj}ot9ZYG~@w3e5sQ#CG%xl~mut;319 zxqa+;lpW5&O8|o>;`OS7%Fn~A;?=-8=h`{lBhHz=`VOWXH9SK<;?nea>qk}X`I@SC zD}Z?%oWVtD*%`OxHT@|7>_T(y_+rX8Zo499BTN#eyJeh+lHQGr31Xkn7$~3KEf@iR zhDOD+=lJ&~9=L!u46GjhEG7eb_Dq9h1teE<5)k84n`WMrfD^S12YK)+LKJK-#Ikm7 zWC?GfOE&=i!)ZHDoK84K*BqnVOacSHU2-~6d?|OI4y~L3E8?0$kRjUI{bA>$yxTrX zizgUTKzXZXjFr-6b%z})BQoH5Aom!I6sl2-U^dsAqQe(`6xP<(iu$bU4mNca2y`CH ziS8$vnA3nVTu#QGJE2Us4)3^z;U^vWiZj+-xdVSR?bD-c-!*O+6*r=S2*A4)F{I>N z510~ZJ_nddk&=&M+Bm-ZniEx;i50cHm0{}5RXz1)d?kp|XP~)w0mXFxD&`L(PUj?F z9X*d4LegZaNXIO)N@g16AvYXgBn>6Y3&iz#bouMBrwCf(7wKy(IT$e_LTS+Zh3M$e z#eOKv*C~1Eiaw&1lC#19SJ+dw5{0=!0Z52Wj+Xe2F58-{iVo>m36vPd#B00bE2qF- zzLK+9CvP7@qWpoF?Q?sRe#5`3oApwdfz3>VO+4XpBJHm2YIB*pyURL>FFw{Y+hJ!^ z*D<%Sk2eM5ZMP*v73BiAq;LZ@$!LN$Z+)-dwP-*}($3R|Gv;}qSlWR%z7`iVM>R1l zcaYkH2`6pi)QgA&Od=v?8>U$0jMMR{W%;*c@{gtQ4?N5zi)bP8AF%F>7}}KWUQ3T# zpa5UIcKErtmRJAa6=-N-oU)20N`!)9ZUF`o0UA_-L=)G!Pt!{>|AmD{lQ9P1M6z0N z8B5CL^X8j|;}o*&cSb`)ES zHG#R;r-wTB)Dec6*t3?5Vo#OHhCOkdV#$boLx>4c8+b870@O%pfgCXyYUl}~_@TJ- zO!$eFwBU!!>iyp=4+u0fbSx%=Y`Fnru5>;c}SBDVj~Im zF;_wz#(-1_VOU3T4-EU;h{OBJoDwsNI#~kD-7*7PV%pQEJZgy%itzXTHFf(dA$F8R z7X|=jy~QmtFit#5@bpBXfky)W-rCZGhj;v{4B;+-yZzH!)5_kevS2b|RI{ycEQNRq zVzE0VEpRf5;u(pkmlbUq#WmqMm><#4zAi*RyHiBp$DUktf+!g`7;S_3=jg|;YKnfm z%Nfd(DIkjJ3tD827ew~+uL{}E?-JSfvAdfzNw{KPOhr8Zx+ItAPAPVk!QD*VJ?sZ3 zO0p$P-j83`h>F^!?+=ZGfMX|7#_sf zw9YWZ^O%HpPBLF0bRx?6ur8gS)gL_gs#slg=bq;6zJo)eGdCR1KXG`o+E+AjqC59A zarYbjVp&1YHE(|>R3*)rLcdR5g&D{<90v&&C{EBKQY|eQ=jq*C54Ue@*4f=Rm%}06 zyy8thp=W#YX(;`*d}CJj`3OTw|3QJnxCvE`_^TgI4}hCjgVF zCZVg}Xy`s@D5JLe-*iOs>CE#;GYC~31^Py!_er7)pZ*k=CC^Vx#`(`>LSv!~@0N{H zpB|GUB3fWcQC@`dGE}zd75zvNBB5Nwt4$CNM-5VNOK^pE{f;>}11*OyNaKrBW?tPp z=TTC-f=s;p_1-B!>Va<*@E1J2n?PK~+V0*dO0I0aQPf?Wlb_4X(Zr2u<=i`Q=$ic- zf&67o#z*ZK84B6M^gookNe>p+aE|XC=ZxdIofpH&WOzln)$mNYR*uphsdDGTk*yHt zikF4d1Y&#?CFC2%YE0}kcn*>5ki=xAnClQGb|NNNM|~l&|mEyofnnPl*g;^Opu4M zw0w35G@a-UOdn>}l#|o+F5GdKf>cDtTn$TjT;|qk-%dQ0Xco^EI73W7OBq_m{$zsk zl#UDF<5XIcN-~w^+S8s!bFzvI{>BP?nqfSVJ%$>bsy8$VynzNoLcv6UP>|VJ3fNB4F=o{Vw(UEL2kt#m|6e$xQkRt`-*`?o` z@Zm8!jyD+s61w6Hk=MhMAb5rh$w=Wio6LhTT@A0j0!>s&%-3U>gI<6q(I&%*+jmyQ zZ%o%oRp5I;7A-`|lqgC&ERR*r0h^SOsOycucBHh(V5;E}9X{^k-Hhz1lC(PcLkn# zo`7_NN)QG$m940n2Q9_I(uJCSGC&<06l&;{LTXimbU|vHh{FwYA_RWE04OQHg!t0*G>S2)YmqqQNo1TN%&~xO z3saKtTmy(uVX<|Hbc78MMYy~=A>R(2O=c6w?R3x*9k~5{k) zx}_esfa^;7PxnT026WgOGb=ylKv7zTLkl?}yfg!QX=Nw;_(EE%QTT%%R6;|AR+XGE z1AB(zArXx1&OK$9Bmwft>-SfM`UF@JQ$7(|D717Vg}fj_0ECG==#GU%NK9+j zN(u2Q4LaAo9k^HURm3b}h7K2IUM8(U;Qi4cj_7(Ro7O}y;1etn+)~LrToEYDl#yw zYS$12lJ_skGX!nAexFbb#5Np**v@Ex0LopET){_w)IwOGX3d|ptX>VD$nV&oGExvv z6Za!9oHi0*$^mO_vR&yx2nPBre^cKj5?`>Qosy=V4y2mJrJxDmu~EOs#}5Y)b>%8T zNN_Un$pD_?5~*m{Cx4VK&0|`yS#ddRgqORwoo#FQI=Um=8}_!u*_I4loC10 z6SEq-&d#C8nMd-@NGwFTl#D%yFe#JU2J>kR(WU3J<6$&ip#We5D0l=N?j`9CM) zR(IUKSnDjKjr9DVo10tJikbft{;gEM<^Q~o&$`I(dERX8H($Jr@+7XT&>`ULHqKV7 z8=Fo64JhaA)Y&eVS9i+ND!7*fp`x$YfY}QNyDl!E^nwmF$o8svYv*X%?t_}p9XHP9 zWHJh#tgjEQ`|vtg8~DLw?P7Snj$iP}`Vp-8JGbj+r}RiHur*NJgYnv^+mlvj#!R9T z=VXhtV)IyqZ#EJdJnh;H-6cQjBCx9a7R%neREV zC)5&8k)kG2k2ji+!4r(VT-*ictYD&sCI_E#HvMcU!8pK zdI7if0068$$DasWT@7~#qwQb{QDwpdrH;`ZIH0Xru&ys)9WPucxIXu8MnDq&q_1xC z1S`gij}TX41fvBo3dJ>b?IQLA)(M{1g-%b&ntbN0R>a+L`fD;Z!NPZR-?X5mX5*~U z*k>*GcK1l!9w+$5^twS$g7{R08*&rW&{tm9hi}58%s=n}_X!Ymf8OKnl2 zH}<@2^Gv%-lN-6&Lif=jFdit<*82u*MiDE8f={z6Q4gc4Nd3}y1M2Pdu(l=?tzs*W(+{gH8JZ_ zx~;ib^p0xnK=L;XT-k{~K69#Tl^qOY8S=7O4#KW?@q9#&lE8AB zbU}{Z4ccftR6hXxN+^`97NizB&U&1T%Tsy`=^Cvfi3{|5au^;h@!ipgB8z(DWu~QQ zN!y(2`5Y98(>R#S(C2)m6S233*zyb^6cO6Xlb;l%C!iYQD6S^tSM!RK2}i%RI{xU= zgU&=FpdSsVU`D5VwynN%^n$8*D*VyXY%JsOpqNB(u(&XvR=ObRZ* zIuox%FAEEkXrbi%!S4m;0k??w5;9PW$W}=UIVtxcH-)iJF?L|==bG&qQ=GUk2rV!n z6r?PnEd#te!8v^E6e^qSK`heN#~Dfjb^yxaQ0N)dVF>{IFS6=Fg^}Csa$;%#Lh=yJ zI#21)GpKkZ1s-k<@aoM3@}K|6G9aLs+oA;|Jp9n^0@NwrY?t-t1rDsE_!-$N7tG}T z#2@v^qg>fsm9A3N)1m;uB5wr!#n{rvDL7|rs{l5bZ;@*EMMF_k$r)kb^-}@#@iV6m zFl+q#(dhAGo7E~9@TsI147UIr}H1|0(hZA`-PR z-G9L+mU4Vh&q+KFZy!I_nF0lbk6rO&hDm{$R3}g11gHS^P)8AI2|;8P{I+hrI6OZq z7AaA$-m!}z?J)S0h+>zN)AYL2j*4teoD|_>2O`3f2F(!8{$QN_VZ)i6S9tq4ZCdnh z3qpJvF3W_o0OhJ(f`o9wT0-VAFira5=hLMRY*CO!o||~1HpP_P49Buz@y{q@`-=Q$ zu~W3etIxEar6cVhNko&v08b*?KznINodidU~F7-KV3} zLb>u2p{9X7>rxKJJpx=S1|4`GFI#;T)WD5K|a^8%(=s!7pt36y--_c^JeR%vh zfvfh1U{qoxF0eS_&KLX8&Y0M(8|R`tk^+WzACiK)bqyV2bSBC|r8!u4>7sPmV&UHC z)4ztr@O1)JS}5{!lmtg5f{{r|WReh{zrz-vBzT;n?oYLd_hC&n9Z82^=c7S%iB2hX z6k^!J?@`}ttUOYrEDzsjmPcJD%ft7XWLn^Htp4b<$9!ezWq9GH6wG96VN3QbMwuFQ!s7;Vv=Rx3gCQmEnHCRfoRVjd8 ztq`YFTwUeIjze+%Shs}&h03e#pFsEHi^d8@`I7Sr=ix2YBk@E=YQVP((J)1{rS8xK z-h*n|^Kfna);xwbN$&g-*1xtzCypw4WoKV}=3Wdw8nH|amtonnbE3wSoToz%Ym>b!#bSVibE&yMYV@MZs5^8Y9y~x$hK@zL=#!IAnn7l<)6=(bNmkp z_KXl!AgW0=7=)AEfH6^gk5-J($>y}ATQx@4((T8%Ue2l?QwVdpt_Ai1z80A&WDz zoaA+h`nFY9?c|?zRTMUmZl0;;GI?e)2okOTLY!z#%oHk3+7p;Vp45}%3GXt*(-iCsy2)140Hw+m}3U$_74FP4Wdd zRMF9E?tCUnLir&@9@|ZRtYMNJaTXb48Ji6qhIyVaol7;-v`T2*xq?{x$W22_9+D1{YFSR14-AIv#c59_qR!x~!TL10fb7m{2W6LnC&( zT}?6Y777eUx>yVZXyruo3ubk&Aw;ZIqT`JySIv8TX!5RER%}r- zi3u(Io6$Csjf&-BoX9g7P1s;oOUxdlQOUL{6XRn$id(gsP${bNF70wlSeNM7OucQl z$8bZIEkY5|ezQWX)g;bJjGj#7+e6%jv5 zI7!Qv?$lx3JL=>I4atOmDkq=|GPLlb*h>Kw{L53g;k5spdBBxR*D%qqw zE2aVCx*=ht6t#*^K}RXo;zBjIt&Wv)$A?9i9_ID{ZHU>dO#wtRGxG<(X9}w~Ct|Dt=G1pB)_kPBABFFeS2|JWjwP%*h97CsslcJn5>GbMKrM|YoC3oi zW16`ud}~_i((!#UcH4%Di*~}yBOyg~fCMxc##B42lyH+yq@Y_M{Y=UyR~<@`aKf`G z6v&7ANNL_aC`@;JA=DQ2R!TKxe1!)1GlBRBWN=V3u zigrc5n}Oq9jlfa>X0Ta}*|rt#CX7nA2${;{DE5b`k;s<*r(12BCd_}1LSGfl9)k9? z9P<^v^ahxda~>;TBhgz3N^5x4LWnJ}PI3dD7G|(;ylFwhifm#Nt)C< zp!01g5Kd<5-pUgFs&;#baR4oyz1iDqoSiv^iE)OGQcj8d9v&SzWnS#x7UeiK3wXY*1JRvQhF-5HudOj4(O`Xw^e~LMcu0MS?Ic%bv+?tr##v^kttf7FRq7jK39T(R zdSBap$`Hz;Y`mzcVLzZEquiaegMTxE0cY+@C2#a;$WbbiF(ALGJxI%TV>k^l@8+_0 zBJqO#!>UAuR!oQSwiIL|1`&;}Rgzjh)ke4)c^!`;Smq|bnlDo-Vkr5N0st0_ zLQ1hx4C5rh?ntHDm`$>f4`vw_MmFb&g`L??f>dhwNwTcFbWci>{>r*i;`G&t*KS%z zVh&+Chz%lX4Eo%JkYB$!Z@lBVN*JL|UMWdStdxiOM?G>;wtAp;mJ*V{Cay3H-N|J- z6)I_VaCp>!j_O0jN6w?3&8AE|)GFf#Ldxo)2W>d=1_kU*$yxc-UI9utp|cXT?JDgj!@9f+)U7(gFxY060eqY#P~dQ6A9;g@Kb zu^=IO##07am0XH-n^o#!w|YcQe7>QQu(?lAOHL2rewU$rb9!tPNBMcf)yAT@`_ zWw_Xb4wb41N{j6l%*@sa#+@)N+um7oZ=G^dt)GsEe*mOl zomN%Di?KVp^gFA&{fi+C>hfy!t=spzWcsf{S$Kc7-WBPLgLND|{lPAY9C92YN5F?7qh|d6num?Xq-xi{M)9atmPZJSMH`vZ??AZZ?%nocf9a< z$E7D#uCcj+zbXuu-*8J+{JTNldo|G>)u=Iaf>`TOAE=EDYJ00pf9XlJ%r!jf?*>8X z()&$nuR~AD1jD26ZCQg#ZEuEScByY0RCbH{R;BNpHWvCwqxI-nnQFADpI!RCLp|8( z@;IE&Pru7CBZHwnC)7^48)9dZdcMP0q3SLQdMrT9rAV83o**r>xubgoNdsv3YD!@!*SFl_VKNtA*M9upbBG*`HZ<= z(i=h&HN-f&f)BCAPDp9Ya~srlug*2Li9+iHw@agOy|7oJZ`58#%mhonUN;>14!viJ zXQ{!nSr)jeF~4o{?9g{jYHZWrGWD&Kb?yvmsuAvZ>^m%PxsNPeHv~@cZ%y=wTI;f$ zpnmljPt4Wyw?h5u2+VGA|0*HfvgBj>>gAS8#RY1ol!kpl7?({;2*xnAA zcDo#ovMNMEn=md+mP%NPjT}#7&$eJdhR9-&RfV z^%EB93m7?d?wN)!HpSSysj+IJ(eDWJi)os%&Sr|oy&)K^B3M9lg@|KHW3|zv@2uoD zIw6a*39(hv4Jqab79g8Ef7G`c&CJ%efWh?30+h`(R`XjS7c)FoNv;q-brz9qFnJ+v znNnD_uu$w(bZTT1x6X6IhBuXB<8WK5ET)upNF6MMnFcx<1+il3wsrMisf45D`CyY< z2z^grfhnFjpJfD7BU4o+r0Wj%d@HYc$3_K0hOOtIQq$D9>m_}F!(04XEJwX>j>uiJ=U`*6Q)1fMq`~*r+9z4QwmPg-l(uGWff2N^svbJt5^QQz=8= z(xnk&sT@+yjxbYWcgJL~Q{~;xUN8|i$UU`YF$%nXuSKQgF-6`G=VVHe{qP*STb7LC zwjex=VZ)}x?l%WMkSiK9nP|P&j|ggyjU$3a;P3bBVRQC=dR6EY)fP!dZVV)Tej`}_ z&NfU@T7tj!#_b_2DiWFq3oAGL7-pkaSn0Wb-|PN1SSdc$i-{3co~Adi4Oe-)TPJVM zaaUvi@N93lxsRs_UY`HtY}VC%7?)n><8>NCfjlJ7S3H#*3s4HI>vi zzQrYW8I;;6%AI5ToedAH32$G>OJH2~;wzuN=FWEtr%mAvHj~1}=jz{yQ={EOBf#OE z)6NrT#Y~H)Q)P0*Xf%EQ10z<-az-W*N_Zk69R?k+V>rkQ_M=h{GHib)%Zynyg-j{N zSIV<$3Ij3)Lun|oU-XcGuG41g?^V-r6~9E)~hCZ45&Gr88z8D2O* z6%6+EFeZ*{7Hjh86YAX`d*%TVtE^j7aT`=&n0GXjZPdLvZZx#t|JU`}(83o}ZFsf|_3$_+b??QSgBB?ldE2_W^tVa}s>S*tQkXs)m8x;O3U#_Qxdg#> zIqY{uW?18<7%qZJPZgupgZd@c4{=!PyLL_7Zl5o9qlM(`j#aGhE z!lTz{VIhiKybr@0T>InU0HcRW&L__q;DJB+-tiT|hqwRv7$BoEkPL>-XgHowgwrSY zR%QViLWe2L24jlcZWks*T_y}@k-)->6oUy})$In3KQZr-3SczQr?xlw{%fD zlkp%wp~UY3PTp6`&f^G?et3$Cr+h;<+uPG357z@ zfjiWdCC$U*^Mlsz`FZp3#hdd+VWZ@17Hup^!*5*$7fU1kxryGW2qMx28eUsllVpGG z0*gWc5O^XlHD|H|B8bjE8#{C5r&IRK`R@7QUTgR4tkFC#M5N&JXHFG}Bk~k)lMAju zDy`@y8zsVe_6#T39Ikd4P%Fc8o~4W+6uk^hkMle#L{qM#6o{pJ(hG>$lEbJEgQ~Tt z(rd*o#4P6cWz7=Jkf;x^fjA4|i9!m3{m~YVo0R59RszgNu)d1Peqv`F9ZR`t{H!1T zMFN5vALzw1=izUIhfnnvC`LZei}FJ;gs9da{zzoc=&flwNOu-%g69p$P` zWVF8!nTKlg7d%6c7u?ecJhUed*H8FR{*8<27Xr>+@&}p}0BL-y-!WT~U{L$@hZmST z0Q4Iww|`Cj&d2_()9Vk1U73aU7rfOS6&TRN(D5$@e0QKbQA&89l5mMPRQ#9b;d#Tk z9Dah4l2)SBgLqvasNpG|-FILKFAT*XKak?|Xr(*7qWdl%{t!HL3O`K6^>(u; zFhYF1g)|54ai7Jt7dM(V0Sg!ri}V(`_-jtg8C{js8tdjP^jgp&0X}|~dz2`_o;XS56Zu5w z$kzv^&(eHdaegRQZ!+{G(hJ;5^FL_FLHWQ$g7!;+-vd?DDwvs7{QS|WRJV%GKjd#% zB&|J+c?~TY5Qw^Ap@jtQgAPI(CxZMt6TC_1i=e|%uKWmomqf|=D46?@aLl){ciK8S zeEHLP%3{mwjJ`&j&+HO(vNakaut)FySDAqsO`LZ{Boj~3iFMUH^3!Og}hrlU61PrPx6~Ku(H@*z`XfiV!ed>So-HKj23HdoiAtt{I65r z=2Xt9wG$=SC~!fFEmM9i;{KndpGP0VevLk6Tr{%0gHCL>Fv9`LYj*t^QjDLQN#DMH zy$+;&03Fe&UiE{++WJQD!T1*Q@XA@I%J zSY(NYi&EC9MugUbw?u#yGKi-^l%~0V)ed9z22f8RS)UzLbrIuFre~v?Eq~BLKm_53j1bKA z!mu;J9>gZC04uQ3d##rroafJ-LZn@^(2LFkjPviAt;}gKa(^N{7KU5RdUZW8s;yN&WrYp;3UI^Au83fn89yYKJTQq9Keledl5;qk$V zxyCmv$nWimmg;>oa|~W#C?U?<<=h zOz%HI&>htDpr}jPXwzUImbm43QmTwJl8CJpe{hW%g`Cq@G91SwLW^Qcx>`Ao4*U9_ zaOi(no7|2(ee+S(KR!8bSoY{uKeWE+Q>C~JF|Y88KiD#)xE!%xE&D)kL#Q-odPPo{ zt2Xm(+|vY$Z?Bkhh_6o%qa)1gxZ_c(rpQXr*Uh9=E#iRsn-n^w`J?j<2r6b75c;y0 zJs`tDnbkj;Z**KW%K(K}VA*4|uP$V@e=jTtKoW4+9o@2W>5fL;fKQWsR+=SI-XrK% z`}Qs(BJ=rj^SCu+m?SOk9(AT;A%W#m6ya&xvQR)iq|zvfNhmn*BQE5q$TN-(O0r04 zae(Dk9l7GIL<}+Iiklt8gdYYOFPpmmDQ{P#g$JX<%ofd98NU}7RA_Nc^0R<60bkA?x_2Yd1L-z^q*U~&Ze(cX}PRE*-(+F#^-Y}N!61fce08Qg0M;o<>$)wg1 znAUp4tWK)60!eBlHd?#K@cwxB#ZhCQRvNzvmqgSOfjWCLHxhfGZM&CR`uTKm zkWJ@=pHOf;*kKl6Ihz!ACypb%Mj+{sPS@l@7LDe z$?QJt%WI&nAdn}{&l!V$IDP!j5ltG|2mry%GcS^e7*gj*_};W%81VX znX9jVrgs(S*PZq!Pm;={S{5u-mT1c^u(h`^_b-*(Gl<}%S*Ff%tHwzd!Nkn%*Y4Q# zZ&+q=(LUrAm!iw~^>cW5CayhmC_d18S}#nUmvAChoD!VlIPCwqPty6{U}>j+XPy7u z+T5&FBjzk{%8F4l0`!0yw^RYkbd#n46v+(9jag);h z9SxS}lN)CxOnCu|A`pP*)Th8{VZkqkspnyfHvOesP8u^m4Z_ zNqsCwJ;yT;rh@gJKjJ@#T=ivb)a~Uy`Fxge?irai{aADIS?Shv;`d`GpVg7(nTM=< z@y!qH=8L3fLWZhv(@(Sh7OmnM^dGMKB`q)6X)zj<^5)z@}rU1#~h6C zzdEPFE{l)&UQyq#_Zfv+NTly0po7p!LKeKRc;xq|w(K*dR2R2;SW8>E6P2lOfcs|0A$*K`1+lD&Z zWlp`h4YjwmNeI7-GO9C`2$9SB743W3sIwg@w{3hct2+9iwZBy%;StrsT3vyMv zN#j=Slp{E(YW=RpCq(u|n|S-UE0OlAWjkX=`%^V>W8keCgS~Cwrfl@hEN9X|Y~Bo9 zS7YUL97g9f2?ym!`_VbI&7+C;G&(37uuU99X|x=}@3t{chMUS{wWucJesWeygjBU~ zFFuF&6YOuIW*bc*x?`+?>Oj&CuglE>T>O@Ip^uC$MwT~^@x2iE#bKLsa zOdRO%%ElPMM! zhD!KdhgGiFB{KKg{(U=ANAE*fZ?kN)X||*HK`*Db8EwZ>t{laUfrCij%yN1^wRR$7 zHOH-w*=(mA$L~CNv&@0fx9tS{M#i}~?U-Xtnl}Rn5xPpELlf5tb21kl81t6OWE(b3 zRuKTOw*FlJu2)5wu+FyL0a>T6Pok_Z>eR~`Y`uQfsK2eZQ`g^BjW)MqZOXn?!#>ot zcIweSn|(9ev3xH_aG>``udfqwy&CJA2`^esADac&IzA%v79US^9-{b+wqw52`?hVs zs+5!FG~OS*zK*v_IX;ikI+Y0CqH`CW-zcujmbr`1)pn$g6}CQavVJO)ZAO@^DzH6d(7FIQA&qUH4Zb@9C{%V_P?RUJz?y)SCebq%)OpK_$16)U3R^(*Gsw03mZ zdN~s}Q5;la6R(f0D&cB<)5mS%H!?OW-YosmVQGD{;a6|pj_YzRTt{gqX>2ATTksRX zVHDT;xTAC#!@Gg&*>qsy+A?ouMDwvW{M^8h)== zxs0q+ubSm7$Q3xNMi{25y^Hs=EZSG?XniZk+SJEZHtLkMe(UY%u=KvwBV*V$zUw&9 z##1%R*~V6m;?43dHg8rORO53R!CN`fH!H5o@ixsljgLEx4h;N6@V*_HgJir}a2UmP z3~%xImGfq$gV>xJbdbtq+Yu&19}4;^C9q1^fx7GrJgZX~t&aB2s9zS}Rhe+mb?sdo zwkT84>Qv-!_0HN)Zd0qH_f7AQUPm8KIns{V&$`x6lUU4g$B97IH}GcdkAZ_I-eT|K zxG6{bW*b9vexq|5!)d(FM&Ba%(Q#nRK?K(Ze$25&+Dw?!N))z55m@Oe{yo;WCbVP8+pd>x|Jn=iyy9x`$sMKasvZ3lyr*16<_gXvr*PS7TIc$5 z(%f|k>r}Kl6{Ajkcc-GhSG4D59dk!1tW(kI(En28P&0kd=2la*L6eruj+SGCmL0SC zZ1h2wBZG;q)hh;aDh5KeL6o3!cv7;Iw|dD=O@V{d$+X zU!P?VeOW~#9AJ=023|S%-_9!$9M=paFL&;vw3t5kCQa51qMWN=%i)zf;NfM;mW5@W zg;y|OXFQyOxnbv#=Ea4?X}0 zYiaR8-yL97P+8VGbx{W?AZwkfs8g-0I_AJ)buxVtuqLHLbz7GX^`bzg1#4Tmu(mM= z)@pNLt&$CE1`nuf{(jj#Ex0A8omCgiFZ<`0^x>G5^@}H&3NFkP{GlAB__d8+Cr=$t z2p`roMji?E5BNGS{egaJMO{zGr}pVCr*bKp@k6Usv}TwN_*$k}t>F1SI`a}g5|@&Z zQiVJI>5YfbG45sVF4kh0sLh9p+RTQc$gnqbx7djGGUaaDVYk~FxnqBF+oCH@-dC#I zcmnp{c-9YZba3kM-xmD0o%>7yfAAJzymP$*fbdp%ypJ01_{Dq7s~hkiJi}XY@&4jk zbv+#F-hjLTy~G=oHvu@_b&faOZbG@u zojDu93%>EfcMN6T0^nN!T<#g?{%k{!@GfM$MHlbV#v8%$&fgt)hWGvMz%yF$R?4+` zrx9ZpD|q>O1@Gmppy$3)nRmV_l?|+p(D0t<3KB#GDWX!vX7KL#3KB)7HZMvlcoT7@ zhR~2ODo7a>>CDLwtxgn-oyHrND|Lj1w?9{qKq^Qfl?`lWV{SG<%Bmn~RW^xJ5ZdP4 z(C|L<3er~v39Nz?RzVW0V2ncr>7}xbo!;J@w*{oL3KCicDXoH}R@s>w8s6JZK}uD; zdAeFg!GO2QQ=m~5Wk?l;NVPIAQ&*ALsz_{A30+~C&-vuJAIU`>cvt=^{ep(%b%JMfx9JmkaK;;~eeys0BfJ1+ zZ8*MI$6xEeKqbVUsDnSB@YQs5WO0JGQw#@m@fcb#0a&fdGb;aAj8=Gf@DML5Ydpl# z2MzOoRQh50rcvhq9aQ*#55;rw^FX|AJe0$cW2F9JFQ5$l2c_UYLIhUVAC@b!aHGus z9aQi?QP_MK7Cva`|B1rpLs?k)TvGK8 z8l}vC^?H?qlJ#%75&x^#YtZgN{O>^}{uk>-1}GYdeHTqt;tgi25l0NaX_QOW?*|qA zdwhViY9zIHp!F*Gdwc@3)sEwZd#HbBTpU#N@A2`)YnwHa=7D>ne=j%U-{a%URy*EL zexrXssKmd=+sjrPRV%2gWQB-qy?j+@N(ZYF6xT*a#ESo+ge{k>%Cu-rpPxrBCLWGF zYn)>%bVf2}NP!WBiLk?1idXMz)ej}Bn9Pbc{Hg$=ySC(<3uM02?r?nBIB&fJ&-z`|V+~znhxM8yDctKP;_&|FMKTfTD z+0d(RMXFb7`rFL}7}bhiY9rc(9sRAEqhA>fxH&E+pb|%h_I4*38DXi)Rva1O+v?a8fMIJ_IyW{pdQ#_*X1k*Mfw;F9n z>D^MhJbLHl=U1xrt5)mR8MR`` zrK62kwZ=CyH(u2mPp+k9+T+~^B2v+?ppL2t%M*JMa$|zIU%ZN~YgN&TfFch+X;3Nx zii{Xff#L|Rm(e2{6v-(vN-znE#&Ytsqu!UY+6S!9>PuA>t?E#aWkM*GWGKJtqNXgs z6vI~%@gf2y5sHo%{A`<0D%z`hdSA2#u`_D#S3Rtx)|W!HEC6V|&@e(^(xBAzqUCKJ z%C_;Uo&u%1X%ww$P^xv~RYgxh7o+})7?X^8)@fxcJN1_nslO`8sGbf*?0XAFiBW$g z!Wb!i*^DrX_A1I4Dbyd%(sqRUHDa8_LzRt09@40P77uBhXz&n+5oF?_DD`g}bQj8& zR35T&5A|XzI}dFo@{q|Gl}egCs74q?qy9>SF>GlT|8BRK$*B-VCxG&G0$5yhr?_{y zvANpzCnd)lbjG)I+f32wqGKDo1;rA#8|O5*EtWhbU<*FdQbY2&#ebGOny!~=G*E2W zqtRDg8AoO{e(;8bs&3WLmb$1;%P{%9R>lPX`bC>&QMxc(D_+ry+ZJJF9_FBieXkk| zEDzx9Y<@^_h^wOAnML!U`B611qP-Bw2_>LsfSOvBiov(-r1_{-ZS&EkX~6W8;T$|Q z-vUrh@9u?o*R+-=%GBrr6RfdWjet=_YN|*r2@IVc;9nL9n;Ysa5rm!u)&S6r0O%S3 zx*7ncpU|5froJ+nvQnvLk}-s3H#$;HcL=6R*lBoDPlOWpM&Mt^*_biBN8F{Jpr38^gUKT-AyJta^ z3wd`Th?GIP+Sq&HwEM%(M~%wXL!5mlZxOM&x%ZmCo}RY=1be!pW-9?{d7XB$)tZ7< z8&3VfXgYbnohJ06QESr)SIOWoFX75upzG`vW{GFC&vc|yx3aj>MM348)Q{{Wh{Eld zYcY(=hEBiJ4CzR~wqY`h0}rAGJyN%+ywSS|B^YPnc5488nlaHGl8$ z^ruF%_4;JL(b{{lSJWsLe&W3Vc=u>B$=XS=(@t4HrH~Xs8+KE(Q-}AMTuf4vDn}^# zdImXLui0ig%G}5!o+zCK#&q+aO10c<;(sU2*4|08`R4Te@Z=a~>%6gd-q;t+VnCdD zS0m`Sb|VK5-1z~WA<+<3qaC98h;0N?QUESdHIOgAk&3lgZD;a58kf z8-EhLhQ{bJ-$H}kla0l?NkeeZNZK|*aSh80fudF8h1lH`8v|yFZTye$tzWM+8{gb{ zBoT$^?Fg1;;#kyME{bQ8g(43dU1*cSW4q%ikrGv0eS-sfqDxu$$A0;4M0jcrwc4U8 zzcxeX*X&9^hcPv;+W)5at$IHXSgm$qdvk#O3tB0)#mto2ymm^>Zm8s7pDdDueyofS@RJiK}$BD}3PJY0;2(^0T~cK&+3<6e)}yTi^DZ^xj!7}h7`c7kuK0^r)8 zzAZP4A%uu(uooDh7@!x{xB&qpEb*vG`34UUm2dD^Px)qh2mkKAz`uL@6rFjX5~gJ< z&Co@ijHL;>CGSeYfbf>WZGAX(3K-oaa9h+E=hWV$Cbw$glPy~k`-EnI+0ae*zV<FrKUueVRo8LykvMxDsw#cnvWn~dE9F~Uq1QYJKzp`j-iqlRkr z5ZzmZ?wzuYJ2GP%%&Y`@+92@zG@JG9kTte>PU|6E?Ck1T+n`c=+hG^?sqFq%I13CF zk6DHFss!tRxnm=2X_sJB8eu%}p6Du5k>#-{6pYs;W~btzP1y5`k=hM@FgFKhbSn#~YpLHRTrtHi61 z#@AFm{>JAQ`hAeGBw_zMC`U=pn6~FD_ukq;DDZKP4-YGN^uIZWc z0H3LcXc>u_uv$lImxC|5U7;o74;}Pjto~5zI)xvC;u9zRro_Tj1p5EOc?kb|;ykQ9 z#ADjdW9a82Jg=Qv`#NgW3mX&Rt$_4c0f;NWV=Ma2<=Tz8Y=qGjxrV}wm}BzdKR=2B zx@EHbB-Y2c3r!0XdO$X*X>ml1Qv8S;Ami;-aGC(aQM66h*Rysr9sv z6(8Etj_I1XmG7d~D_W!J6EJLotR=%-?&AEjDQXjinRx@J!(!`d6ct<20H1z9=_R_Q zU4xDvXyfmTwt*&#-iB>L)6@n*kEjkj-|cmO8?3}IZdvJ9p5`FKyh?2320^qZ#v!vb zfKgx}n9mt4a4Z{Yc(kLwMhy@B`fF);bh8*sn37|-kwh^t;Yt~beX|!*+xuoOe6ttw z+Y2O%5}DnEl-0J7aFgu|D-N}d9_9sf;Ibb#!7`w+Bv~BRHfoVZYFS&c4lvCQ!B2uM z5(lVRC${0_L40JFN8jX$cK_S_q|Hyx=xNSfxE4m}16{7b_LnRcV_Y=7bkv(5H5|wB0Pr z2-QARWFyN6gT#0DbN{;-`D$%#W39U0_uFH4e7oMgyjtrltqnZox4Buzf4AVH|BFWh zH#f@lzg6lR8}-V@X1xl};m20xZ%%n>JxKXXg9&H{=WlM;y}C^)H|zah^ur!*{d4iWwEgJ*#{ z{VrzkK#Gvk|7zq@^b<`I5YTWuar}wCbB`NAfaw;jR=TY=(A)H?px1u%E>9%Wqf!2F zDZoY~^r_?wG&Ke9fhZr1FuTaC;3dG$i(MJGw7+}4YlJNgD2KRMR{LRLdzCfV#psKENe3RJ5t+NP8#E*6#j(A=-mx z1G)h8xcmC7b+CJQ)YzweJ~ISSj#y&ca&G3WH}-qCPT&sw$t}u_kvn#;JQNO}K)yhg z3wPWNkO)tOs5w<7g3IBw-*wvF6Q}C@_{rN(a z2TyN#9wkAP5i_4YeOl}E*E;Uin%h~Meq8^5<3HR=ef`u076j%61aFsrzK!j-PF_z z!kU2!ivCuSq00IyBw85$m4%@z(U7)ysALNFb^1VE)6tXIK-ofmBX}cX@|r2lU?$9* z={Pm{Q>KTtWG-@!Qq>DwcoPr^lfE~IOn6e8qT~9=MEwU8XE{(5M zFa#ScItoaMCG1U6Q@5Zy1GeJMyz#X+e&yXZ#EK=*>hP9 zy6my+QTr%rnhHKDfx5?o;$2}M>FOi3=F9nO{#r6?T5K{>7(DH^f#?c61S(}_W~deu z?bPplbX*5OcZXL_Q?4MXDd&B)jA1`Stb_>WuH27aixQNO#UW=8_$6X^@gp zs+oXECY$2Eay*%AZlQ>c@X*l!T*8V<;-ly&u!#nW-dq|H^!$EbQj*Y-B{^YMii&NC ztUq#IGLL!AJI4*2zB>k{gfF9E5crs5zMvLDPEkL~p@}1%4OKtXbQm28m6vq#J~PEH zj`R5BytTWx*El`jeR0%CND3UCfY-aP8s>sB?|x-eqJ=fZL~4N=DkbSlJdybFpYJek z16P>zetjnYdN;6i7Z?q~Dv3I1cm(QPHg1Y^ zT{Jik9*}@}?yOd-(WANMswu(A8`sIElUKm9DiLQi_OCottJD58AcZ291H-XZXW)HE zbW(7x)uqidnX~-Mr7bLDYjH&mr^zeBgi0u<7je{|HO^ZvncfKJL zuGi(^bR6QsyEAWI93AfEn)W^D71(^kPXlD%Yy8d={*D;fW9tFTicSp zJ~hWfji82iNl=R!jnCry8F4Y6p@UpWC$Z@IJC})?+2{)OqB^%v%yJ)^Fqxq=L`h93 zSn7@Nw<_NlESoN2t%>|J98LTyKj00*V0v-k1rrX@2)qtGtdyN$k2eZmo$US8Xo3oH zr+sH{%{hmv0FE~l1KeLUgE#`*O*Nx8N>1}^x5N=FXJ;ku19Wce1h>%gRj}q94xA^> zZui<9VDJd^gyT2*!;9Nhiqt!KxU;$DoMH6X1;w8@&I@l0gL8iJ{I1t;d*chdlM+jf z*6;$;)k>vi_5V#r7*o)an3+>!<OI8J}h zAA??-ph@K7>KX7b?L)ubIevgOx+MvuJ;knEdC=n6f%OzH3_?`U28b2}6t1Ntz1uc7 zBMzO>ySQ3O<2}t187Uy|ikc%Rt#%(bDY?#DU-&um*6T_CXha~D6PCCqA4_U;Um|VI z*>eZ@bnLAnGQAr=plc3Ey9NJ{bq{;aEyf`IF-0R}Btu@Voc65%e?Wl06Z~uHj>U9d z&BlG`(&Uln!ur*;uT35Th=0q9OR&Iaz&bV1o1;E3 zp5bYxOeIdxfp?utHGu+-^A^u&32!Ve$WK=_k7;xu34T)zr*RLiYN!Vdz4iaOYC0XA z0}>JFESW;zu>h`UoA9R4gr7zDU2+O8N-rD}D7%khNdDj&(OFb71W0t?czus7IKT)> zpm&o?XEglejn}dds+lsJxoHJ))XW4S8->gQBe1h5m{i(d=6G^CpKWk-|GnW=o)M#> zbeeTlzwg1Cz|&U(NLK-psB z`SPymcF4ui|D#c7Yp*Vs!O{)3lLD+w)Y>i?{8LL3wPOqQ030!5u{ zqGeM|ChPCt_GY~I)898w)8D^JfBo{;8SiIwf5z*V>90?VkwtRs9t9GlGlNuTpL@`Q z*pM=2Y(tN*AbztG3H-2M^@VTzRC__#6;y5!ceDlzz}WYSOBD5H&vRuQEHS3Q3kM3{ zZ5hC{x`}BZQ{l71g>RY^-6bXk8?R5kF0C{>yeWxqp@{CP!EmrTnD+atFn@qX7hPX` zjz(WsOB7Q~5c*c>!F%<174N74dG+wO^27AdZ5+$-N$aP^?tY`$IygBwhks6+jkCt_ zc|v@R>9&uK0*9VePp+)u=SAb?;W1FIL*7=Pg60`LPfy7a1JgL(UjztKH%UW^9)F<7 zIA*a4kFlW)&1jIasFpYGaC2*cRdFGro zety$9-fPH_J>t>vPO9-aJU(x{L~pROx*B>A7#DJvHKFuH6gD~u-lAc4#QA7NY3GE5 z)$Wlh|2gLLitKCQAv9VtOxz3L4hm=m@|wB!k{?6p@0}cmovt5r+;JB@-kRjlm%wAM^VIf2 z=plHmjVBXM%_?#0#(X~`_HYT4V3`P>4804s`B)e(HPY+uj;>2s(48_(A@Wr|$QF#a~9XdE`9iB)N^l0dI9WZhnSoyi^goS@F z9tljqA$-5^uR-6jp|GZoAbO%qfa`UyGhu%<+G(yoa6F&(;!vA{^ahP5l`6G@P@G*y z8cVbl1lAKRMiHXh|K#4nKcf*K#Otm(hZB4(&H<}~-|k>AoZ?Av1Sc|(50L?VKJQHf z>JNt>1E=qQ^pGEYL&L|m^7?=ajAfQbuY}p^PA+2(v`3WBLptS@*?a&CMdwkEXQV&G z)9X+~m$2wE?+syO1%|saZm$%JIXqz41k4}vg}!UM&hsLM?INZw@yNU{Ltdc2L#InS zdu`q<1ySX;$-d?Jr41&zlh6x1?_;4yhSgc4@u~&JnzjXBASW9PX5#hxg&vP#wW5!p z*Xa)fuh284S*}6FI&s!GS3zWSQdu}Mqlku=kDZFNwL=w!6Q{{jwC{(VLZ#$z1^ZNF zAIR>}(MdFnK=rAIHg|zZhgvK-JyL^@1_`aj7+IG9mgqTdM@Q z`2NuVud2i~iH2NQ+`#_}2AdQe?ux!XSfSBHvHAG%qk&Ck>24GjOX%^;y+kGkp0!L4 zS$i2PUi*3%&=I$-LK(yS|A3J8ASFo3aj>W%oSfRqM> zJI7w>o(+2mk&hwE9SyTpsFC8FFfE5jnU&O;*Wf+oHpj80FIj&Z|2A0Ra<30x{y@4T7mbsPtDn#R9B%yUU4NtZbLV*H{J6fc@#*8q(N=k*`qQ5`H_f-NZ!dqn z`t)<>;=iviHBgnnt!(#hd(E8_|83*-uNVE3(Z_$i9lks|-uhQ}!~OaA*x&eNYklwW z+ZWxR&R_g@=jH$W_wDWJ#*5m&I)B!x8mOJCqyK(2?e^bJyKl=s-+bKo*PH)#Pyc8A zW;*(_e0)26JG%C#{)>~t%Eht2J-j}9_sgHV7mYm)M9N~DN{QuS$}%t))&&ulZ)%j; zeVekpZ&UX8a#edmf6G*6$D?Hal;6Hb8Q-~Xy)G}QsJT>nCrt5Q@0HZ^8a;P8SHAwY zOSQP|u7uU2c51aSBfrPF_&aoOLOs0gq3wk|;xe1m>t0R5>THGC|2H(aRlY5PuOw(w z`&6bvZETmr=bpNVqf0sRJM_2BxZu{P&JK;YPVIH64Y$g-2GDbQQrVWUw)tHx#0%dv z;PPc3+oCkK#CT|jCA&204Od+dQV!eX`yD)n!q}mHmD}NSz7=At9{%m9G4ibjol2PP zzsmP?FkT3j$C#qI^Jsqg7K<7^>20cc+zflvVOXvMpq9(5Tr1j|*p=QhRcQt#SShi^Bj6V~{m7N(Cfjcc3AcerFv;a4fmK_kGgWyc)7dxD{dN` zH{QX5XmUI9prDdz*eRv)Y!6%bFue3fDE_eIh!3Z=v=9WUelf;p1(K2Gp)#XM8Ih2A z0GiCDO?GH!&F|_PRFStWKkR-aK@#`G9kjZ`f^|d}zRIeCd$~a zZDMc~P-wb5>^^kd&UhFED=at7_Cz z&?v!nG`*V(_}xff{LCYP@pD&FI0~DQcp7nMs5io?q2d*D3#139f(@1@i)h^1`7vzU z=Y0q4X?jQ-Di&MJJ$~joYD>rc{=|W|NNW)rU&xN!Nb zw`6{sA)-@c8sXzlp*Qo8XilLXm(#kll=@FyMRsdRyS!jq7tyNA%xoK9pU5j!X_;dQ zMb-**iwQzOFZ6S!LNi+WvzTy8v(?zM2|x|lI4J6CH<5z_-urGJ;{^n^;!*Gl%~tHr zx9YS^T_<++hZSeBD0h1)TdchHzSS-2%iQ!-$NF%UJS8yKz;>Fn#L>RpZ659(pSO-r zjvIz4%`yHg(I{iLQS-EQdeC}vj8qR3dxnZ9^ThM?iW&C?$fjMfP*BqywORs9!IqV8 zX7agx!B75z#a2J2>pldJ&i;^JOR}vn1}57H6T;^~WB2?`vjN!OeY<;jgm|451HlRG zbdHH>7D8|`$CPH_Y#t|$ZDy%0g`SY)WmahM%1LQal62#318J|-I7S@p7ZqZSq{WER z{nOUoo95d_bz`HlW9A;tzy>-K#HyySoampW5)TsUNgtM8Vr(Wi_O3nTB{6|aWAJB9 zK1U=Q7*!mOA8Wql+^nBx)be4qRn9wdixdvWi};|y7Om*A(VC@lgf&0MMN+8B(a>95 zm1~EF?5bQVkgUqJLdmLJFEpd2#Z|cmETYOYfn~wfAnoAj-p=7j~zK!MJLwgqELiIxoF(<0xKYliAPWQm?ZK`J_n%P_m?4XIUKtsRw}yvu#DcCn>U$y z7!C7@Al$f;G&X`!3;*Rj2AumDXJ^eg2{N=nPBH0 zg`)tf2rI#d;%0<$d>SoD?pXO@>JH0%79B#3eX8nP7WuXu^p>T5_6$J_YRqMNi4!vn z+5Aj7H>9=NwiUwD91?kMKZ(_JqUmCjCua6(?2(bXB0@Q$nZ6oxKEVN^6L*puBm+gq zKOq{UNn{sa7tEYttB+!iVJv|>ew1A| z&$`bmO6o$h@_-T)>nN9TAg)=(6MCA`YeEBmX-#LlnJupA(s4BJqyX&W}}9B0Bwg` z6)JPFbHd$vB6}oyQ^1}S`53pjgaJDk#QOI4NZ(H0SbLVylOsV}{y zIWD=htWjTj6J0Nh+#7=Kl7ciR3+l&32z|)}K9dA6c-Zj=h(zd?sQ2!mLZkDrsodIps|S@`DBHK zCT(=dsGz@=%NXU@Q0UAW9~}VYo7SMHJ~l8J#~zRc^bQ0V$GQoG1@09c7tpZs5Tm>= zeNghB-~|lMKofFD*b@z63{{D<3TV;sH2XTow5UXt2WV~s$fnEWWR{q7#&`?g87giWfYY(Yiz>9;MY=oXYND*lpNP>~t_wgt7UEvUONMXkFHQ4zP0 zXT{nArUJL7CCs~5^&r;)(|o}mD!VAA^(^2O(YVinwF%BbULT7ajxS+Ay{Gw8S?@(| z3r^d#nx*;Dv6Yz|7Tj&IX#w3B___tPj_GA?x2VA{f4?PzP@ZGIr5#>zfSs~u15Q_=saJ7O(TP2BOJ5tY&(wupOMEuINM@?2{{|++LPOne!MNZ zA9nuhX`}TTOpTW(uN%!@Q#O&Kx4X3zwf-qA55C>aW~3#-NC1%McF%-74VDW%zxgn} z1|Npi3ekKR2`lZ4!r-swu+ZuBFX^zbPG_>iBKNTgXMS1;yL%4~2b&hbtR(l4TvpIj zJpXIpE-e9Udj8kVjmpMmB>(G1rCk4(|MfmT3He{ocK=dIUvnmUJ=;yr^a^xu&EtwU zZjtqoJC`f8hRdhs>%-&2v-3k}IS&2u%I&neOgp!V#LIG1zO)Fr=RG*UI1ldO#;L7Xz7$8WF zwm{v@=MAP;&cEa08LEAvfFr!o$QeNY{z1>RP$1P;NO$n=kc}uA(se?e&$I?YB}`3+awU9D z=M*&6v+xO&b3&sWYqdbUc*4Ela|oUONN1;yPYu2pdE-@t-~uWvd;T${cMG#p?vNA7XG6y-! zfhLeMzK)VJbDo-VUV^C?YTm==39S4vozut3j4nH!h0zHg`Pm$sNMUmuUY5e*?d(loPevGOaSdB1~ovdW<6UYi*Cn?Gh;X0Er&XZY1Hkg%FXgvAZ1)E7> z7u&ezW0w#MI#(zxSQMZ_xm1AGMQoIH*i>g8bNGFe%uZ}T<_wqK|9|j5Pn-ubbvQ_T zvPqpcVBq?bTOhN}c*v=wF!~&c75#nFQI{_i9gYI0J?#P^(~WdS!!O?KzigZrpa?3E z-)M|!33RE27DMCAr1}6#*jACRLvr>gK%O$`UwQ-J&rn6VzVY0l3oY;)#?Jhr$iSl7paQ8rjN98 zz#cI$AvI+gO=^eizBl74)>$y-{Fp#YLHYgn4vy>l?^#^x=!kbG1oV0FK7GbxG=0x0 zl#4d0)c4%$#f8#QWA|-iexZcvxW~kBdPCGdJaeR7{ooWxJfNM0K8zyrVOF7p6QDg# z?-hPTM%O4U9Uiw%nXHibHtpY!xv^!6-QmJXw|!mpzwt{~^CT zp%*i*y}(sI#ovj50U6~e!OQD>klR(0kDP62FYIBKyMrj8|;1W3e3alyj!V@=^ko=(> zKqu{Me>e^Lw!no|ScYWMv?cS$!QY5ichx#q((O*@GC5wQ$QNNqcD*8wgqgVr}$x?Z3ldSglnR#{sctX9%=4W9l07O51SA1OVGV^c=m6lIjq-^1g#yGMuntyhg-txn14 zWh>3ZosEyMa*03ntWPJ>pBXV?fzWcL%}-x(;!fV*<1hbb+5L#mZhRR zpaIplh@NT{48AbRN0@|)e~g#X-i~8$B`=5}{4u>6VfSTT57Gva>>FmE*?IoV+|P?< z-k=M<;CVE;MrM%1?!XQcUc@tYWRKmA3MH`thu#jOg9W2t@$q9YBrCQIES6i(n!CsQ zC$FWSDn16|;xmm|cuKR#8eK^GtQLNntVqitbj4Gdmn7NRXjGzdT@RR1=kKO$_`WV0bGrM@uN1t0vC~R0L z-sGX!aN*gLsBJlG==Q4tn~Z|FZ!49bUQV0B`pIjUSUa6MmGZ#-={8X1T~4B6+E3ZVH-3JrSw+9X^QBjwxGqJG6I%Ze!ZIKpin@`&dsw6qxMQLtQ*$e0q$Rfg!O6cjz)9<080%(jXlAR;wb}7 z?}V9AVPy!Dj+?@5kGj0ZRTEu~7@@Sp3(}Y1dc@CNyC03NcIgBsREKYFKl|CIyK*w( zXFf-xKCG2r9!`>yrk*Yn2N2V)mZ-g1++ zVHP2$E~v!b5KpCwuW>);rJnUgl+tq?3lL}&^Z8$&IG+4ZZcv$5xSviho}1U zQS^B%k%P1q=QC^K=;uYWen?rK+D>YE$=213F6Drvuec4LmrSJbG%?QFu+gjwj%bj# z8RZ^dN?ax^C4|To2#zl$W?OuzHXBIQtjma5h>h52cH?UnkmcBBbK7J&Y_T~Uqgk!D znAMhe$x)*Hoy2E(jZ^VSW);hNX6BKEW(%<3b2H0Z z>nw9I5)V-0o%u&uQ|?+=b~fK9R?WIjyPu^7b_u{MN~?UYZ=dqYZ*u4 zTJ-CI65P@00E6^E8O!ds&_L1M@A$6wXDhyH**3cp)@#`|xgt&0pEyLAp0f^fLwhwS z+c2ssd}1`4x~T{Kfc2Sut4~RqEPEOcgs3&Q7-m*idod_!X&Z;7Vur=0+Kj=fTz{^H zt7JOO({2^pt(xuLt?04|iK z`K>21^jyaLV0bku>FZ)9RO=Kc0wkhg61IMBKj9z%MAo%aAocG9Z$jN7#wdFKn!0q+ z)Oe;W4_h8v^ENJs|1q7rWL=9nO5R)HDOgQtP(Na_^LeXswH)ik$+*a=wf27 z1w_t8gKeRZy1uonxJWr_i`t*%T6gyDTI6Je+>d1jcD1=8rW`o!TWJcC_jUK|c&!pW zBNVQ~scLI7Y+(kgf)z9KuaqM53P04mVu%rb%>+m0(hL?oYGif@=HtDIYusu%Y8-z6 zsQ(5V?X#_xOpg!BMjT@13zoHx^0rJlqQYS&Dkv9QyZieEc5MihBJPFbnIx5@l_09i z^Me@2EQw4o;CTqc;_c1^Wa3^ZAoJ+dXmcmWXXni~IGfIYmH_Xp@$;L;@m|AF%6y(o zQfHQh;hTelMzeK(a?(0`y^ATUv9R3E@~%3g+X4~(h!M%}iIjmx!c%INI|pRY1+HNT zqam{=h+)Qi$k%qK53P!`Upo-{EWCj%K33t6>PAV4%Q^CsW)V7uM9JI0G868`KKawP ztIz#;rBHQ+XCr&Ov3WP!zvD#bQjokiN@E5<62&fRR*HCLxM;e?II*$ zA&1#}g4s7iY)DJ8Cnbu65LVJxI)|(ar*Ji6V}7wX$`q|Qx8ht-SuUa=m!}l(L=i4s z`B?%et&6HO(?&Hz$=;<<)p^T8fMMqn;vH4qVYf?^#LkFWltdW?mPANPqXjDYxG%GzJi{Z5Vlv=Y8oT`FNCS;u4?}BGy0Jv8NIeV$c#s*}$;;5B6{Xe5_&DxmOu9Ed z(U*&(8v!bD`3P;mKvG?qFuAxwPj7ZM67>2s(xb-l%k!UFuMc6(d%pKmF=Nk@=0&O?YM^Om)pK8(NmpTZc2_DkZxM zbAfKAbUEcdXM5M}W@^MqiiM%f?t~NCu}}Du=X}J>U=>D+iHyiG~HuJPu{>4o&aO(Sg~O^p%c?(H1ZEVW zz^P#X@8^{D@?jXEuVp%qe)AKYg?1^WwzEks39!t zWsouSxhjqKj8UnazsY&YlX8+9DTBkTvC6htM9GwaF+kISS_U)7VBS;~3|JxrU_oKI@8{ks!f2&k08})MZ{x|sg?f$p> z_}K4%`|s7$-B*n-dIcOt^RlvmRTM_|itIAym*h;mt^lwzvF@Vnp3--e7{&Gb1uQWgxA19NMaQ&t-Ru3<@yT%`elkWl0zwNJ*J_#> zBZ4!5%Uolf2xiOaLF>)&-pT7z%;k@(!x(V=&X8Q?XGtXrqkKijg5i zuKl`+bv{-g+EAoGkY`!Pa~!eslP5l(oj)I$Xe$9GlLV}4<G|EPT+|J%7_|fOOt{yL)(q>&i6dNANSFmy+DHH0PNP;^?;s2<89<&Xez0 zV_lLQzg8JJ%ZZo3YAs#C&CPY%2iwtMMsw~P@3cY1a^6SO>yy-ywsLB!BRX9F`P3*K zhS$m`i{H>5#v93FD(X70fPxxsDJE?i*diIkEMU#pJsmSup+@5|4W~PkB{8po2zzFl zIQyse(!sKh#aaTIf1y|`SM0})`cuA0N?dz_Cy~UqTKv2MqeKO#Gi^s>5guhbyOk8D zFvkS}bDW@O0EB>SVeyG)Tuzs9?MfJdzW&HL_5dF)K6IhUI+3rK9h$8QJrT`^Tag&! z@gs(Z{O3QE-*pwg|LANi8a^N23SkB}a`cd_J}qU%CVwdQ1AF<{sh32b3;a{R_9e&O zoE#YP!kfe6^IEm_qEQgdlsNq)mcvG#0cszo$Nrz;+DW)3Cf?O(h@LmO>CD&3GE1O} zdxAA;PGgU!Cg90}s=l1Q5 zwot=Vz4geETRb^)dX8m^h(rWhjD}!wKd(-m!q!@StxEr^6qER!7TU2SW?7fp z^Ra3+{!C=blvLP>b>7ZV=iRJ2!kdsH)r=EemrFiaWh0*tY3HeC#*ihPx#AkqUD6df z@q)=1&oHT-b`v7f)q72EBK4jf{!imWC<<9uQTFP9yo*sLOo$&(QdKHQiL=M|O3urq zliJxqyj>i`JLC8hOF|Uh^+koZT_ExV(P^l%=sOFlaL?`DK_))fX!i;*FC5{bP8_-!>2F2W(qrYjzjlJWEp3<`KWe=v)TIc z<+3z$fgJy6viX9N$o=VAe2IAy6JR&Y1L7&yjtMn$>W%}nE*pDimxJMWY-*VzX+Cj@ zIABY>sqyVrR_*iW#}VOXehq}5`3=VGmf}3xD79XSb_wgv)-Yk&oR)f$8d%B^ws4$p zL4>}wMj&4rM)Ft_1xcRPw=+DkZ=(gWL^WTAe9riKgqm&InMmRHi2j1GrQVW&Yk&wB=t;fQgcm#`s;^W7;`oneMwE&VS?L_V#X7)>sc_A{^lb7;hWNaup zNg|XHLhPOz^pRw17)nkvb9i3gv7UW!IZF+MiCGG^d=f<`Pl^`cI?e(6jsuQgCT3t^ zR_$Dk3S8&y7fTe9EJ(zAn;@ALv8x1$RduRRTuo=zq|W3Mbf7Zbz>pfca!pgARDUrY zx`@{$hreZBHEPR{G0Uksuj*(`Q1jd2IhB`XR%G3^L^-8`DP($jBDCJ@)6VF}|J?17AMRE{jsm2mkZ zfsOUkEx$;)Je*FlOeFrx{s7bD$~|j{>IcfRsatFKmTiiVG1!1I@CCd>gvsM@JCmu~ z@85>ZmC@c4$KapSBrjdcw^cZTI!a!B(}Ju0&ST8LhS)<~K6@4f1?`J3Nc=J=2z) zqv3p}AB39{F(WGo zg>RsnSspA>Lm?YD?_3y2J4Mbe!{qv_$XQ);UZd<^CB*pqb>F=u_609`I3+dKcYz<+zeq7-R2<@K*fVE@5l=8@)iy^`E z&102W(PhYo8P?h4(=f?G3sObLGHkSk0_gI@&dn`8B6iwUC2RRS@+R6yb)H6M38;J$ zD!*{jq*KO{kA@k_E;Yy8vW&(h$<8#{lV+a)6-sfI(L{NWWTPz9jj9rai*|!8ydk>> zMQ}?F0}3zy9S=KRz*%>CAiH2zhtok?s(Nv71ef+yv^D(yv-j`oZ5&7XIKF@TD#p(9 zu}K-EFoUxldmkJftu2YB=tQ#P@Bs->LQE1|05qjdd_CX$_+8nrtKORFngf6u3Ur)Z zb2l^v%=GkBS6A2Zt?SJtNcYbtwt`;g4|sX$0;NqQe#a0ms8q> ztmDa~wza*aI)b!V-)_sTttEBeS<0m@ms4C!&9Lm*AiM_0 zj*a-vZv02@-a{mR^ete->g8<5(sJsSW0IC?!CwEf07ibJ61<52ZWc9f%pF!vZ~x65 zR{v6KR4Ct>OL zP2A%y_{%i7rpg{hK0KRV5T4-8c(Ejm^x1VVUrYdv0Eg4d8_M*#6I|Ze%4CQq!c!xp zZ9OvNCwE-DRL8|lSkNG9O>k(u7++C);U$VUPjBdhCC8Z`JIQtVE&vJzzZ$(gU?_sC zEDN6=t{tB zAI4%w#o9{S_$ME!qMx{bqs`H>PEWD1O=)FDem?%nGnZFpAHcCwOr}kFfEtWoli0x( zUu`^)Vx@?bpHCkj1TRS{aaF*xO0XLLMErkF*g4m8ZX)XD^i%L+opwZdGAL=@OSvu_ z;pj3F)a5)feD~InLBTyQ?s3nve@mZ(euXnmOY6n0Eq)$f-nuR06yED#>7@NLx422) zi|m2sHMBF84R%IlQtsBp_2eLo+6QMdr$*2~+cT9eW|x=J#omqS)VQY2%}|(lFLWWyF@VOe-CGc^pMlp+nO8EGV`gx$Hu@?8V%dzx?IZ=gH+S&-wC~ z%k1T}^WR>5p3EMXzs2QmlgoFbO3V68&kfZsUv1HdUtX=vNPT;i*XKs;0D2ws`;9;yrLk<5Y5$}uOZN$o?`{&DZ`sX=qx^7m57k#`IYwys?<00zF z5d6<24bdym&b@kmgWnMiaYgqyeO-pYKWT_xP3zA1_B^)H7FV%S2;7poGoZlNV`~%X zCqoMAvvNm?SobLkymZsyIgzGU=y&#<_iTQbh*qxko!_o9taNW1UH+ux%xMUWr&YYE>bZ?vdOQ1U_}|Mw>{SUJ{EtOfsQi z0YP?=P;4iF6l|y2y7bHEZKQ;d1w=^^WaI8vg+1?O!`<76gB8b{oVI)HGPd6QK2fPn z=Gdn13(rJ+<+a*#j4p?`2l&CHH{C7@Wk?YUtdcHE& zQTY0LPB)S3iQ7pld6Xz5`}o_WifDBpA>zTmRw*EtzY?HEPNfI)q9i^d^KHqCd$7jx z>dV(Dni(g(IT0~0aMrW%wrIx&36t>;-B--)+K$}0=y^CB^6R2xlb_zIHsyd?q5`BB zKc>vKx2Fu^lsUpwnpOcchd#SiMFZXXM-1^$rHo%I?n+^NWsWRv`SS7CxzKMsRd@Tg zo>8%Th)&Nhf){`49z>1iUhwtdOA>I9YC=2`go(_#IU|Mr)1bBQ&f0d_IxjbT#jRW= z9(ubVD1eMf=~m?xU-fv7rLPwZSykoh5}RK-b2?6)PEOOEn(hrXxqDaAgS72_P(kpU z+CL^JK5eXgeUD@l^@Ds5l|rN@Z0Z#EetiCi+v~~nBDN~jKPgnC+n9Wqv#;Z(SVbKH zUJSn(ojS>VQrHn72K`SO3KZb?GjQh%_g^Q&j>FU8GYZTN_NfT=ulyppd!7zX``u@! zPVTu|_Sb;LUS6C!A+g${Z=Di(HeXI-hL)Cw^6BTAT2(X&qi%xfb^z&Z6+ecaaC$Rd zF7M_G-5Q|!wpFjV-_17tZbkfegMWwo8{dxk+p7Bf%wOq7kg??7HGGN&1KWEcSf~Fs zOijGX6RGl)tNh3+PqxaFs5bd`i+}UWRXhBfU!}^^ub#&fuTJ>iQ~rHHze9f6ke?Cq zGeUkw$j=D*86iI-JLmU5=Xss;yv})E z=gIq@^W4sPZs$C=3BUh@pE2QQO!yfSe#V5KG2v%S_!*Pr{U`jK2|s7T&zbQ1Pxu)V ze#V5KF)jE0=a)0eI!zIw9{PVBmJk6DMkV)*VmcvBnsMuRc5T z>?6Xd=2t}xJVitG??r$@t z&Tuf){EBswvG83R2LOK;@!vJfl;7oC2?>liIkOELw1ocG{krcz4Zl zt>hg+9q_bpCiWwqk0*8fj6`s?{JZ--bOw=ouHFUw+43_5y)SU^V_y782jaJpUPmYh z4G2ZhzT=+{6=%xtRmWkYRGDc)ull*)AF^X{Of~$fL%C_KJkV>3Rl{1hJbfcb$Al*!p&+^NT}o>6?@q(7AP$;n>SyQQQBxFLI_9^i^Y07L zn4i&T_!T(A!8jHQrq*%H_e4rL!*M-UoD6zT@$MIXHEM}0Y~bx8&*j+dou*%V%=cpK z=?D&wK*wZWji#pvWB~TF$ZH-8=L=L#tRwa&zO5&;7fBCVHsm=$tSVuZ!MCzQ`ASHH zvvYZBe5OtPI$m`An?el$H{uKhCyTrVHL>%?34hf+y&?PCpwziq0myqEt8?z@1zOjV zc|oeliLWFocI8F2l#;Pr{Jc@gfc|z5aT04sX^|4#OPs{>N{f`>Ug9LBwI(7ZxR*GI z-!Uyxf_sURnCa3YCDrLJyoK;jqC8Hb-yui=(b@MLN%GlxA9nfCyq;O z%!yX>#-8axHKxFVuc05tLC@C1V;vxP^cg{w4qoi8?+6zB{`hNIl+MEPt+!_ z!=6#w6BaJ+oqDSn0`tPZDUNq=DZT|a;BP2+P_fTq3pqvmj#51FeBm|z970XRoKlLw zeVt@1>;}vn+a9VJ6fUvTAz;V;^A6vIT{%gVGKf})c___n1bmA$};VYn;!LI@_4XR-$fDYi^X>thQJ1F;1Y(x<}_iLhe zIAkO&&@iJ&!LG;A32xSFR8vP3q~lZ_SCFgIguien_E%G>mXPJ+y1yURH@E}`FnkTQ zFp*z+9r-zsIcGIbb?hPRE$k3cO4`CDu_6WPhJJO#yn~4VTm4M-N{|?0>X4phctUo( z+Bev7V`YF$AuZZ|M9g5CDA$k>IJ6tFQ60o*7vzu30*VZb8At>eVu@UZkq31Q>J)ey zXCfp7PB!p;q?9tywC2wt+#mY21Al|M;-TSLLs`QK1j<78w-ZGQ-&L!A)nTSWeuYtK zC1Z6rPrEZ~{s9nYsbdW<82K#`#ul{SDv40T%Zlc7;iuWbOM!4xzg)60ph-`JEb&-a zigW+usbtsL?h3l z7J1gKscqD*`}?s;#EwliJcKVcW>pP!kG^ccnokz#FwZf50Zk=Ea7G@&Zj7;uC8<@k$01D{zydJvJl66ci4qL*SBg zbr_x{2OZWG9E-yVGliNd?rx}j(81e&lZLSnPbmgkk?bfjk8M}OdO_H>{kvoINuvCK zvoIGpJu&(P1eAK;j*4i&ifNzA-?4za@b`mi@G`)$3N;PK@EC`aI?S;{CW+vNkmxo1ixvrcq=H6}(vZp6 zyx3S+u4#OFCBMaE4cBO55kc#MehZ-j%K>K_81O=A*bU4DI$`YmjG6q*Zv$*Qu$yQt zYMaX$-|@4<*7k0(i4t()8jd_;LZg5y4DW>#R%|zz*9kLql+h0cyim>;%qu1Cp*u}I zV=9dTA``I+Y<`|UTrf@LlGL^rHaHH0FcDVJ8sQqpsfP0xS`1hk7S(yYJ%U(|!$wqA z3^W8dOrQ&3<~Z}K{`q6Isi9w9#5|aCBVxmLRP+HG11?n1UZ3lDHaNDPydy*fjxN0E zL?44y&r{%DSjG^surlkDB4H(#$A#x3_y9n4{2s?zSHc60U;#P${5PJgM zync0|6coGxxL*_^9POYZRFMnMLs9G$jmLuCS@(Pws;Hf4?#dpADuTnK9lQ79<6PMi z*x|TSYodtqAz0K_dh&Vfz>m2H$^(vbWk+7b5;2Gm6YK{ZhoIv$wrt{gL0aL!n|dm^ zqpH->-drtHYkHxgeDEJYMeM`@u4H{W%7SRB-7;;ZB|DsaSSfL5s-O}iW$n!KO{5(A zKG-BjFg|VhJvUL2PqASURTM<+<7Z!S-$Q!Y;2`+$!w;W4dok>PcRUQ94gWkm4!(Oa z44yo57d{_+*Qfj-cgY6<-+c0BwxoWtRQPu}yPi7QIeNZc+)l4ov+-qIGv!97w7%f_ z_G-GAox3j<)AQNQl#*>91ygsV+^ndkpX*X?mnbB>oZoThN2>Ryf6o~}?l5>UCHS4- z&1!YC{Os}L>Gk2=>?b$aWHvsWFJ3>Ue?9(&Cv&PNbDB)%5579)baqWiZCCT_)3_6^ z%2iKNPbe=*(y};bDU+GyrdBC{pOBGm-B7j2eMSGK#?SRg@_HnD#SJMR&^qkJ-2&Z} z)z963{>Vje!R*sdby`t8829DHLP{2^(d;{`g#vH#~)_I z$LYSb`xqdbPNh432H(ubli=!IT=)hsPpbM%O5$jJ&gYB8ba^vJm9NJAEUwvRx^i3V z_ejYrtRG~QAHN*iAoA9X5$Q3a_k$oW*Pol`&%bE)mdfLzF(N@kt@NOb6<``f-*MAWPbh03aBPyDu||LCQi(LPI4<2 zZ{K{?hfsW$2*qOvMV11~+0~8PK(p1mHQVR%^|?r-oBPV6w<3$^I}t@U!mxL5W|vds zT7Q{NXOv;xYe@GoTvHGJ)BW!=U$09)^Z=1dRIHH_P5vtBb;*-4`#0$0vJl_vtdEB~IqSKZ=;=ugQ}rxf6F3ds3w4hu%6pHyaP>f2w|j{Hl!wAKAogZSGUD%oE-Dy^-_-c=rWvX|Y{bG35%d-rgS!Xkvo z<^9GtyHoReb+PwRQcDX>>kn0T(mN)-+5ar~Xg|ffnoaYIu;R+o%UNX&RF5@}S*742 z{ZOn+fC=DNi6&7yln1P#M0YA*PeRUT2u_eONmT z_JF?3$Ec z+QGX?zg#Sr$h6d?oj!YYvxmOuw9L6zd{6Pby<&tebVkW1i|NI5F}*&YdO`e&m?`Ju zYxrBvrorO&IvBqm<bn*&WlX>Gg_x>n<^`M{JWg&GGyV**9;-KTn-1U;Te%JFgb= z%V17WB5&q*Y}$zIpWeK211+3kLtcP*Ai{Ku{RWf6#Dm0BVK>6q5rzFx?jO`GesS$a zc_%onC~K!gJ$8VG`{4U zRs?e3gyNwFGr8{x8BwiRZf)|1q+7%nGb$EeB~+t{&MyRD%gtw7?YsB0l#vFRx}r*< z_VG5f)*@!>bk>X)?I%zJhSw>v{WE1UYaU;_=j+thj91@JA;1x0X>QrdY8z#xc~OB# z=|PI#PR1&sninY-@AW#8in^26k+CwbL;KIkk;1*_4zdbhXp?`JT-19X(M7p3JEMXd z>wb%RZ%wZ#GQTq(&A-m$7>*=>KC$HLd&AQGmeh|zYw#+mlU9v^!mJtc?3h{aWkLNLGVA-!QCF_wc`KOJ(~2CWc${BckSr2vqJ+&Bru z!i-c`cQ%6!Kex-(co78uF`kUC-fg&U+xP#bKZsrh!^_Lr z4QKKY(CHGch_6O_6j))k-FScfoypy;{u9ZdY?| zHW&mijs`CezL}j*ub0zgXk% zv|fpi_|N3&ZX1V5{>t6m-Jv_9Uvut?`y)K~IXb+VaOe83hW);iK40C=CQ|~zPhPc8 zuNw3h?`~G}*NgGZn|HxM@Tc+hPt(Pc+#yfhd;bsND*btUy5E;p_R&f@ci3&*O{P4Sw+r{MRY}8PDx_)DP(55HR=&~$7`0;*B?mS-{zPmYG&7EACym@?{TyYRN!BCB=9iayg5d9eRpC3Pe zRtf&g9d!pUKAE14mn)~896Byo&WHx*)5O!}WG{0DXG-17@22E!8ehJ17k(hW0xaTlUIdQA=BEInjolvjcGkep; z#qCe_MC~>b)0l{=Je{-o4K>M=kc^05vfTG?Usemd6kg) z1#O=GoALGa^fKtKR^#)Zh;H5fvC!>u{`y@!()5VV?V!6jf8&(NO5j$xUI~7lUmnVz zjwnv-=Lj<8^Zsx)J_mQv#gFMi#~ojOAdpKjq!JR&7)a^yBc{q<&lWSM1&l;YIqmFc zH(Bj?OnWL1ll;4BN=JC|>|}WStose?Tvu)~^I&>CKD(rSxOT9mP;xQ7xg0zGJfALB zj&xpVk_&Z3e%h<~(w61#c3TJU^daA`1_q0j+=L?u!+Y z%V?J;mrFY!_Zf``^f`E8=;&Kvh{-g$dFGb=!p)2RAW^VGoJPi=DunXv86X zbhIw~p7qXsMGJ<_=C>n?+}tj1oEn&{2lcL<@+Cee?tGQpKE9-c9&Rc)zr38^ahDUy zn8VmtZa)NX=9iQBq&V0@YTR))O~~gA9^vIpZ!2USU%x{$x@o-j#438-MG(;~`{a_#C{ng1(zSpTbd~kC=t}QRRyuG=Z(>`Qozg^I2hT#|? z{g5SJ5!PH*SnZ23QjAPTSAX;5t3MSZ(~-vSWNH2j>axh4w2Hru5$#TISF_9FOWbMX z)CC~k#owJ>Q+8tddhq1W{``E6$=p}Dlj%_i5IS}1 zdd53;^y?mV+5Vlt9GkSY8uV%peVnXb4+gc|gV zkORnP)X{XdfN$C!SA{H6PraTh|zDvt3<1t9`L#hMf( zPEsd1zU*}7{)x+wX`Ahm>!14J7fI$l%tt(Dd3$ycr$4e;fGlaMUO3x}QTDkNNYUfn zmExqzqq!c(t${>iguN>(9_9(s^MaOTP&|wqalv2_#xf4f5UAc=fTBz z;l$nT)z!Oz4P0k1qV6MDGn^yQsS}SCHA7FeAo|;NETpGvX_p=DnvO~tlV`WMa_a2= zOjFBIF!Gw=##CciIJ?F4%9$T5MzAtYDWZeQeXwPAGG=OaELzqxOu=xpquejDL*v=$ z&BkBtrE|eI4d+f2cTCfSD)DfWxil81)RuUv5Qc@r{Sp`H__D1h#4mbxEBT-$CksI> z31Vj3TO%e;&sT4`@+KBh>p-5lu;N&p+x!nyEct(*xPMcOLx03uFmqj8%B1&#l7J)X zl?`j^>c$;hqQQ*s{rYUISYJOaLS`!ZKv#b8g+y_(K=fO1<|W(_lTeRIbo($rESH9< znlMGqTy5BfXUYRU4Q8o$NA@mtZ905W$Vx=6f+MToxT2;Pmcza6n1nSMrrNiNB&(-l449K%gRtShQ9dS@Q(y5TEpkPOb@& zvjP&0eBH`t-=F8?G}cqL<C6dGmRO8)fhcJg}a223?%PWoI2 zkGA)TTTAuD@^pLca-vx%^OLh0_~uv#pb&r7Jk(1^a{YXKNx`q1DQd5s7)7jzl!MQ} zVQ-u{PFV+W&apFFqehe3DyvyOf*(A6KDaCY`*u7bkHq<5aEw$(Q2G3ljC>f36bRB1 zUpl-We2GpqUw#oZ!YHex&1T~ZSyKC+Gn!BUI#0`~Y#X-R-%+AjeZwUF{ z<#Z)RIn-q6P0zWr}2>XRiqWRMX`!40R#O!dv|n@QxwAHPUD zW0pcXVnKaZa>JLYmOpw92EQ=S%bP)hMI`vTo7k=J_f#dkfj0M``` z=YRgH-<3i{%p&rdh;Gl8?9Hb&UCnO}5CeSlc=Kq*0wX3CA5WitibSvNQ_Iml()aPeK*yVKm^ZQD$Z-(7J58qRQQ7-3#ccgw6PmvDC z*>!NUn7>|7Xkw2g3Aq3$n6@t))hfYgIn>8n=SDx07P{dO+Q_&Mxh0F4jTPWh%tk*c z_1SRurm@nZg6))hzU6MV!43w=jFe|HtMn=uEOovf9F(I~klW|nr7Rn~RB=b-4;ASl zZuj9e1iu9n`@DF|ue*3n^fWhtt&v*TsM2ZJsg2j~G)htMXuMb?xHR;i*y<5d&_@Rc zMcLFz_hL7~r=KPs$zMLmJ()JcuAj^sEc@gQ5oa+?znM{>^&(D^AQv)csD8#75(mDx z^~pd!q14G|Xra=ZgvDx?YYKugT1l1Y5S5BuRiOWP{hU zpPk&N2Qi-8#dx{OULJ>%kEd4@4s?TxzVD8Siy6g=+~eLhs-4sG#p>{!2VX8PspGu+ z7oRH<0vfxs?ha#rs6AbIGoG(;Y;!SZv70OdzF<&4#|7)STGH(sQK&i@^6LMiC@r6_ zW5*^z*3wTS!oNRqYjWfMu?Rm(_Wv)HIPGA=<9kQWV&3|2xk`Mh1k}h658?a$=xi~b zUEj>-mvkAXV0t*clQX$Z@6OlZ-RpRKtzGx;?*4I)cegyerylJd-pV}Ozk4zT^Sh@z zSgwC}z`yY0Yj`{Z#l-LK{!#kfW!SHckN;X89~D3Tr}Ct?yn9c*xqE0c^Kei4gaY<= zk8Etm*Wuk|9#N#&&i&(lq>t)0($jT#e6{%TrAbf2hMnzuKDmw`M=+oGZ{#2E{&BCj zclVjzp0C5>+r^JB{r3Iuj{iL5J}cvn(T(_ zeyINF`_ATk1^^tY9>E^zD*P2V}86`&d+CKs2mq_KGQcI=8y89lghF# zuPXa$DtNGNUKOOTk^)AV%xk8Ukm6DLQ~E4FBL(5e+OZENC650OlP?MY7gcfv{cNU? z|NC?AWaSJ3b=4OIxAU}BW&oa*+`~wk^vc@2_FTO7zI=K@A^Xfe{ge=D^Uo_vRVW_e z$6(FOydkKl9~QZfiw0Iq^VM_}r#n+ZG*L1KS2Ig0#qPz<^!X`)gUZwQ3fT_dB~i+9 z3~?`JxDO+&V*-vw=EwWui}<~YBMbUP(mat~#7wBQXwe9Kl|Cb@YiA3_8TXSt!dMNP zZrkGD|63LbZ$pbD@Aa!Kl9;ORvoth>M0){~OCQ{GWr#3z`}$zIN&xufH?*3|)q=nQ z^sw|E6(+DC0zAl~uHM~Dk=?)p@ml8JpRYX!@PJ zIvOepsv3V8>Q%X+o<4te^40UF!{b*nAR^k^Z+!8m=f@|fe;Ga*9=|v_?#7|gUka05 z_Hub6`;N4nN>iLJqSBBGlB{o5*#xJ=<@WK->fp0e-|&0{>1uT}O#qWJM=*9D)w$^83j zKDkNdAn~Uw%9Jkrc)nZ}ea@&UxzA4uK2mAD_ND%5`YyN`&lbh2?Y^Zi^Xn~N1dj;+ zq#!L%vB}5o5|*25Y0ei+wyYap^sQ#&@2)wDN*>I6?!;W$R&FPf2)bF7OuI|`)gSL+ z-xj>N`u^3H@4w&ACtD?jfn1D@nhD6tlYNFzj4hpb`6sDb9)Q><%d|Yj=g6(+(YDHZ zGUD~l9zA(E9Go6KfAZ|)^!d@rlcz+qP#;RdxGIvE;#+21j>7Ow5+8Awe69znCdFcQ zKG-VGa(s{%XGx7s>S!`DMskq7p|=k=#yHYKZo?(Lf=jZgoQbeoU-$TzCntYmfXDCL z%I$A^=(FwfBJr(UEs6vmZeckhw`U7W0={CPG70#Y=!vsbw)j`>0Z2LCAOCzE_WgO>JLzHXk23F<%Kj{#HqQ(@n2%)2mW9eUF>I-`Y22 zBY`2~=4XGOo)^;@i=U&m$i@l9AJ-ld%f)%d4VWL90c3d?cQxsXnk%T76l=Gd2eiEk zr%2VL^yQXAeAjD!Nsxlj$t!`WIgr2ORp~q2a#xK@eKJMvqHG`11lH2diQw&|%PbzV z;T2cDtGUV9tr+g=hJx4x#ww+Lm*fALi4!+F4@d_#h}Z4jqfJ@dhCQzm4&yg)|4r{& zehHngyY7x;%bM><_G`|x_ezZtz-w~zdfmb4lV?ZYotzH3Cta=MUy+-Xg7Wk016op9 zeD>RPU-X|m2>^hw+(3VZki}(dWGnBY@np6wrCu$HwDGE>{`u~~wxxatSzAmvcx!Ip zrEY(f-2TqKVX@qyala1V%F@Ypy>`N`5H@p<@yepZ+F^|YHpinrp=RxGSW&=eN<*^u zD6rVF%Qo)K#MPEiuGttXq=XtGo7^(Tu(QM`&%{FTEkIfoeaAt-yIK6zkAmG zbN9(N6kGgU>-9HD?V0-JDe^RnQ((X zUz*=&=1S#W8&&nbuyjyW3@l9jb55di`oZh@)zmRv92-QPM%*uLN#0fwE_h=F!(Zqz zWR?DlFE)ATG+~%0+imddrX;14t zbm}Y=kt%2_LG#FfudZE$oL@1$7Uk)e8!%mu5Bej0 z&Sy!VTAVQZ?Y$N!vq1DiUB#*tSEOFM=__NN2|xd!h$pIri>`M07aMnZ_J!i7MUJq% zDL>6Ucssj31Xb$kE3I6uSejlX&DQrC>{T+D``-;3zGcQ#1!ij(VfzyNrpO<;nP{@m z4nCW$Vv1DXhoYO7=a;nn+1y66yl_(f!j#>07ekxxT(#g-;g_ZxQ@6Y_>mklInXTT@ z>g=xrty)VFm0Fyr-AdcuqPx|tx|{AL`@ZxowD0UX{08M~_5iBatl%K|O{hz|QgJw< zK+|)|;;e)!Q}D9th3UuGoS5|(@m=H;8O<=>vlqt~Q!kMO_;L|GpBtEcxyNwqTv4ox z*lKn$J13l2w-?FJQzf7>0`ELu%+8ShE}JFz|NVart*dN%-(@U*Wy=*tD%rTaWtKXB0LCS&^(IP?AiC=xg z=-pC$2$$oV^{bVuu7CU}FlnjTt&xz8!c9Uq$Nst6|My-hHNZydty2mMb;1-)qTrwZ z3{s!e%225sjeZUKWc4RBR~Hr&Vp&v~_$MaU$6hKadcNmg!EcLlxn3z6b9SG5&Kyd@ z`Ft_)MOFJTjJE*R(~KYa8P9LV|9u-f9sU>|9!7s_AB10io?P@xJo4v-`V{?_xsgYB zKV|BEnpB}0m33mBDpe|dDXEaYv-&!n?3Bw{aZPOfKMMXb6*z0^6**oB?kKtC&)%)3 z%V00$h^ia?_3BN=G=8Dsw4|QZ{q%eXFOtw_k~(P zy>B)v{VWt5bNQhw$vFG#9mr07`j_uEn6HNIw%(^~u}|*rQQqWE-fq!s4p00xy~m!- zg~PGqJ#xL;_!VY+LKTpUNL1uyz)s9GAm=cRx5O`!{UA$T=74lR%otvOJBx+Keh$h> zpK65^uWO?Y))lh z9+kq06cXonlB|@Qv~98Co;^QL3Ez4p?LmsDaA;W9we>4jCsL^e&J;p#~mafq6rqeWJoF=}!Xa$}1|6QMFyk&XM2c1QV6y%72bl8A%mqPlp5ePj)ryX9No4RlYG=xnQ=KEMvE(=81Jv8}zH;3Fim8RqYM; zuTZxB1Ggpp?gnJFwIeni$v#0PfB*7pmg`u5H=>ageCy zU+HX3NT^gO$Sf6-mJdoUq-W?Bi(uh434zadv76)ZiOzl#=S#}uL`=Go7H*L7%?6~TFQ z>ZGF$C%X|MR|3H`lNMRjoek*xgf+>^tRCU&_LA`*Z^rMa2MSdjqCEgpqwR@?6oO^C!?*G$OGzr57&knv^I{vS6&n2h(pT7Z23|fX% z2#1G1nq4k&qPeL&ql>Hh{Mt)~`S|0)yufFiDgcd2;aTcS&t@yP2lt-sJ6oOt>Aue9 z{e(u=51Y`@JxVnzet$v;WKkJX`1ji6Ehg;e{7R;mQXXEEZK&=cyw)s8?cFr^>6*al zj@|PkqB{1bfBb1tnj(X%}Ca~ zX1O5Ed}NbX4-aqt76ps(_3Nbb+Y>=cqARJH*Z6uhoeFsD-85-)hvr%_MC{aEHldVg ztzYw|y1nG>PIOTZl}83I<`wC4Hyt}}N%{rRlc>=S4R^MXwqP-hV_C>xf~mQmr25gt zjmF%gmv82a)%ope36C63K{s{Cs>H^a+)`J|R7l)WHEAwPq_Y$G^H9=Lc&YFEB;P)LKA>+>h?_ zh#HgmeeNw9X}8dW*?p9pEg!qrWy5iQEoz`2B}?l2%_oI?mz;N(GwzeM%Cp0K^8RTa zK_+3tmg5l==7)6Ora}vIr>=5Jf_Y_W2eW<e~1FINXi_fqN->x{(t?TYP0R*gz(G;5`xY}Zsv;aEabkLVBJSFkC=Y%hwY z%Qik53RmJjuwzbNf(3Dy6P}Kb?^Ze7DO&JL~slxzDl) z<%*WYa7cOi>xO21>$@Ixx=w~my_Zcw#_PyF`ea)7$*KQssCe60_s#5Lb-FvtFT+43 zSyv(&>{56*#R#uVOo9iMlLev~{WW$n8ucSZ=h8aTQ}Pl8ckszCW2d}ZY*LhNFURCN zb9Y}&-9meaaq0(r`L06Rj?N-gx;v{-E=SHQ8t*kb=CM{d zXXf(c*`E`@iSl&WK9||`&pZ!$2r1L_n3Ou5BhK?bKjec(KdXYiM zV{*r$XWWYD;&gHSx)R*bexub=cNbm=b{Sy^v=1|#4{|-fW;~EDihZIly-)P>{7@Dr(#MYEY9-x>1b^ht z@+LtvD-a3v9A_mw`RW;O<1}j;WNjfG_g>L2y#2a|zW7V`=sh2~yc^#XKd^jJoPrR# zr3@GL$<1EBSslFLel)X*bOfCSFDNn^{AD_G>g#IZ-aDB7_iZ97j{o$+@%_uc)q+oh zZt&9m?iFQsEbmSiZh-8)V&eMfJ@YE5_$0$cv{ZPI>(=-R}AuRhc_wfj)|p zdz89Ia|m9lM28nQ)AN}`d^vpFbtE~ctwrtNtk5wbLtV|TZCpbt825J5Ks_7Y&VY-qf>%hweJQ613c|^Yo8^%IjWzGW zd6W*~xZ$1SsV{=J%x&Yh?$=qIYWB{3zWndSYVU5}{dM=Zy}g@H!~MtgeR0DFTL;a!1XHF@1d_g_V$4gSz<|}T5Onr2x&Zb4@s_9#|b)AvyG?b;=y>5ube7=Z42e;!}XkWEkN8h7zvcVkNTnovf^IKFWyc@;@Y7^Pt(;G^Tk+4wbQa=aqOe;JRI zJjthbBDWK@DD!I%hc4}j$qE(<0*v)$;a>f}Z)ZzNOjHyo+GiT3B3=t&qD5v;#;VZ?)z*h%e37S+2nG>d*vSJNb~5in|}HwSPfB>JqIHv zf-txmuPCc&Ayv7kLwKbK%GsBW>8bNOeY@l&%-C_2v@PfT>r`^|@_xn2CR)}}iWIhB z{va3lDc=+3>|M-=6*>$#WVawS85TfS23LKz6`h zRstj!=e5J4Z0JpS4@FSY10AObGdRh;%rOd;gK=`7Gt1DWS9O3%a`NbA8tuQv=kv3f zV~+E=TbkLmlN8H10gs+^i}V{3NB9TQip@%c~7RMOrvDrIA6_P-a*3&)w`-tWOz|NJNZ3Z0Pn zYS`}wwZrHz+=sHfTzwXV&w|g~*H7FTUVBP)ZZC@T-RtqxsD~CJwJZxOsemFTqC!4;ss86J)Mtl5&-E9snV(Y(u9!u!VIcMmj82e+sOCX zKu(FbEpwWC$n^IrtfNE!WZjW}5+4=Xllt*VY@^35CIaj7MVe6UMKmCNh+Yv=Vc znb*tQyk26gmvmZCQ-+sY#@hUjpYS_=B4hD8{;ifMoGD+ahZOmIyO=-8)O4_v_dH$* z44-0OCwy2i!FaJ4zoWnRSjbQ?YBk>%ftFraaSy6 zNTsH_4fhn}FwU>1N*f`a>4WUDS+M8KFY)%w9J8M<*q&VOvzAZxn3p+^+yl;k_Y@7TaR!$y_%aU%tX$Z52b$}2Ney0R%Qtj5I~#Wl>=u-+QblXR0Ean{ zKh5haQS8!8pM_SGUS9zGK|-Yu4hp(9aJS1edd`vn8$35qp++%)1#Wgey3Z zSM#~M=%=YuFVD!a=+vLPYyOl{zSH|7A?QZeAkAMb3j8*QW<Pj-S}V_{iP&Q39w`4fZDU>rZ4fr-D0S7dl$| zf2mpn<}$8qWoKz&l#*htxO=-Uft$)s(0oWYTwSe=G`O#_j)x>5 z&plWwJdHoyI$}7D<;`k!^V#Fa zcXxM(Z{9g$bb5I?yK!rGIA6SeJRA)kzYcF6k8fA=1NL6t9mJOK;hWXfp zwUgPBf_S%d$a6f-{Ud&d7b~X(j2DhvH{=feADI(nd9PvzlniYf-dP- zVk!T_Y1b6G{v~7J4oKZ*e`o!L=hnS0Ni`?dQs{Q>r(S&JK`nPBkJ)@drt+9SNKS^L z4a&=SPoL`Xy}BE1?7NcLUq94;j9WHtsOF{{9T)1#?aiiXCjb0lENMkqCg5=;INIW- zP0#DSeY8cd`72q~ajHFxJRib-~TPzcYhr4A4U2pR8Ds%Y1IL@ z1}RV^DMf>?isGxtb1L^0DYD=7aDB~oJ*zztwF-dRcNlwY0(=Jcs0T0@LZl%mE+$GVH0p<6|6@BEG2VDHVokkb6@I zP9o2HN{C*$_p>uX;g!*kg^Oxk*j!`OLXPuucv*Q>5JVkXq40B7O)( zBc3{v90bwfi!Fo!>9Y@tH+Ym<*YwhuFD_oUr+Y8l1f7CUM9I!E9x}}B`(nxzFk4W5hFW&we)*!qSBKvhMvPJ-@l|G@*%t8yr{%!ZSQfe>k2i2(e8H=AYZYJceMP@! z+DzQFVVA9Y(*|940(XK!U9-28D0V?Z9TX|`KBOMSft(X=n3{@JeVf>K zi6dtc?0q2v?{lb%91zYlT(Z)76u=4;%jwV4OB!|9mzWV{(@ozclbX&*L#44O50>@zIG|P`lhdi_e`np%*`eo`x0BdA z;@=YeYJd^EnIkU`<9=UDYz%HTl>)Y0O>gq?vClqWCz5*sBmlXKDrD+? zi`G1Blt>x~7M<(hNbO=;R)F_AK6kqc7Q@+;2;wegGwV8-QGZ>^`{693Yd`0!_{BcQ z6!^U=t2BaR&Y?A|cGs)8p^Zl^H-u@4E7Cl3DCNfKE^3ggw>Z9KBIR3-}m z_~yacVtjq>$QpZP6Z%f(yqM(X2$tlGCzl2=n8{n4w#B++i?zvasue~Txs;E#;%;rE z4JOit=CB(Eytnm4FKD)&(gnE>V?23^C$^Jg^)2R8YGUtgJr%s>uWUR$dww$fEa=9v z>ukEZo4VaJyLP*Tcm4c!MSs$EBu~q9!dsViF69yubmjP`B)t$n9zjk-A=v6=1SI@K?X^ch~duV3+gj*Hbhb;KcMK2$Bk+3NOEO1mGjPAj&G2 zypl^^t-s`Zx#W8ll>IPW(jqO!cZA}4vY7p>q(9nFLj3bzdu-ZmR~>axAzz~2eKKz?o-DxV3KcBha;9hKKr-7?6=~yUx!d$1{^c1u5$poK%Y#h zzP2l?sVl$r_U`&I!yn^5+H3UaYWC^bF;g11|KmvYD$BS|maJjWmM7I>6W!zI7O=zG z>%-#fWwqRfTj$QI1l~U#|Gb_%xg%=ymSANb^ge0Wb!;0oV-AbR`rdJBESqkZA{C#1 z?J=0$AKybWnX%fkn0~TMbi~6VgXa6Bs!z6Yu-2S17?l|l$$E8^xms8&Z`P!^aI@`9 zmuag@Nchq~!k2auN=<)E!nMY;zb12aq1C$f>YC9o&sAuxC3Ue0nO{b4^ZLRGA?Ygv zNne#9se7eYDMvugW`9^?Hmx6}Y}sQjm|mAX$(D>%ZhpT{p~}6>zeTi$mw&6#hnMs* zcQN8|g3Bbekg^NsNWDQEl0u$Sg<E3|KP^ehC` zUc|3<-!$|s0ZTS>A8}>*J~uiK9#yhn`Ed^7ekH&as6bz%>cFen!`bS{8lyP2u!doKn$s=jA@Y1K(o*v^2wbO3DKRh}ie#vZ>g3iKV$xN!}L&)en z@28VUxOk4#N-40v@x4Rnh@$i-INE#(k?&gpT<__M^2PTP)NTFvzdUh||I6tMHvvkE zrfIJG`pcl@-k8$NgOAo-LwPGsz@HIX)bgXmPvIy;Enm*3v&+5UI(Qu11^XI5qyPMA z@APT+<>>%xl17AepZA`eaJYQm-5c?ENy=4`TdHX2qvIhD?e^#&(+|)uz@57?NC9$? zQS)HkL*h#6h9$*@SAzp(l+loJgvDOpGp8w>rxwc{cN5)|Se(W6x~?fWq+AWI6=Nj% z*xMEtBk(+K7W1EHZYc7{&)kv76=HL$7b6}S(=kLY3ew$akjd=z%scQhZ-=x(r=#$L z`FUWoxVrjw!TE7#?`SA4P+r8~@mwqS_34c36ep7y4Vv8@lrMKh-=EL9*Ak)R-!3pl zY67=pP?4A9iXseOQy#RqB+ti-#Vkq38~@DLVPw)~fVIzF6U7#kBAUSAzqq}+B3KvE zQ1oKZJ|n7t!YI{aWe9FnTEW+IXYkF~btA(ESC5W(u{bO7?$P9cid^Z?B|Y-$Fm-#L z0hTwH{7AY39@jfPz!DDGw-h5jJaqq^P_{10ci&P5FDW=~y}d(Omi5YAH0O*GJ`^X@ zx4Z_#9Yo3*px5TXq$2&m1Qp|o0tSu)aN~;~=*d62y+=Zv{uT1S+*I60f7^4j+2@aG zT0d4WvG~^6=|Aoc!e8j(*{PfVXI}*IN73K@vFHBSpZvmsltUhGb{e`bCj5!J0R=Xo z-4n{>7I*wo`YtTT?we@V z{xPE&@xAmC6p8%X4FATPyDL78ukfEl^2w*skF+%6IcKYYa#C;4Ic@c4O74_qYqUkM zvIGLarA1gs+7e4*OD8ok44gUF2v&$6kT;E6WuO-QJWXynOjPex!eUMojOk+9#0eFj z(r%Jo4TRGdn=+spJAycWo2Ukjd*$@SCC@abUd$Pecwr0vsQZtJ zu;wS&U`)b^eDLFs7={lWVj=gTo4ymehryGTu)|_{L5q$ya-2y`vd_(k0IGu*#9I_4 zasp!JzLd3q$aVwVy?Mv^{P75o5=4kMrj3z?|)9ds3 zMDT^kDs&22_U_M^Zq8Jupw|T=1!$BY^72cTt z->y-u_A!;Kcq&dSuSho@ECBQc9>QBxXy^2L^=9vCKltMp?oFKPB73qh&sh-E#X&Ttndot+ZbPKad}({wLYx5&Q6aAK%aOy7N%jU009 zZ0 zi-LD}%()#9>AK7AY^5{Q&d&p?=$4b_+)wf?D);1EQeV(4&d<}?c3oaMVo%E4ARl9* znkSKR^-wG{*GwG*d-Ck++iJM49}^I5<;y*&F^-zJcYobPH(yBKxIyLlZdF>b73@>n z6Tu$aU2);ncrw0OrPBdKh;@_Q_*rn`n?zIIxf20Y=R~L89ob!yibisXa|UmXmn44NiSV{rTUE=l0v z8NSA!`g<7!;8jC9t5Vw%8VMA{BZd8PMbTgB_3K{NzYr-KZ1oZ|@jEdh(taZLz;SdE zk%`KSB#3tS$(Tcj+&{5UAg2Ab2`bik3<2$?yZDLCkPCVgrNW3)*-_$$$=T(Pc%mwc z=jG8!Hv9&}QPIK8{LUR#LKwP^hl<=#&jc@Kam$;53|3kNRuD-uTYm0%-bq2Sq*(`o7UlHD z4>*{fq)w$uEs>ZNcjsj2A@Yn9g()SBJFd^K=~$jjZ>HQ(mWC4}`OfKCPKMGca~S-I zZI6Za&a>+s8~NxUYBXcxmouK|hp5i~t;v7ue6SOIR)hW>)*1OC2%G%RAgZ?G@9X?| ztqGF1T5?@A{=SCqtN6ZF3*`FvdmcE9>i9kk1NnDM`8i2da-S%09(ud8%lSDM^|5%G zBg6yS2dXpai0)WHGktv(5%V zjU6;i`3HPf2;h&sRV^)at;}%mc)IL35y$v2Mmh|8E zD*noplBKW%{_b^xqL$-QSME;Q@7P1gXHcf7P*KQLrH`61& z5+v!X5F3DzX$7KyqV~=VDgrF{e0{Lxc=+O^dkh!1_lPrDV}MwS!QhjFFBi+J1UEL5 zg`h4u_>wqtO2!B;+472blZ0+o%i|OP_jy)-vkw}J^TLtiFYiCRli-CTyU*Wq&g({w zzs#$&K4Qf|#C=(n?a6(+S>&Sk%C2u(b0tQlY!_S{t9slCSt+ckac6$ZIjzx+_*wjR z7!!9ruabYNpf&nrOSjX?9;YE&fvyw5d(=_u&6gz^5QvY3l;8T%|Dy z1L8}H#uQ^C6ybYj6QFo3{zc++JB-h-w6oH3%*`kMV9oCENLQj?Cx#KJ87HiK#AUo! z;z?nz7J1#c6o%ob)O9eveLK6H zkCWSY^b=z!0S(*{h2Cp$@4(Y>?BjG zfVbA7E}c|@zyAt{@>Z@&4jK3Q?(a3cln!YUzzm~ZTu+yRgvK6C(pCxLC2gp4kkLF5f3Q`^;P6cEShyz$m*Vvs zL>0uT05RbHAZd~$vI8asrAg!t$_NKq!Z-7)IYpuf6gV+{-Nb*M&2JMfBlxbvpnJKT zJH_~?*$tG0Bsvkp49VW)j6KxM5T@!4OQEB~6ziqkm7j9PPRv1>vyx;>ELr%{f2nlA zY6YXkbQ*lGodbJcgtFOEZi0O_SqWqKxcfAw0o*m@KozH#;DS)VKWF1ej6K$^o`0RJ z?u>E^#Q!u~CTQk&*$hrEC72zgulI}{me0ogYwC%hw6zVq?$m`qckRCF&wZh(Br&<8G6t264fnk`jch+xwaKT% z4J{QNvT=h2ch%MW+8@^WRHnToc`c4@NPvVRArp>}gu!vqhK#Fdv4wZMC3n3kiyeq% z!ouZp$TyFr63n+;`H-I10@}VUKx>WNpY*xMbS)ks1_*x}@5A?Tmlh}AX3yMT%@vnA zv-2nLhyDakcEwutUwPTq3|BB(RTXlg)cNSd(={of58y45+S;tUmtMC zH}E!{i%BH~Ck*LmW9He)`CE7(C|x8z3=%A7PH_BD8<<3779556Iz&jetB$;L?`cyE%|tug9Gh4wD|On`TsLUw~4GINH$W|;03_bF;d#6Sd3ojWto^1 zDOvXKZa(CskaD(=NSVjzBw~nG3_Ca8JO=yWn3aBrCa0s0DY(nIPJB9#uU7{YTonx^ zr4A*@C>qdM#$Z!|rgqH@K?OxazNG#?z?P;ffTDqfb4r#(zw2Onjjk<7V0$MCt=yiQ z{`m}9a2Gxuvx1n%Bf-DGtjPBfcNtQdZd7=XR_)^4H`YFB~(lFu{Nq1tC3x103 zTO|F2NYv+ACUG_b1A%ct2HUuqcMNF;Z;@-MfS8-FXXVzP@U0~^< zJWiU))GMx$tMXQb0^z3$)uY_Gk)Ik0|CphQzj|7P{OmIqrLjxF(SSC2`EFnkfcr?L zl426?*M^IO!eVEX2z|4d9>hMaLbih?PeAIAa^EgiL z2W%&riN%L4J>qAU#azjQ<72u;x+aD<`;gqK`7s}-)!R&> z#AfF^N8&g(RG3@jzuxS8FS2V2lq&evDnTrRjSRp)A7{^ibOJ)aZO- zY(AtJJBdml?r{y33c<SN#cM#kwA?`0fd;ECnjH2t+ z;cR@qV6gqDTCF_}J7IEdwCUQY`ncL?WQOmua0Rrbn>E>m;+M%ZE^#UZm+alCWE@WI zNk_8R`+=-JpfygQU)D>Fg7#>~$G^gU*_t(W98Ux<5KF)9v63Uwxl~eoa27XTK*s?7 zjJW#ljU?(%<5mMxFAQp5x(Xi+zb4Z>}|NHcHeClR&kwi6* zdGcwTmd@Rhl5C%}M$937D4cN`dwhRL&8;S!p6?Faw)-RcTT<;3@^_yGE&9F!N2)@B zU`fJA5bolm>O6J5`USxx_~fL_{8AP)L$f!HE-X2dHhGuiW?kM876z>iH=&u3xT5TZrAyLi^i{m(dMH*N-g?#s_A!TioK&+^Ue zMnDA!?wOn#s_V@YXDCiD+25OTVUIb)KP5(`*L4Eqv!uGOsHO;jl_|ZP_Hp6`*jEl* z3jcFLpk!zjICB?nMhk`g?Q80I6{fG>ZFE88`;6Qx;9uxExL2vuj%;j`RsHMP(RUTm z5-OPjsY%h*Nm*2tOtkq=KGt01UUkIulV7ATQ}?8u0lb@E9lnC+RR_87lfCDqzvpG*t@TAZ z$-}Cjr;O{z1v(_)y69+fYeo9Pgg;+uZKY5r1RNhuV-R^$RT?Q%drIs1G{Co{Re4Gu zDPJVy*Jt9|rtX|{V8ubXIL_~v?Y^x|TAz5(lZD?0jFks61x>~%Qu-#$g9AsIKF-tKlmRh zLfKkEC&Db7a&c1BCYmW(h##2m6dnJp!%0s5H0CSQ&)SqJ%4{ecJT1a~uq&wxVY2SI zDG-jp@{L0LnXS0JJgL*DGZ(R;HphoF{5DraRtbrlmmhK9XQKUhsTIf@J~H?5<<&fa zs><&rVOLftkkU?IPQFASeJ(umko%Bcx6&5vT;O+Babw|RM>0m;biABhzSBIme7g()E@<_6>DIv|96*S(@hygDKf7v{0#x6*dlLsgW-I{bmSKaFf$($XWZF9A@ zTz4%)<_;5mEN6(CQI4E!PLcN39jpxVcFAQM6G!F6{2i5ur5CW^W#3CM`jU=ZuA9Dr zFFVQQeN$l)r65XD4%1d@+oXa9un+MoxJ#W4dwV%Sju!=j7@77%Q7cPmEok#Z!vx2Y zkEgU0P8uM6?U-2TD5a^C%H_&Vx0+ecc+}K&MfEcok{_pODJH=;!|tDl+9b$0XN!@i zU;OF$@yY35hEImaFHVlTFUYhYS`9WLP(OYC?BuKGPlv~^;>-8NH$gCRPu=!@J-;F^ zRGi~P8U>fsvK)xfv$b)J1^7GkqBK~`@-TREMcGx4r*Cfr2wg<7fSL+A-P?3`@wliB zX<&HdrGhY;a*@_cY5^a60ciRXd`X`Q6-fv{dVzYw%kgBw&P$@#V?iH^Lk#M=w~zlP z1qaWaVO~D|zQWC2LZ8_mQb(rnNs(3WV+B`l|EGLL|IsF}bl-ma>C5jQ5G+0Y4m{Ou z4PtXsdvA2~H81-sqNB&A@{?zOj(g;+ZP_B0wEs``DipLF846l<+o(Mz-kLTDen029 zpHZM*`c4Sk2VsW|5Qw+lqXB|!#pr3#F7$D~`|ZMiaW902-QH>9V0+)Q6~eAI`jeD?V9-QC^cn|DrJZ`-LeJy~y{DuJgk6ses z>GwseUepKsBx#gaFyNI8cwie)W*EhN|9HS})qvmf48NrrzAQ1r+WG;nWI!hJy_#qE4AR+&&2^S6cBBo)&hmqpLM~(}fLU8k_n0bm;Sq6N;Jq-25Zos|Ni2Hd; z7A?w)_?6er@SyYzzsC%}UpK=8>kN67G2kR=eDy*t3ghZ!=9wCH1KT8gm|ErTBelez z((fPjCw$!eD(&v|fs|4(pJq!9oids8Cl%<8iIV9xOLdzh^Ask6&{4gUJdmBGf$Sy= zBxCx<1D7_>JZJ*_D?N>~b%`0rM|s=ssG!TUMrT+TTRc8;{F}E3kCHy8_eE)7k|asZ z1<}@fRq?%`ps>?9xMDx_c+tAdw^(eMbx75seMA74; z7*8~wl3Vj*dLjb~P^+f6p;u-XWhane!Mv;_NgzcyG1awYamVQf#>Yp8FN3Su>o=SY zy1b;nF5jUpm`jhZNmpLZCDBqfM0omqAjg;+LXVg@)bjA_nZoH!A<6>J4AU{2uO2`4 z8$zL_P>eJ3VgM;An0B+j7%!aaPqyVT9ivH*B%L%&2yZmjoV)BTQ8u?nYXq#K{TL{7 zLM>ldy4@^hKa=OAd{2V0{A&6_kq8cj@O5w#3;!OnXe9`!wU< z6@6(OLinuces2x!1w={8n5X~5>DO{Kj~%41uJ{|$S5qty}#D;nGJd8&TD*}KCkbAL_)WkqPF?? zs|r6JBg+DX329}MBpjR1Ix><(V|~vNblTv^JQ{FP6H@o#@w2az107vd+{#hcvkxT6 zhj~yng_=5LiniO@B;|#lY~pI#QPOhuXLm`=*`ND|Z0yf?zhveDoo=1e?Fpq8KkI(u zU1`8JTxzdjI%&5|?gfS3SHb*7B65-;O948{4xmc>`OU%Q^ylfNEk$%Py;;5a^wS(N zdi=e6(kbWGrSdQC*(V@R8?G+N(Z=R)zf6b;5j4F7qNiWg-hLN zEH=!P$^vcJslm5boc6qfFW8`|anVT%DN4DM9O0=heF# z@MbEa=LR`>bu?5XZOccEy$(MAF&72S7M8A?{@Mhk`@ThPK+DUdkmT}jlP#1lD3>iM zQ_>=(C@Cx@8CU_KS1u_S-Xr_6NZ7J4J~$}KTU-M-W>Qrie?Y=ZFLOq9*s;d2drjdX zH3X|>uviTz_x4gUGhoWRdr{mODRW0T3)2(=yUQ-zT2rdOGp3^L=%vp;vgc``WtdiW|O zF!KKGSFZ})-j2-sIedXvuiVEP&n6_B zyVJ#+W$YRK(~Amjd71L0r%D`YT%K+YFQiyyD2H!cdPwwDfI6J;UgyOT|S4lif&3wCgwOxBO`^i#2q!?A?ch*ANmgK6q zcB}1j>Et7Il6O`jr%9p%bWV<~(_|@nqIJET^Vz1|-cOq?xa)d*vg5BIR{T@1j@Eti z=;n%okRNZlLZAsV%bY~!cjpM@H{R%w_^_-)qD&g2@O2>>V!YtE*5-XO3Q`ypSK}RG zm0gY3RAeru=ya8CXO3|65&*4f$Qk9h6AtmuaQ{25|Pw|46m_EBkKlKnt!pSy~lk|8I*o{OcBLQ_D_6SirZ^Fm$e< zwPaqs@$EDIb#IAH6>z^T01DNbeaD_eBYn@up4$!WLC&LIC%pS>P1 zo0-7pyFR2*6^=uiS*S>r{pP*Z*WXxvX<40ivmZ9Ao~K>05awH4up9j^_wm{mMfKK} z2f4w%JO1-9YBa)*x*XRsr_lC#^6bgU-l==F(`(1O!QoA|`NAy|Yd>%o?N@@sCDpCF z|6bE|bk8q^L!NezkGrq--ckntUlZ0$9{4udif@ZIB0qLNaYhS6E)!_2)!jTs1DG?M zEazBOD>OH1WPdfE1a6PduH&LRN@O};9KO3bT+JU(&nIsV->j}K|Gf271~@72lh#p%iO)05Nh2#c+~SA9Em6L-JQ z=yz+(zt8D+jX$Y}^!uz$zsFO_jNUX{*rZDv{CirX-xoaS1rOA@px@_p`rRBGhMVxs z)eik`Py9?fm}A7Vjp;nPd%KlQw@6)eY|j5=^R|9F2y5K${1h@*^8(hT*EbKz07zIQL7|VA6ybbjrV* zmPO>-BBpwsZ<|c~e8CeTX5HFMb>1U+R(B*X5CA-{{KflahmXn(AMJm>t`xCID5@+v z74=FI+kDiElG`Y$Nb*WA=XVF__5?}fTYkF#XDp~IHwgkV1yIRHPsjLUG{0S}-h33? zjGbBenU+xbRLijSxLs`?-b^kq`aFgdlzclvMWBp3Zjj|f;2UZ|@8&#>;YkXEYzeI# z$=~i39Gow+2Pc1O^T@4<+nvrPlqK%|lkpSfois1WRA1v)e(ALx?vTs*^e-v(KRBWs zbzZ!>Y=I2u^PyLN zNH2UHI97-WgJ|z!nxYV+ zI-$c|x;;f1VV5(iBR8DeTLY|2j&MKtBPa@_FYXF-&aKrif+|lxOo4gX0(tb4MxFI@c6ir4Ntwdg^ohTpjyP>?)_L_4BB zAzH07yL3JrLKDuQ)O1Jt(F!=89CW zOp;Cob#$}I2Cu@#G7z1%wIyAv(6N&W62AvJi*46ErPXI}J>-`alx%KXAVxkbO2e_P z(7!5uI>!}Wn!(As`fX-PubcPsZr!{$EJ!xb^p_$gzD^ki8D92Pqnnsn67=5(Yp4jz zXA?HhL-P;A!%u_a)1i?KQWn+9PU8NqsgywaS#x!`{c3mR<@9>bsZ|F~OZqU=?u2KZ zzns?8*{moH{!mZ7%wCrLoS~08)qixvc|Fb3MxBq2{86J$(TO!Ai1M=LJ?1F4W$ZV(%uli^Vn=>5rTFC{}eRNpIb}MO>Qj*{r1e5?~oNEym`A$_-O05Orll zNBsSZlkUlr{^<$D*xWZcf%kfP9g90UN(AEK&Fu9XV&SdMo3wn}diiefJmMcauE&}Z z1$o z&u?G9iS<*toM%*l?!SC9yWq>I$QFtz3!%grvYOundr4>ecqA^J)6)eiis9l#{sKA@M=3B#*fX(uO* z){=^U3L`Pu$rt2UcZ$-~*xf~IMOB7anfW57h%y!pR8})1XS<0y>fBYgkW@_wgX7BV zB~-_l8Zny@X-O+zV}RV_Oj?t_t;LwrEO}xD8rZW+p~QOs!W=JmGzI-WaZB>75Z-oq zH(Q;*VRTfzE?haUMOYpx^)t)CR)CgDKaS{QxAzN&NZjkc+_Opm8o82%+mvp#c<-Td zmpO`dcn%qHm47AkaKq8=)mBDXD*?5fB zE#TU8+u>sN`gXzjdzpT>McYVjKBY_VU&gZ574wzh=FC347Z7f+YgKV~AaI)!&9oq6 z=SG&}48Ubnu*&y-%eQ}30KB!mwQ|Bv(&RIR7}U5&0LooR24aAG>KEe95Gh82?(otWrq~Yos~@<(FQ?b}Wv{BD zyoX%V0;|2Ser0z`Rx;mmo>Wg`G7*=^Rv=M3CXBf23AY_}CjRlL&%V}+bdm!l55)H3 zp&BdaW-Jrhk8i^w64lo*ZT2R$Cgza2@=4OqCM%NJnbL(9?@ljciccuac2S8rP9yAq z!VJ{OJ`J{}-GN6PSRCWdE@tOrN?n?vo~N31|5_~CWD?rAzSjWZ`wkFW*6ZG%+bd>X z-1OeLHQqE0liy~Y5PTH0$>l;Xk{f5kn@O|UbuSqH)?P3o-%!yD#(%2%+s%8|ZF}R+ z)o01S*}lD-|Mqun*-iJafYT79K%VL&whZSpp1dKh+senc;?>-9Nzk}9Aqs8|f-d`{J z;||oK-gl$X@c8uP`Sa5kPrJIcw_*YQ)1L^2sc$|O{`lUf!nSGW|Jt-k!KB*{2#ok| zCV}+JZF#f!)z&wQu=xKZ)mn0`4wQ&s_s!n*iX67)e@9fMah`pEx!BkFbO8-M@EGM z&fl2+>LK0B@=5?UP5 z_ZDE={bS7aO6f#9J)?81VC1A$Xrk2E_ZTlJl>atymX>zNR@WYOFNWWYI0vo7>eP zl>w(p@~#i>W&QPv$h4%pZ=DJ>euT!3bZ?uTO86(`+@va(a1j zN^~IsCa3fH>TT|Tc2i5#ex>uvNK^$|i`-W+Iz&AZ9+n~(MmgsXXdU9Tuo*jp-GBZ_ zW4b>+{WR6bUIxQ|9|d8vS#Ly*TS}p-hP6($9!0fVFSOhof0$9>?Otl~`xsz7gV7-| z;hZU21di@$wjj8s?g)l3o6MeafLyUq~Slg&<<@!yz$TD*(F7(C0UJ9u|HV`cT!qO#FI6^ z3?J!Y9(v7+lux1(1XY-hHh6g;!Oth45($vvmTGGN47SwPkv)~NH|Qswfs?*Eoi{@# z;QZ$)=a7-WB4-iH7D^3vO!={|5IORv-;#dPkT>9wQQIi!w^OId^m z#CN>@i!oLG-p7r0RiTO9(}i|bQ5o8*^i0vB?+y`h?j977qy~~ix@2dyo))x=W>+_h z`Oj0xTs{-1+0@i+Db9f0N(GZwF7;;YTr+K@qP%aWaBV+Jo3q7q{8Lgls9Fe?DE!o~ zTA0M;#(U;;@qDFR5_H0r zk61)Z$4=y2QLR`aT@SNW_DMAz$=$Q@(#gyOZ_SC<`IK8KLCnTdmSryq;j8tcmJf?P z`t0ZF;%vU0Ze)Uch~NUHb2B(>T2gPk^qvr~xD8qZ{(h7Ye&dZv_H=Uj`h!I45By1T z;$J#_h@j|B&rfd_)1NEBt0-BK7 zeV-7~fA2|8d-FE;eZf+!S&nr}@?Og_`%#P6`!3CHmxo#3SyrAjAAX_NAydENN%i3u zdO5OXF1PA3zbeH=?_uGQ6aO=g2c-owO1k9A`vshSKlO6A7yj)HvZm5EYmb`H(cLbjyPDndR?NqU1l(J-b^&zk+ zueZOy8;@tkv6+|Rgr%JRj*f(@4RM(*PW8ud(C~H&rfe8-;q-VizFA3Sv{U15!cO#4 zSdk8wZ^ZI-marpItjYt@=9+8vslNO6h8#Gtk+pR8BgR=U5CTBom zM*Xl=9W^`kX0zL>4~C;byN^+>x#Urg(-?M}qguPut+jjYUcVgnwFdnf2K?|kdvE&bi z3aj*g%B%d#I=H6I0D2`On3|QYHgb}i#h+7d2eI_inO}#&6XN}|+u0@BC1y}^um_0y zsXoi!R{==E-R$y`T^xL-v0T;ntv~ek58sPD^6aA4vtN6k|4Wb63LC?Ie;Cyp?b@i- zZB?UMKdOh#daYA!w43dEG;D{>K`UxkyY_)w6*lL7L zcbPMIhvBGNje7lluR9nt>OHrOM(zHv->S8`)nO-$di74T)@%0MHmx_)^LoFZ)L3P= zQsyUq$F=;wrdFfyxJku$3QwK5)5@0bkM?sXQ;Z|N2_1F&0rlN-8mP15Lc5vB+jjlV ze}cni(>8Y|^$Yi3H`sBQe$>XKewE(Jy5PDY8P+#J3o12a$_Y=eaY}Gjd;1(F;56Da z-q0qMEvrUx4pH#pFYuiFAq@6nuvTX?L$j>t!}Y8E&w`JV@U|?(VD9ABXy9UsLPy8^*D_xm~5u&o?Rhj%36tR4s2bnIy_b5J*?Z%%|Ai8r_@*gl?8K z^bJP7Jn1;~qz%_=jbr0=z%SL8D_GN%-r_CLb=vq^aHjX*lc;n%GoN%Fc~*~ z0oSA$VgHlA~{j$ghLRH>7ln9%?FVe{b`(3BKSl`&YVG2@QnYjyHFLb5E3*$|J# zq#EB`*w#MDB!GPLQ51c9(qE!*@Nb@c^(X%RKYsry{*l!`s2w&AqsN!Cv&DGv?s1}> zE)UP&{~2USHk)<&Z_EAY|5n4W5jC2v{|M`iMm=ma>yi6BY=-Wmp!)ug-u`n-DE>k4 zALGgR>fMIxwtfF^`U8h)Fuc5+-7w@f{CIOhj{a)2cjJz9{^&sRDb9n*cr|A4(Z%gG zgB>p=ABW??3v$*4CvT>~Q^#3>+lU0v?<@v)y3H4yJrTS(8oWICW_CWkUQQ35OejO< zVm4iT7IbgM=WnJ5(P1@sejI#t^bP%aFkc){=n$!~POZ2;zr1y__amgv9KQMJgY|g= ze|d89CqB^$>wH5-5(|obJ-TcR+6wfD{1-QFQtn{BI=x-ZE{iYW6GJ8#e|L6Gc1`;F zGk0*@UO63VF-?DgmODR>mxO$o8t0D)mmI$Na>LtmFA|EsCOJoeU?Y>gb~QdH_a9@c zQRp=DLTq2Fl2YfZwkB29u`c0^PgY<8RADVO~$z5DYyUTM4j{Akr^3O3m3m1Rz z5M3-Dw2eh-@T2Dh%Fn~Ue0BPLm4DAzQuOh=%*T7^dsxjj=EyuW-0ef@ zRh`zy;BK4ouk${e;Gh3YsJr2&D5~G%rbe^;O||wtp45oKayRv|lM75YWhQ64sS!qH zZ<2NT`abJ)kDD4zbrXrR5%SBH;t5<JF;zW_0Xb=WQ=a3-uF4;KV_-wwKekLH$aWfhM4VzsDm$TLCa(Y0QkFOEt zqC1emhz^FFcFKNDcfH#+z_pg42lK13`&hk+q%FS+TLm5w>Gb4R^+&HDjt!wJs%%;zu4EywZz^~im1}vkY;f2rxr&dMl z8Eyx}eOtOc9+bcBwzxx%g+4>Rw2ekDJfk7n?sR+$o`~n$te2zD>$gS%g*^YT>X)L; zpNs}Pg|1p6ORJqKdh;+vyFBwcx7Qgmfg=94$HTSy76#%a>r_3}d;Gh~3)khxw0Wjs zyCi|$SqX%<;77H1UBaP%yB4qDh(B-D3~w~xMePqf2Q|Sv1K;NdtI@O!*W!5%c$xZb zzgXy+6!jE0ZD}5qCD65zJ~f_lgn2OQ^!T-~^ZFhCilK#pYP{m3w%?we&aWzgNS(UI1nZ6`O(Rfr&RqGn#p)_T0MRF`(E5iqgTIg$1OAp&3x2hDs-4GLtgSGze0nb zJix}}m+eP}m+IgQ1&x>?2mF8tY}xYP_ALF*TKwb)G-B%1c#b3R)X>k-DNLnlWaT4l zix#-4=Q$V)-x_-16?QGH^M?MVuu%phzd43Hbe&IllVZ?keyQ>A5tIbb3maG|FX6B( zjUqE2L4Y({;1qruQwNO&+ao2ddWM(k^*q;v*r<3NW(cUB1N6|d>^1c8t2g{CTF}dw zIyD}y5#jIhG_vwhlR0R_ztI@5!7n((>);b+h@ok7@cZ|eIyE!~0WXW!95pN|!oZU@L?cHurDTR2 zD$Z(Jw(g+j=K>DGOwm@eTlJEgrDaJPS@{TRev6+B3j*Q-atd;?fuqTC_G5qHcU>LL zqsWU|wEJWsYqNVW3v5&zlh6RVpcfCVj!HzBimMs;wL#h8P- zHR6F9*aZ9u8lX1$b*emQqhpcTJc~Mvxtiyl9{8STiWZ@R(r16&%tu3Bqdrcwk*5@1 z1X@zmG|OzLGEmAp{DR$@7bZ0fibKIdBbWxb4dyLY5N9vMTa$UMS9-5C%zOlX87OV2 zj#ZBb~TTSHvHO@iLZ-8#-PrV&4&ZQ-M^=8piJVm)kTUP0YudC)IQqo!Ry z>Uwb@rZ3Lhx|$I*1IxnW1}LCVZlDH2q(O{8+YT+qq^MX-g$Py%bbindkAW^;()mU- zvhopZ*KX6VSDQJgi!CzryU!%E#go_b4B78{Vhh#Ui2&KEN;xO56;7fm+4f1Stv! zLJxE-%||V}el+j`1i}=3yCJ7x<>J)qSQHw0g`wvfm<{lX;5D&n>Xxkw{uY&ihrsTu ziffsv1G^+FOQW`39>HGatpFbY_`Bco2T@%d9+u4k`vb?cI(Ebn1gQj{iA5#t@an+& zA2$7OQ79mx`qKXBjzYVh+T#p`X0kcIGv2OmxY7@qLs!|oq|IV@Xu zh_fFi@(^2;e|P-QHR1lUH0qf72+j#@OqyS1gW0EId?SY*F|j!CA6h zz(;M1cw=(bp{4OauwaMKm?D3!bxQjoJ7zwDjRtGBtK8n$WtasHt1z?}>H|*~kQS;0 zWOfxVh~E~wzuWXT!}0))5bA5M#^N3tRBK_n|D;nC0mAPb=n;h+WyYod)?mLBd5 zsOb=POp*o;p{C!9Ez?2CbHPE0^9`QJns(#C)mi%V5A7~(I6+}zW6`0&LS2$m8xd5C z&!?w68F&XsUU)d5@icKRS+r6dY7G_ff(at=Wn~Tw%5#$4rwvUN9`sN->cJAwFB_1O zCI>6u2HOm~6ieSyb}j6Yrb&;4rxyMRSl2zzRftE(+14#hB)d}^kxH>UF(tewPYhzc zCQ*0`k>GlSb8X;v1Kthn2?fBkd!b0TUQiL~w6$(oNu7Hk3O@i!)LW`iSi1L=-fW3Y)yRt+w$Jx66M1wCIatP~# z7$xF=9g8jrok5JNzCYcd8)4soF{>7h0%D+E_sj?}0B@Ck^A7$hliCHX2qF%*H4&P?5I8=u-AWs7q203$?<^D> z*l!)BcZ1I$0Zf(~Xb$&*IO)1x#L1$=Of;zg%D)ajHbgmsEXYf!DBtKdX3J-?RVvxk4C}p7_TI>TZ!LRo&3;@j5(-D$oqm@Mr#8I_&`B#SXQs0 z!te+&!(Z4{er)7vRkzt2^+ZdAq65XCXHJv?S=`Va$z#Ur3PTbO6U+sAl0*R|f!07*1caNPlk^}$?zry{E1(M9% za&$H4{Ud1K_3YXZZvuagqTr!a)4pdBex7}-2B%`-TIp0_IFz@0P2@17x+IT zFxqPb#%|8NGSvtFXJkoxjV##}$?cIJhynP+AQ<2muPJ{NSaf7z%TSr=9p#D+m3IT| z+BD_GL7E(bVvwBU>@rZpOSTV40IUInHh=8AH5H~w#tl60NU}n3i_hVXq|1P5 zEjlBpgYY40CL(_{AV07!0>`p~q30<{2;U*e&9WSfr(^(*E2oT;B^MqTxs}c>m!(EZw9?e791vV;TdIMFyg9@C6 zls;MfQ4POc5V>fm^RBAO44W3=i;x2H@sTi!NHJ!OK>DC(mQzwvjFL2jns&zJ_Sj%e z1tcYFfq6>mC6V(g65S%pnL1rn4HT*h1;`03f=TDBDVPb&1rfELE*y~x7z>vp=?WqB z=5A%VJ<=$}#5KQBu?P@*cqw@AMi#b2DuQG%A)*T%9R_68)2nN$S%!XsbcvonV;U-t zNfb#_*#WAAI(~CNmhOh+<_I{>H7FD?e-vIzPvue9EnF@{h3Q)J1ct7FcqYo(+7|0m zs?BQtH`4VWo3J+}kJ&ODRt@ul{yEy@)h|VIdx=j?8Pm{DpzZ3S(T1cTSxjnG)g>w7 zATXRII98DyYm((qac~4E;|vzEKqUxlgoPoL7-^`g+})7ejPL;7QCX%V(c%1NZc6Ol z!bhk%<3W+oBl?NTJdmOv3yq*F)m7dQ*0irY2XK~jOmYeirJ5h8)!7xv?FC5K_o9ZW z5*zS$Rp~P(gCB`z(B#@GZw)z~f}4cQ2768+wWzR&{$RbJLydOE z<@S0e7=*~GL~YYhLFkBYQ4kg^#s*R!RbD;BE>32tbHb5j%8MI%0>jNLm3nZrsdco; za;#3@uOo)o1cPr{QVj_SVhhZMg)OB)EP3Ai{EnZ|Zb)wCa-?*rifSCC4P`Y9C2QUMQV_D>CM4X!RVhhnQb1{8 z%dV#avfEk;Wd%aHYfs?C>wp!o6Z>m36Uvg@Uc80s2qZ#+<56HDk)Wz)g@Hw|NaiA> zl7giJAPL;IEz$5S!{MY;_El9K6FB0VQs{1xm196O3 zt9qf_GQHHu^9~F}L4^U;V5f^3WOi_ar&0VM8YT)=;B2;g^WnRf+G`jaJJVQ7l$IeZ z1*bDu9?pAAtgW2-CKDY}77|w%6~fP5Ri50I#g&L%Bgyx$g24D4zh4AG!<6+7TS(P( z^>>u?Q>s!8`Y!x&5}i`DYak)EcE`e)4UNs&_A(uGM$t01vkjk4-nZBX@*d$0TkqQO8P zwrF+@m0>r~)dkSd)zLaK`OG2Dp$~_CId?*HdjJ%Q322K_NjMJ?0F`nKxPdIPMPMNm z7!r6MyIRVQu$}AyP?6zKs*rYr8G$dbkt`-?L+NNZh6l|Z(%f8|1q&|n42U8l_*hV_ zf}_s{?gY63mm~<*^rA{Y&5+M&(mb1<83!ZJo`SdsmyNh8&8|1x072T`nL$*dXb^UW zAOxw>PGQWE=lq7rB2x9-I76WfK_tLq848+-C7J_UUwK6^Q=IV7ULq-$G7Kk9JOwzk zL)l`Ffy(TavlMlIBZapMd1^|tYO6#lcvb)cjx!XjIuMtR<!8QPSA&d8vXUZlqG%V09qGP&EZX!NV}Lbj=t%x_v*isbF6)aI5N^ z5s(&s40s;$+%gQG~&16RH#}2n>@qXr#(*U_JEjV-uyzL51kHa!{3- zUdiT7?{6tyQ~AD?Y&NR(-Y9#opx9HI##@ zm|rCuk+R;~&faS%2UY&*O4fU7=8YUD>e@Y2hA=FLrw^+!n62}@UH(Yv+z$akOT!&c=mkpBQTPhC>s)FP@ zneZ8*;X&PpN}$SD;Wrf6XETNs$ZakY?I=iSyb&H=SLjM&a9PyouF^+_szC#+<(7(F zv`kTKSi(x}X{r>=p+X%pIVbBX`WT6q+v~4_l?y}Mj5{y%ww8~=xhJs-wr|M zdP#9&Eh`0~5$^!&Ag&{20YKIf8`9#dseAf>QJ|h9J$R(64@@zp-JUHap$2wZZpy1t zrrh**!Lt*=Q>NVXciFQO*;A(6w56g>F#3@%C@GTg_8_`u0^)^R8L3ZNZNP5t_)knd zMxgm1qd;nVl}jd4`qIFj%sN!liZwE03UA0@2|RY$)gw+0;g}` zqpr#csY}Wu|3&};kz6V5Fta5Ft*Tsk#FM(JtxMO!5K^TIN2-e9cN8M|P}*XZCAmG? z+EPAZL`2#OVPUAUm8}3 z-^ePE1m%`LW113$El+ZDA)W%8hkp?|2x{iwS;g#3pmTALL%zA@1+j3yN;5F&Nlopv z#LbZCDpFmOMvI2wkmXrZ5Y0G&VGbgvQczs&j$$FXJ=TgN6Y!Y;v6Oyr4bPB0DHF8t z5mrrYT|tk8hgOLiQ+Neh3cT3jSVut;bX*7-s2e8GPb8J~{18>8t01Q*>?dNcB+1Ph z3!>~Q@u#D(5fC$gs%Yx-104?AwXg8?rG&ZWS2i+bpDIs(q!i%QvP9`1p&*Hn z6eg7yDuydgDpRr&;#L@`>uVKO@QT6@0%1MlA;M&6av&$*yZO}F$4_d0j zW!K(-1?R0G0K;9RGU9Ye)u1$&+sjScDk48rh%GS4!0YgbHBEI_@DRYvfd63R8B$Ug z&{58^g3_%y@>@i*ec^9`RVp3JEeeoI6&|W|{<^BR#Wu1xg7zdg%W~B^AW}*-c3)G) zGE9|oVmskzsC$k_&4u)M6Ci$b-jlTPQ03pqyQnDyj;(N({@|*q7BM*1afk`@IbOds zm)pxtJF3}^piHU!UU=yQ4923DH&sGBlAxuE4`w7zL%gizytIAgS5)oyHw`l|^w3>0 zLw5+?G{e9U6QradodOby#L$flEs_H>ARrAQjZ#WTqm*W9>1>wy zavnA_F_*7^Ob@1TgI@%{sM}UT?Fp*>Elyd|t*)lSu}XbiXwEOb#ITfP^$($vxV-KR9gca>xBOrQHKBh!bSw4D-*h{xJNBK<>GaTy;mgq3N1P7MAg zSPn8(XV9O0nB;}cZj*|%?dfEq<)rCNJ$MZ6!B+KGirw==E*e{(#7@M4-K+3ad}Ie8xB zQk_2T`?HbiZ(VPr?QBT{juj($W3@y$na!!z>msmTIdL(zk54A{V6_@-I8Z`vaNf9t z=*?jEKo&ZPvXSx5^$*O1W0qkwyX0m-iPDx~G!1EdU=y*S%Q?Jgb?CYE$0D!W3ezu| z(1?0KLS1$Az-IT5U9v67xUP!4w%^<}XjD~Ki|xHxn26p>xr;Blbbvc{)!%5eL=_E( zX^oGPMaL1Q|VDNZi$qA`>cov+V$&@SnDwWThSR7~3pcUqNOP7OuSWy1^FW4km zRMeue|0E0@tTBnUd{I&qu$DaENGuW_(Cwyv_pUUr+kL1srC5bEKv(C?rpNc9V_3CsA*dUSAnB#~G~oND;0<7G1{oXG$lPE7^R>mY(@#AC`Ay5FMD1^0s)Hg2 ze)}qPcj*E|Ta9a4bH!CC{ZrFP4U5k#jK^D+;JY6Gb=C-4(3^1#sI&?H7yEP*_QwC% zc)uwmhWE2J;wpTCpJCcMk{Hob-BWgfV5%_bf+YD#s$3Kv;C$B3|F&jaHMiFtrLPx}bo<}Mq08cZ7i;$~9gMpOnZGd2Opv43C&#bzf>2+d zH@Lp8xxY3lmq+-B{)L398LvNjn9*gjgNJ`@+-^mF|D;BxfGZ{{5ObcE{XQB;1R{tZ zgN8FTaGXa!sp&N;AAFbd?em2b#hcA8HWBrwCpAL< zU?Plvcx-Lgz5UAx{G@m9n^$l4>Rrh|foQID0%uz5Lvw(}X+nwwi=cS&O#VHp2QM00 z#j*19=Rnr$qb+g0oGgeLYa63=2!$ag%~U9CdRo$%Z$RSk%0|E-(J51L3fF{uRh)`$a>9ck63HJ`3|z+})OdxSm|Ev-sLP z5!L8>)d7P!w_}=^jxR?4y`kE#?O}MzLU#!sv^kZBnKRKlV5ILVL=F#t7S!EEI1Pw0 z92FEUyg~=0FRfT~0v7#m9~6Ruj%HQ9b=h6_5cMkXj9*0U>0WV^`=bKC{F8s-?2cL5 zD3r%6_3=agQD@}JD{b{XhyJ5B#mR$@M~VBjz*LwLla@O5-F&6g<2P7CV2!q37FqJi zGLs^s?IGcPMxf)JC=z7tsqDlt*ZAj8$crs|aNh7elXn$aSV8^!zM?Hf4r}o5z=;XC z`(4cYm|sHPIzg@2mD6zP}MK-zu6_YLVo+Gj4P9{i2^!Y z2x* ztDJ>OK3i4mbd+RKyE1rs}nme++64C6~#l-YXpWT08LD2|_M=zskq`rM8KM_f8-k zruepA=!h=V9Fo_gNNFM!4FmqWtGHBZ!vnYO{Txq6HZrRWa%b4JvrTN;Qxtqh%S^;i zJ|XptVb#C?T>sdp+Hrfat}enG3#DznuU0KM<6M*S@YM@F5Fh!OU3+lJ_lXA-EOghm z%He9t7ed)RhTAGz8~azABumJAENv>bKULi0Nl#fY*<#aA(KsGA^IJqXbAN&E3I>&5 z_i$1MOk^v09A8LzHsrx15-|}l9bn*Pko9~?i&0x{t~-8PmPR1d$=FJh-1w`jctIW= z<7qdAN|}U{(zoP6IuGkAZ#(y+ADR*{h3wKNf6k(4B9*PJHn}n2%~d!iw(>)$>zt;U zpk-VNqCoDnbkJB$abO(&O018?VkT}r_t2WK^|D@Il+N!kJi{=$v3#pftY6}%o?iB_ zKgUsde)sH;DYPjqjvI*{>7u|;Op*@xHh3p-4we$B{?n_f|6O|cGUh>mI9IEUoX$7t zP9qX7bSPVbatKLwgG}~1Pl3Nx_$%AlsrhDVCZN6t)1GjG_pilzBhoG#0uLb+Yb}%R zwfNmSNg2fDC*CC8EbMGO5R(=UG&W9R4if@i(EUuT%y6G5C)UWjxx#@DtfYE$d~?6# zsd}8`aVV#Z0xSf7b@&lo{F&!0Jf4Wl#u*^eXPD6EyA6~L+8u^*o8D@4r$%k&0S5V` zo^2na7zUYGK(BH6tZrRSkXL+aI=kXUdVIe=Z=v1?rjJMm=0N@e9bu)ZouthW%sty- zhpL?teH|KpqeQD-&OGlSe@}vpLV2Z@GfLXaa}&tU#j5cw9Oq6`hb7@pT_!N*aH&fG zbDQf0wr{ym#g0VJqsN+0NeUz%pJr>Fe(s5RMsvhBK)v6Z>H->h&-4v{PN(z?>srASa_78oYA8(Q9LzAELkcJ^1%kkD+1-Up zj`2K)cz*gC!7#4BBI4w+C7%8ptLW(F@(dOy2!+`AmUUvtix1)gGftm%pT%A``*?aN zsoooo#I7s-yCRSAR!m$Q{!!NN<i~qB8t_@Qlv+61}ArFNqP@n5G{n(TqX0PuK4K zu(tjd}E5>fHBH#W1% zqIASd6XagQG=5-Uwz{`9NjyeV39Zb&RwL8I)&ul48*GnARzLLv9Yq{w%qfW5+KDv5m(W@&@A-h|FSHj1%*v4LlFbtVakBf z|IWVShF_k^50+Xc`%DvK$B#W;&~S#3J#@>SP-lzXxbsMB959{NWAQ+&t_-Z3Y*h{d zk<80;{)SFjwy@AK1~i>#$m>5Gpp+eBO!4})+%|9H?zL3^$3h%m2j!>ZBj35z!(dnt zNSYAE)pSZZ&a-Oc%g4e--i|<2m(roVi_D#CLC1OZ{c0N>@C%mCkg+>01yq9?Q61V| zO6XovA^G;wRr0AbngD%hI{lkhB>&|$DXx?nNKvkXs*Pl);BOV+WhsKwaRN=zqj9Ua zI(C;j&%qj$YOqxGfRf0}o79rh5ocl9`hx6O5(eIWRKa^R?*m!lVwR7f zN?f{Db`D!Ecsy%m_hnd}*6Z!(1Ow*st`L(!Ceb3K^IB}%dxrR@j6tL|09JjL72)=D zxZDR%CMoctY;~{TYpO_#_9h@N7AQMEClplH#H;OI!t09xVx|0p)E>6dk~MX$^dx-5 zZM=*R<(l9Z6F8=yFQoM(tvqW_(Cla~H~&&heCKMX|1%QV@5fYSt{))eQn&BKd>t?w zFdsw{V<;@6ygAMi&>G|3li&uRhAvw%UNJ$UtIQ!n%58cvKMbJu5w-G|#30o|6itGc z-5_oem8}r-Nk&Hacno(_^I~aL(cA0{{?<}6RQSDLHWB#}6mMgYv`2YQBg)1r8J|pp zXaf7&k2y|gnu2ptHK&f;DQ%{o;M9ZSX%VTMGH0Qc1^uRggcVrBShBNz(+cz0?wVr+b?k9M+^7~AaFj36)EV>1 zh*kdGwgv94p;=?;A>}I5B)s$$0O%kXs0^lZxB3+&`qNSUbu)!&xzldi+!n!7fH^-N zdS7nlRZ6^`x0MsKK*4!yOUaz-hYfWuaSb31-vOueya-#7?z_71H;r{EbDduS|CHO5 zxx+Z)$sN>N`+qk4vQh^Bh2Mtd%J#2kE~4izn1RyIZn#P;lFr9z=#ke|f3$pJh~G=|cpfHsra2$5V6Dqj7DC9s8XNn#csVs;VYdiMc=FF(__#_&Pd_@&nkGoK8MW zyeS_2&c#(_W`vqFuKp`0ows0-JwSu1z6ZJ#6G)<|W6o)!scX?(M)Y+R#0i`7DB{hD z@ZG#nHJT%#T=HJ6U*X|0?V2OVd@zHq#K~x*ldQ#LIu{1*7ph@Cl zN2P6{Gi1Dy9DB)QTqPfjCawE|q*-Up>vDq|Su7hpuKt@WXNM7b+e+A^VgHQXBO_S+ zV8{}WC7cXR_hm@iv5ba+YJGGftkjsCpu8am1i19m(d>luaiuj(TWOPa|GUaF9%r*= ztb+zxlS=UWhF5|IPUCLmkZJNaVT|X-I%@orQ>|SB3u{L9bK@%da@alYg43?wrL ziCnRzI{G|@$?p7jBEhI4o`_#^uiJCetCCDj(7BWL@?z3i(`K~P@d=&ajQIep{ipEC z-w+|n_j7qccBPPyiPf6uY|SZVe3&j_9WmeOUF*e&kaDQXw}D1xtZUAAAh$su$>}K4{d-o)j`vKe$1KW>j)$cvGt1JNu!0Xd@@go8c4y zY0B{n-+)Ax?r4FXw?Hok2878(GJ_SAB)=QQCRqTN|I-@Z6lt zdv{q7!{Vps;~a1+M%)!??=bll@QD_&)%drt zP-JO!@C@d0nKvA(vxB2wXL~}CaoMXL)V~M9h^^)8*&2JmyE3?lI$aGD1KH8{h`iBH z3=11TU{L&{ry^3QKjqEXfRZMrIiG2s{N<@24nXt#AM>BpVj!EbC^?mOsc&!C&|0bv3Z zf+R+R_t~;51C(^Zi~V;71I+170zVU*r&q?;>6wycMSRko59+%|OWl`|2Q#4fXXK)E zOtOIpyPuD$kS_7h&~HpoV5=fMQ_QSYm_tZkyzu;naTZvLj*Sp2FqRn|UWXj18mb^{ z8?=3h%L62@`bZQFDl6mWK3981nYCe#DXXGi%t&T>culp?fm0IZ)PB4U%c&ApeST7w zQSi{tjo~3?g93OwU16B?y!#*-jd6Avl@{N|hkjjp&!`}^Lxzi5D1ZJ8P{|D>^i%fR z3&e;|{hU4dxMgut2V}M=V&!;X%=`8AtWAgofW{cd41sxo{@u|L8Cz7TTi3{pUvZ`7F!Iv1AtbT_$PL_;i0X4;QePKF(m&Gt6!gG5AyFz2(Y5OI=(o@ z*d%FE5R}daCw;OQ>p07GOcNAWhK+ia$*rJ zjzPysxQwTOUJx94QWyF%7M2jkp0>;^Fa;cP*eZkW@SD!WjG3b3q_IZba1ZbP`bdww zOATYt>MHxNHNI)khUGa9VClU-(xb{(#La0VA9O$5aUjGvhpj}7Eh@fy4k`XL zd;B{KFHM!KAf7;U4eWGscmCGTWKJtN6vHmEbJsJEQK3vAxXjCQxV%=cRMgaYpGlTJ zcMo|58ufHhBfRu2Yjak`K1Tm!t_hu&=Q%IVBW~n$>mD0hUk5-6uG(tD9#%QcGD>mi zMLjGcUQ?B`Kaq7xfZLDYsagt~54pNcyEel~xiQ<6WLZ0A>CEAI(;2H#>@KUVRWybF z5(Jb8>x{BV;)K~>#8_bBnwo43MaZ86MyNY8#Uou`KGYb(5T|0;#YSfz-{}U$Qitem z&-WB$XIM&2-Oq*$)g7tqX^}F)&YbrDYs6)GFMXGMMbvAlIU5U+DdqS)QWCz34lHT_ zqLk1VZSPJb*N}KMll+9577sS$e|~B|F=v-BLcA~Ks`LragxO~!AAWYGt@JF_&TP2n z-4(Vw4aQDk<~aCA!_X#gmdAOjg{M~9obgoEDG^9t1&N-zDN6c-UpFzi(Prou(3(3T z^tgU~5)xl(iq*2xzeX|a6Vp6xjEagna%kNF# z;a9dr!pGrxs=QU(_ybW#-RkLaygcuV9IA=AgjSTz2pM_ehZ(GW5@Pmy$%@rZxA2aB zL$L;0SY|->)qC?lpH78lb8nQYgU73}E#!OpRi|SnUqDNq(>~7qG;0t=8oFD6-X9w@ z3U4My{kciE1`=ZQh658g65ZGrFd3vbKN*LCfp|l&#(Z5;#&j0 z@IdL2DPla}krw{6ZM$&(58l8wjs#uHQxv05T}M!-5;upDXHi6#vnTzSmOKg1)5JWO z#!PFezAA=}Ot2>PH!Gnrs#Q*o0}`+V0)!JB#F^2J-=e%R?TN}PV&p1Y?$;N%3H6}< zSJMYo*KbO;W-;YFu$JCfNdP7BUCE|sgN>4mwFgbZ(5p}e&YP_s4t=v_6iZ?X^fc}N z5N+c+-jdrX_LP*AKa8flmH4osm^mDmSIO;RWGOMH;~H7W9Dq)tY_^Dib}-xCf9HPN zf5(b)>=vJ9wSfxQvVDva3ix)K-Vco}qxuX9coyMlS9yP`zsR5j$gg+03pca2Y z#&SN#JdUnpL^9HnXMD!WRw86f8r3<=H?<$?Ytv+E>c%k=t(AGpm7 zbVnJ?y7R6vgFP6Bf6gwrzbkczq?>~M4dI#5+8?tQG?0E4~4d5?rr9e(=B&;(5kT`V7=sj^yYjaB8%m4v`f1DS5F zqKdy)<7b+;)HN#K>5Q+aCgp_8DuWG0U}FD4tQH+ELJf0uZ>`V!cT2;KeyHXKfFl2^=@PCv7Gp33+mZ5{rR7XO#TOkzp{l6lMOXj zMH|Zx*B^cE?Jb>@zLWKjDwAInNTnGP5PUWGXYo@YPbvNLkjQm9>Ve9){Etq5&fGjW z$@XzgHN+Kvb9tm>k6@qJaOvG}SF8wNiqgveJCL4|Xm$xq2xY%2{{gyzc0P)@hv<%} zd~?3)(r|s}beTh9+5x-A zHBfiY>vb#*7x2ZVZofest-f1zs1&JMSewYAezmv~E|ENw$7V?#c}K>R?!)Qoix*7H zQl&BwA!Jrcc5L)<9sW7~%R}a{xMB-xuk6eD^R%`0CZ!(T>gB6vU~Jc+V@O%fW6C>J z3U7T7^zz`kr!aCd3L1|MkNx86wo8`*JCUOodV0wV)j4m0QN2+5}$NTH1Vui zm5T2z-nB&#P3LkAC0~5T==TNw3gUR7k2x%gu_6Ly${+l#L&<6l?cr>k?8D{#A)*V4DH)ZpJ=A#X00Yh_$fJJO3U_V{`FMuGd5x{7tBJN54FFjWE9?VYW4Oz8lx5` zD?aNZvN#(g-v%DNt)WIfU&?+QtGTLl@v}BEffd2?Z0|bQr9G(k&NyNe07;3N zc(zYwaBD9`y)=SKUMSOeOw;u)kphIEdx@Phi$0_wJ$9$JgQ@6-V zHr0BmjTkgpRp~R;Lc_dLWmZWTc}=u<+RIVyPARgYy{HU+VR(4V#G`i&5;NZ?*t3{C zJ7i3Oiw<-SmVzgpqoVb{zMUZRFqLmAWBWXUvsh61b#|Mrw@>Cru>~EPK@1|3uweUR z%Ulm1->0}iLWY>7F+I>AbNBW4wzX=K$+FqHv;g)Hq~fIitA)tqoIliRemK!nSVjUP zzv^~3-RJzN%$g;e+GL=1XEx2b@UvU_vyf}%LPhUUOixjnc9}K5pL|bql79<={%w*- zTkPp{658L0CG1&V-K*WG+v<1i%E<>)d?1f(Jhf=*KDg3^zNRB7jK8**xi$Rn-lj~+ zY!0enJc&e>@|=XUPua*y)oBi%o-4J8YnvkP<%0#d3;o1!&x)a$g zm5W)^YVqpGF(GZ1)OT}FRKIjo{v9y-fMFCR%c9veUn0f(wLQkwWya@Q2ADfUC&nrA zpq`FQv)ElV=`N@BY$PZQZtKK;t66G}Uj#H9AcR0P?akZE5u4=CkVgZaAD03#EW(29gX~$uNPy+*uo(|NP8z0I$ zVu&>E+?*qm#da?M71f(Hk7D&mA(OHIo$Bh2SnJGz7)g;#jkiOyzC5p%E%8!6UI$1G>E*g`wnNf{`o5 zIL%n>e-cyB3I0=FBXG<_dgSx-nG@NiCzSJ*_syXQrU#Q;!bm?Ypoh#zXH_ta630{) z<=v%H20*DwH|NFfE&s9a29KT!9{p=~IsxBLZeC<;q!45jI3iwcdNk_9b> znSW8S`VrS3px^!)tu>13HXcv4yTL|^QoIkyvMG~OkAj$3%Fwwc-LGd=Mj6+QxJ(p| zI3vJ2L)N&wTv=hgTsxCTJU_C&sZNVZahTm{b&~TGlcy1 zN&mN5eZEz@Uq2{9sVU?F`*PTFfD9uHdD0ZOdLD`OjGS(|_VHpmDv9bvE4t~74vSCM zvEOcK)x@fg_2ISv2V(EJQ?VX(S-FaOgLz~R_J>_j`TTB6=U|@zdr@KChQeIZV?_DJ zbc=X<_P!gLw>wj!xe?kJ=kv}?9 zF&-UV5 zOK*!?pt)dic}p=*{f^etIQ#6MA{q^l@IFjiLMBbbW-R=O)auUC(QM)u&EflWK`Z38 z17-9d*E*>s=h(v=$i`1bv3A{*Ns~w3n9QuSUc;iI2gsFQaX)3un?n??2ze@&(KO2RW`Z(x@&wL}YwI z>%W9-azCUbG(}!7nqbMyXLWq1y2MyWtev%_Pwa(78}zC4+tV;2{=Zr1Nbc<7DOpX! zmNINFft@CDXl|(LTXaz-FK2hP#$l76_J;ZVk@F2%K5653kq#OckP0{UhIduzM+uI9 z{QiJ+vpSua(;?OfY!6P`8f(P!D5#DZ&t+~@_pj?>@|G;tG_u9T^zAR6W;OlpPxbV{ z7oB%2&{lL4F^A9=!;P24p(}(Xa*ta^50T zs#u_>*F=1YM|J)WFh{7JzE`4{Oc~P5usb_0=i{_B5l@pvuU2V7_`37Zc%GqnWd@j_ z%tM{^K{o2>?}IF%=Gq0=VP^J%=zVdrlsNPS^2t|Ju{2XHQW6b&pm-n^X^ewQy9*G_D|o7tv)5At1VH*XIU#> zF!Ol`91iI0pyK(r`zz*y!n_vwoegYLfSz4j$I}uK%r0r*vPZ!$@NF8>(eAS!8#d4O zVP-&i=JhdSnjca1p`DN5gx_I=O{OZ@BSw4e$T+%Kjt*7JjW}~>j{`@Fx11H;sx^`_ zcBmW6kGKu|;PJ*JN0G{&ZbGDPq^}G!i4z?hejk(Uq1t{t-aY5|nPWhXK8D7foRz-7 zj*XLa8KS0?{oKmx9oGtuKwcfpsinY=`gQE%>XRxics%q)zvcHTS7_)X)aK-Q$UxSowppw1IzaytiSZ}8d`k+& zO@QA((dugWT3ybjSNSJ$v517rLkCD0CVs*xG;C#4fW3qt^`~B3SrYg%Yy8pEBnjn2 zqfKn+`UUHoQXk?d!O1LI0Eluo zx?qi;eXtRg=l4qBvq;|dXMo_*;h#V5KWRC)>h$2nt#d-G19{5CLaeWRgl_Q&aS_Id z9qc8SV(Tfx72Z+HRn!ryQ(UX_u7z_LW-UXFeTR$?R-(@Q;NJk6I8^y%tXF{SU=H)h zr)}kEEi|Ve!Yv1cvF`Pa6+my2efvsW!I0*#Yp~JwK?MYiIx%JBQj{OPp2-i!r zkIDswCiLsk^K2b!7kcuPh9Y}R-wfilL`P4jsmsQT592X%w?7(Sc3{lLY;i@BPm3Hy zmIP@aG*RYLv~ZRUAw50^PJD?f&ekD~HmnE`OzTW>Dy{+XoeE+U z4C4o@WxG&JIDCcVCdI_saEgCm_ZuE{O}OAUzgm@eq>BToqI;!8M1~?sE?)Z!GJC9A zW|`_@*6D2|G@&L351;@}>b5zr+8~swJHno76&Wz@mR$ExgOh(I1v)~D)e5B@`QiXlk-so2A2 ze2K*|@iJxaW%~zg8M8tEJ$&jcJHQ_f)#cFOEF++u7>oi#_bYpV3S7kHmAz$vFceDHr2=P9FgmFxCd#s{A zOD-SJdNwg|z}W%ilz+-z1W(9L6K+~&oLj2xhJNT(tL8nO_9ugVD3=$dkY5~h!r;#0 zpVDN=6civZWG>Kgu%3Mn9yp|e?s@3M&~G&#vuaL!uSKaSdT+r6PM2%U?J0re$Fe7G z57#49FFsMbK8eh3945guw4X;Ncvkepi8%^fnkt^1!TsZ7w(g_iqyhf(e;TsI7M5&? zN_m8%ra8IjW!w8^i>(7<<5g`pJ!ied*vYOiaoMe-pjb|qk*D}W!r3TWL)Gr}oAUnVpt8W)|CholEiiN#7 zpue*C#@CZpgXciqN+N|)nK~nQzW~T<=io4K$SnJ8^t<%Zx>!(xLvMvD;Iefo#(Y{N z*Pkf~)Ax`F9RN&<%}>tu4b|6IMkpXZsdGWASmDdqk!*^yOl*wL=T$ zHuHiW(TbBlIw7VfDZXoxwMLP`F2M^f_K*tA$k{Ji;A>1ZK6Q_VAIy`#$7KSw z1!WI5tV*750b7nk#`ZS3(P$!Z#SG?1F>x$VE7)xde8*@!gBHC&eDI5H#}+ef_w$rD zLxw({H!~ES`pBHej}F9DeTNRyAt%s(Ga>pdby@`!IPDM+fq-WdyBW4Ke;n3mj7u4|=moj~z_Vu*EIXiA z7m?Y`MNd^7`o5@{wSV{YKfu{-Jw*q8Hi@dfo!Y0$ZcEGNQNf`_&8~<)j1lAS`H3GN zV7n+!G73mN})m(n>88Cz~s!@`VKgsfG`Ld8Em z2g!zVZkBEp8hAJ2sKBWPv#DiBn^pSHZfPW_;YV)%H`1j(p4m93=TLy9)kO-~ zfA?HuF{;y6wt_+@nmg_Q1lQILWYLmoz6k!oAMQ|~IY;vlxj2QE)bgP}P2KU)5n9&T zw4Kk*Bv$UOwN26owKgyt^b0H5lc(t}Z~wB`KfEFC5-D;#s&bwq0`6fjjw`62I3!Mz z4=t8t^Z`|R`mCkz^#c1>0s5@br*K)L04m|SH##EwknC}C8n7jhxr-~Ps(^9}MquY) z^)hpOMk*G?OQ>aS{TtIvzQZx#>=$k`z?=BD>e_8qB68!`$o7xSTz^XWwub&sRnX;z zMED)z-~!9ta2^4S%&Cc{+i&7NzB0OG75-`Ds_5*`Z-#>JEX&@Ht83P#S@2>P&nJ0> zr+o0kwJ>K$zg7xbU!2~MgG)Jplcu;kztTyqiSuJPZ%mHthn{jK#kQGL8eDX!El2%V zcM;DR*rdfTKn|tLA%%Fnvj#g)CsD^9XfJ>?IgHn7XYS`1{WDF=0ufW1hu1>=woL&| zw@pPmvz?oYi^doDv;Lg4_0A^J1!<4e+d^;YM#!!lVO|2tTHyC%bu6;}zQ+$$eR0bb zd8)G+BSaiD)=VAM=AxS8(-tQDmV!Rp6G{E_{%?6rJ{_^ySHKN%I+jh=-$3}nYmZ5$ zQy2{m8r(`r{LF3pMk%culU@~!x8a)C(1j^E2m&+01W%Dcdtfi(7N^nJ>xeGc!@s6a zUPp$A+k>rR%UG#eI@!G8uRWmwEMrAT;5a_ci7wLoZm}@`ka9&mUIQ6um0QfZ0I9K45+&@Ekxd@5pcBgI^bL5_N>f z{^?{HaphW9^#KK(R7pz`cGb_h2lGzrotB%jl1lnra!TBO$|06NZO~}&W8^i>UbQ2| zkHjt$zc5srC@mR~Iiogbi(DS%uqAPCq{Q0@b9DU`;aGk!#Si;mPM}=p47Y?OCcYxo zL;h7keq?{i^HGN*2@ZAh$n583*enkZ=8@JVyF(M-RO{Vx!G26$ETp=#hK%wtrBE!# zr1|{IB6V5#JQJcxPZ!F>(z(z;PLY3a8MGKX7Ztlpmy{$>c6I6H?KF?F51q zM*AxogQZ}|3T8Xtb1LM`9W=;8#wJIz@UoQxl#WQf9}7pm@Ym(du-D%to^g@G#yTl^ZE(*q;l56Lga?_?`yU-E3U!{>aUlPCO>5Ud(nF<7SgbS>DO4g z9TZIWM~s9L(ajoWQDWH18Of{8mdl@{$?|AN*WmF@AU6MnZ&I|~238R~r^rbrj9X+G zbq92C{qwi=tyAC;y&GS%QthSNpO3n>ld$RqTynbNrfq&I5KQ=KGE3}R>~yPKWp;&dECAn0eDgM**162GWi!9R&r3Jad_wEwYxcjY$}??*!`cG5 z%OiuENYoaOf6H$gId|pqP2GVNgy{Zn)@g1GU%pe_-0qB5+v-koq(`p`!~}SSUvd{k zn=;Ofq%}FwC=tkepf60NjAk?YZ1D9Yln6{57 zvey6&jKLn(`2?f7Qd?umLdy8>NoY~^XNzo7PIUdv>b?ob4#M#BOJg!?t+IU)!$}vA zPD$GJ&96N`(Quw_6wQLRQuB(

2ro0Ih(>og@|WFO|kopHL&9ijW~q7oA`%8weM; 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 z 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ⅅ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

mTlH(Z8N6gU+MLjFUHNo%>xl2={(f z?)?6g_@*D7*KbOzP&4&X)bt2?;kb}@>Y8PD5B#x;)DmuZ9vtn^F#M=Tqs&bzYhj!s z4*pWD!foBr?Md3^J_l;Fmk`+j(uzT~y%~`{_7Y5F6^e975d3`-p+A%)YGk=tM{;PF zxiL`{HRP9F+o`nA50C|3W{y2+EQjT*gs10XyEyPfBY{L~ga3)r1PpkUHx8DXoLbrm zN?4sVIYP4wDHEqGsDMr5`DHLXj|kWAWar6ZJOZbR^KdqcrqA?)Nk5>gd_WXA8#~hjY4!P?Ft;wMe}l*+!V!n+YrBV+*j~eKb2|ZVq_Y;6^+f`2caWrP1jLe z&~>vb_a!bquQTUmQ+2Ndv-8XdFBFN1`KIh2^bdR3>(1WJv7$gS0aKan3d{SbTQ=t;e~S!MNp=^Ift!FE~(J8u9(35wr(cJ`pTJ5!Vg3^94;mcFno{v zxsK|Q_vLb(Jik#({HMx77;CW1;hOkXb;>=!Q`ae2N#22awPgEPr}Qf4BeQCYnww{W zz$NiM9nBe?IRPh|Ge2z;5(ZzhfaZG%G`EtG6`MXOEv4y?tRM0`N3G@;^UeQt-e8R4 z{9lhAZ*FcH`M(}Lxy%1`6^~c`FIv1h&jlGSKF8yjAc}|yzm61Pr_)h%DyQFL(#YF; zf2S8#)^}1WE|}-^J0nu33LqFm7I)M@~)&0n6}s>?Xu+0t;|blDncV^ zQ=AI<)A}8TNUF)Q;d@At9b*PLB};G~#T^(hbxcim-&7IHvKLD7e=S?Fc>WkNWA165 zRn(Y*Ru7V9lw3mQHfPqhS{d7D+FJzKNg9)5!b|tTo?vcORz4OgC1jVANkoq3P*iM5 zrk0eOt)$4cnUj2z<@)zhm^C-=#=${b5?NR4QO_sq+)wDvwbeA`IE^=ue zh*SQ=)pdy4oXs(coFn`2Jjo(8@nPPPKoO@ zr5dfGY&k8~8oH6Zb>hIBz3UPOv-vF`4%bywJ|A5nF4tC69_M3LmiI3ze`BjA!VM%QA~i&%L&y-p~*JyfuSW$vR% zBGiJ^xp>JqJ=+JK?C(y5*Qn zU4Q(eQZ%(I7dRFf6+m+95OYUZ;5?!=5|Uz*76mRX8e*S zIE$vRx3sV+H*;09t})A!V?(NH@8JD7U6Lj)D5D}~-!>Urk)gdzm%5CtFaxqi2x=_t zNW+gW`0nMJgh~%PE*>?GDOY35mFIA$H+?C3lecq7r^+Rv&r=dp4ouJ5Ky>;8TkGWDEfnNtTbnCem9l=x*maik2 zNj#tU{zG4>%dHg%E`s)#^ zc`W{&SY0^(uUEp&V_PlJd98-F-aQ^qdHnA+6 zibszB#SIVWh7*D{itb%~P%n$W{g!AZ6QXOKe=Gea$K-zN&P>Z`$~zGBx^lp8My5&_ znH=c*Ee`_b8St=cC<%-79*R`YH5S$><7zw`3ulj*t4%KXI!Y#ly$(>2kI3RPmN;M% zO&~ji#27vj3;$qqHTo}|a;1bJTBK^_>a!XztWwfI<}J`p%YP&KWEC!G zZD4!_c_O41Mutz;Ld4Y)c{>?)Hdd5j)O;wkiCG~R9!uFUL;KJ(q`<@SK|?WqHTz1*0C{~8ug;}yGFyqF)8s>1ds;&hXNE@j z;-q|3UwCZ5^C~mc&ptbJ6eNZ14LVgm znsR0xJ6@dd1sU0rMB{S#4=}e$_Lma*Z)5$3Cy$=$^55p><2(89Djtjc2XR2W0!nU^ zzZn@`_7D4x{4Vs3MX)G^q;|ybMQ| z%!U?2!r<&&y_b<5FjP&GixpaD5)%{CfIcAi!cxRC@MMdV>@u52svS-|V5m`SU2DNE zZpkPiY#jFx-_t^eT51@W&!$*0@sv(iiA4qSwZT)S$TKAq72sHb z(tF^(coEZBwukrN8VJcsI3;{+07G_kiwd6=zX^l6Vd0P5tul>fAd^p-+df>VWaESg zKGL-S{5SzTio-EX8%$k2zf6; z)Z^Wxa6cG*LQ{X5EY8lcB}c4i1b1q93&+kk)T{`p@CcG*LhYNhFFyUUse;X~!c?Ii z=Pcu$g+pEgNr4!qL4re(L3t0-D+uK5E8Y|~X)(oeDzHt^uG57Tl}&iTtj|!{26SE2 z^5(`IXx%Sq&v<{337*cIOinXD6@V2CX4UCJjVjHCv=- z5se=rBqO;-VOHm-u)JIaI$}hX|Hz~lOfv(`;R*zAsSpv4Tpuk)$8NA$1roGQ2*TChT$rJpzdOjdcdrVV59} z8t=*C;((*$b1c&;pxk63PEM^)+QOk(Y1?=@20(It9cTFt^2XZj4&B}00sL31MGrr% zzJyJt+V3~0g#T3vc|dy?-03@nI>3tFU5Isl1*1qcrryJx3|)@xJxeD(~W|Lhq^GtZvkXO*z(pNoi<>t>=Oo?h|5=lncl z3P8;6iiNavAo8B|BhPpUO`nLuoGkB>P64{Bgm>}uhkwj)NE^U`L~T4BXn+O#3650& z^{Tm_#Yiv}H`dc7-p8-Ru0d)LvG(fQMV-9u*h>v~)%MG5L;ZW?Hq+>W{mNv?EE;0~ zra)Q0g*oiSwiUvLE*6)GZD_gy3h-++q-9&!wi)~NBItDf9|Y5V<7GGaw{yS_YeReQ z=9CVw0`BQ=&Zd*i@ZU9PL{#XOcF($t&b|2e3-$0&SQ6rYgMc|4M`7v*PW%)B+8mC4 z0KESq_Yk!F{jZPs0yj-5tKh!Gz3EfA#b44uH+1!dhzi3j;KdY z87OUAuk0>`o{cX_uWi=+0>R)xr(+-EK{x17EC6K)gmp@asFj(XqOAnf)p_6~ zQM6dGH011}Sqzb{MDs^axL*C7LMw4d$tu94A)nPNIiYL`at8>|d^r`*FB*wpL~3GF zFoAOb&5BuYh+!^>;Jl9k>~JdwnJ%@NM~u}cMjXHCrw9^ZO!JF6toVv9UX+-@RaXAn zJvFLGb10dm$)^}}@hlmG_#nK;VVr3kLB5ORG~Wv`C|<+R8mg3(jIb0pIi`3~0IEGX zVsMP(p?+UQwq9CnFJB6nbCZjyW%j&OfczZOCd&(~LojLh~iVyE|H^C{PR;NPdwc&z!nYd(J#q%o17DV#-3B(PoHj zrPJZT5ZnqYr4!`9vkQ!oDq z{Hndp3c7_9vz8aKPCjRglW{zxMqWxQ*e_TXMc4snVVo{mDrcai!&ef{J^S#K(evK! z$nPEbRmiV&SnjCs&7;EkvAiQn_$cMt zdLu$&(6^kFsMO8FdLU>?i*zJVr%}~@3^XNAwOB{Nt(W{mp3BdYj*dz^Y&1BX83jC> zWa-d$OH0pTIpH!I=ZCxH{0L1FBQ(s5;M9IaAtZA0rDRs#*P0I@(1YH8kz>yo$qsz@$|}c5^II@x@CjJfe;_7q$SsIbV9*J zn14iRe0r%7Fd9>&Ni{;vUZGh#5l2H!xcLO#aSpE(r*BV)!7(l?i!o}m+aSoW8Q+OA zU%n_K4jUvPw22b*U~wg{P4PyRNcg1e4qW+XWL6YC3xpdssVc&auV$`52;W=AL5z|5Jk)LB`X981VnFfu? zD+*l1u%9~xn(xM)0u9fd0{w+6&`1?-q8tDd6TL{Zt8Lv`x+1h{(V-x)**W-i=ru2L zje05iaV3Gls%qYe40j@f^w>lOm%ds$1E)UQRM@yvXYbTmZ*}&T^02y^tjw`sM?qWV zM2$#JRGb5Hx|oW*bePCTvtb5Xkl!zlR1|HYj)Pi#BV^f6KJpAgYV8a6K++M!cETY8 z{?fmokqyVHxQ>nzg1%Kajbg5tstwi^QlY*4SQZv45#Ad)3zN%&c%3S}V?NJ^%=gDN zkO*a)fVU`%OO!i9mT-~q87W>RwgbfQXCUw3fC=V^>>_%wZZd6&AklzeDbnD8QZ?oX z8=j>R<}_gCPB1(Ub+7P(2wx!}R|cv4=Hl*xJb3O`39R5NwHq!Z8Mgaok{OZ|F^I2h zrnI_g(iz9YRwOidDoAO3Y`df;nd7_$_Ll14@sRAi2KAKw;OXh8u1kTQt5hUKFG+9~ zk+s9%^5Z2U`|UU#8Akao)3hS%Jc`6aG1rFsK#fC4ItG+C4#m+uq*xJAbce;K&F4 z!`+?ZCUUO49BTc_1#ZVtUkTL8VSwv19!+d>Urms}s~*uuk9)`V78c=Ak!S`){91+%CI_&3 z>tVJ&`6*F))Oe9@Ta*!6X=kFk8fj}IzNYqe#8Q||!q4$!F_EZoGRrXc$OX+YOqfgb zIT|il0&B&#k8)wUn9+lsOR-bDK%Ab9(U>r9R|HlD#SDC84Fi~U^}sT(zOJr9FCSby z$Icznb_PIR$~UDgVa0GDyDlb@W1V9VkbL(9QpaUumKHh+$pH!{nADXl8IlACBgjELi_+5Wh9cqsa}3I* z7@a%bfur|m6B7pF54JF#FXPOdwRmP6eJ%OS*z(u#XSc%clwuO@UX?w2crV8zC)!Cs z>i~wjQB6Dau*vLF2+#rarM%E7TZC|c^!SgKTg8mDGfZ|k#XV&er6_#sP}S$>`v$j3n4sncpwA0~X*PPgFXSusME z5-Y+xcp(0$b8Hp&X2;o;z(LJW_0O)<72DYM&#rtE((Lql^mMz@`o}PENjh?e;`${E zCy_`ggV_@4=lD_#S;MH@o5KA%H-2K?b2FD7z*W2u+ru&+$h|@RB0tBEK3Q1=mSe5h zq9CJUQEK*b;AEl}k~D8QtpzJWlz%6!u!0#^+gX-SH=ar^t}L~$RFw;7Ajrf{4?((`0Fa-- zNQd&+gge1VJmKjOAi6NGt1qX<(71V-Nfj#g7}z+raFRS?+imXI5_xr*;qUojoaAK z++~4VC}>XzOrBk;Ra1psH8YG3)wMgD-QpIJ$=0;Ht2bB}yU-4P(vsT2!w0Z!yombN z{$YRc7N+yJ8~-o>tUg+MvbOnf9G|3NdifAbo~Drb9O`dhHx?o#c~0wm)g_**y%Czl1^ zmA${E4=1pv@tBsZw{1H=sFVu7C#*Z3Lpj}Hn$UV0LM;QMibTg~XJ=_RI|qrGvb~3d zs^j^F!q91ac0R`=F6zXB#EmLMl2W7Y(ZTkwtMB4rG|i&boe?2)U@AzT1-)4~Jdaj4 z*Vcpm!{E)qJNV~nlCDBHV~RuF`+IykB^1^;pAdOQq@cI={!Zzy`vVN6Kco(aAqe@W zM5uu!C!!=cCuOuIeHQ#Th<~UUj7Bk64f3|w66rsvLD6T(1;O(~(3{a*)){9B%NCJI zJ&^9!)hRI33hNc+js})a!S})R1NzV|rkvj(yNVOM{+$LNW*>N?71VRs&(q+= zi(vf&cGSby@)%sMVRPVbuxXxXAq&=55Kp4dAxH<%7b`eUl-|V{*Yjb5)u21;-46j6 zJ`y6;&B#WA=#{N?6_ysvkTV>x;bbrXpyw>MMm7g250%krE#g0B!QT6K?}8YwzfdON z{=QWfclK0adZYYNlAPoM_w|r1JNX;`%_3L@(JbVXpfS8wLoYY zLyIJ(1nZYD1=Hv=rZt1WiPn*eASANhswf}EWyC8I5MiWO{Wm*%t5n<#&Itn|m<})h z&MHm?-*Qp-Tj@9Hl!T;>^W`v}ofAIhd<}B3>!o)52Ge9fDX_Bz=&#O~L}qusn}r|U z^GLH0-bpVR<#@^6D-73nTz8A`nhXq{~_O&xI%)f%}>dB@MBCxbqKi8S5V%ccryJ9}k&nk=M8zFnQL z|8P7-(-w*wnLIPT>*lt>o1Sv~sdFTl#b(eL%*<1kK!~j$@A%T_EY8RwX18=Z+n^9- zpie~Ur)b0y^r1?Dz2?-5f4^aTKbNUYmYmKnU?c`;hGYu<5!njCNOe2_tf@=_dy`#}dN%CPzo6&EN`f;=o!N;}I9M@@28w7Ln;bLHU^h2La5n5ilm@~a;H&)|hPj?mH1{oe-fc3$_7cXs=O zH~r(myM3C!tRp!auD(REejJ}hz#ww!a1qak=bgN7ifjK8BMjlvTMWZ`#(%uysmGp) zkJ-WdnI@;ph(eU#BWB|StxdGTxb9#?PNC8ZIe5d%A+R%6G7V1fN1~if6%kTW>aqeM zwnymBJ8(205LY=|*ZcVKr<`)jh@u}0+v8JTSw9oS-;`8L7Kg<4NGHYlS~)hhM>|1< zpOj42JX+6neA|wOW6URsJ{YG2RZha;M=;UNQ=(@vdM#F9usNHbL)Vy)i}eLo5fBgu zG1B&p8z1$_o}^Luk)2hx+TLh{r;=(_sxFD{EXzL!f+(<$Pz7LLavJf>@~$^gy;t zx_8p-oirxiMX1<^{P zXhmVPo;X@VAZ<;!6!AW{sGL~~B{_v$NsiBPdKru^r{N@q2%F2*{61B^rNgKt@7p;Q znxpg+nCMA!@~>PlWk0h>RQ8(x$#@!2Ecg~uVG1jMfk?U%+$WvT|K(i)a%l1>bW6Ti zeHmt#lSxE68w$^|fB#!SL+!KGmor2g@p(=y|K%i2BCzAAPn{DlAP)Ky5U1cG#4z;e zbCeEaaGRd%Buc)@vC`|DZvAynZ{(Q1op(w=TL~U?0#TI=#O?vjfCT&0mEzF5_EU?9 zO)=R(VdrUHv7oSvr~T!5&BL+nPJjAZ^{1T5*W%8Wrw+p|?4}|Qw>*{Dy5+&6+O&hp ztl#p~kOqo+X%5-ju3+XTEAVjg(kIG^&hc*t{lU)Bpue?cp=g*sp&Q)4Z%i86_ujps zO}CGF9Y|qj`|un7C4L6q11Ub--PzkYI^Kan$7k*##1zT=ko>;x?e4t$tz(^O7j_2W zPClj|5`M9DFgV<>^>6fniPcCK;8>?Z>|aLX-2Vmquyg{|7FlXcklGc^tVp}p5eD<4OtBJ7q7ZXsOcPm>;5l0|8q1PL{yL;% zHGe}ReLSdrpqd<`s)wiYk*Rx7>K%^;hr%xOenwd~wp!CfV&p*)W`nv{(6`J^SUKm_omH@zRgh()xxIElx`3N+8N9Ou-dO@A z6shh>kyCQ(<0W=^iB$gLQn4shBIfvsFh1hRovrK6*0l^0C^aIL?PZH7csLMZ}s{n!oy3Vfzs+Ao$BX63l;;G}{WN-+{4?;MO$gWD(&z zaW-6J8Kxng27mu?^M{QtZ@plQh>+O~+m#g?f z3&1KdUQPpJiD9vpjPTVNBbRknD;`$u>vDVAQjfPZlQz9FR0i>)m^#}=B= zAu%^nl;kVD=DLmjcEk+j(F4EW@lEu}B@GS*d2^P0dP&?uH1Er>`nb^?j-#?N&imL5A4+2Bqps3H4U#t+LiaK`9qaF1@2OHy1P?4 zEF8{MJCMa2o4%cqf9jD}rhA`YprGa+$q4mfc~P4a1=L(iSUm8i@kb z%y$=S1EtYF7ja7SvZE9yzM4SYj5r+AikajWTKXf)l3|Q#_9^wAYRmxgJJTc~*vlxK zhn5UGReh}=&(|EF&D4@f# z>R43XfLT$!%jK7OEw3tDH3v1^mT52!Gzq8S8LbCV6kw%(3NcC?XKRF6g;{VCft{l;-bxIxjCd>e zdOG^zMYNSlnrlT~$u?5}+6s8#+*kLsRy0*RX2TkSxwg~CX6e%sycA0O@%1cVetM}YTCd*M?~{R8);G#<*N`}!jzOl5PIg~pp9 z0hI%Z_|DXcBY>w$lFCX|(QK1!8c3w>f&BT47i#Aa)dPPV^mYzA_Anp+5!|sp@R;#F z@VH}s6f|qi7riY<^j5vly-*&WCKwEll#^6`l;XEOu`p`m7H$-dc$GYHjp_tDQS`m%Xt*j_11y8?7ONZT@+Y!3tgx3%>$grrB&9w;t2@M^)#=_ z){$D(51cBS`Wkr#C~-^F;@Y_r=h_ht!;nShOH!QJSF7%|qoh&fwy0?G;VICfWHJpl zSw@w!^JFm|1zAK(iBi=EEYN7TCV03KoF^9%*6^I>V?LmCmgsY%B+7`ox&mq+k4^ZW z2%EA}*75Wc`Hj_{RYDOcqEl4d?fr`A2xhC``(Pud7XsxAA#-KQ9+C!y9?-?gF!rfF zDes$B=8|{OK>&4wmnMYj@4usnCA_+NHC0~3ZA+?wZ8{}#iMCN5rBVeGGe~f!ioBn5 zu(Gebog=EK36)g=2TLq^;BY7(bu~ANwi9J&TVATix;EcX>+UxFCU5#p^A3}fCghj{ zI$wf3t%+g4wr+(fT z^|M$31!pcz33cABF(F*2q0YO)N*8;Ea#A?D13R2LpLm+(Sd@7qJvCP6itAOPWZ57m zG`T(a)+JQ(6KRbmb%(m@{6<$KWaOw&Psmt`WZ)^e_;sYaS;ezIG==V7Y)D2kTG8;kwh{6_LzTB6ZgY(W#R#4kfE0PhKc zIiQ7tnKsCxAvhQjT@+=5I71AMA*=y@AQ*lb%@ymdCx>r^AKqNb%8y??x+TUumHV04xX10%vWq5rgg_4(jX&c&Gg`zHRmRkZ0H2`n)t$210 zK>*BUIIH1nKEy5t(R7$z&gM6>8vG}vulQ3@)UZ$Kc=2(vnCoBDpDbL9y|_tEwqIWu z@{P!Tt{s^clY+M8iq(2b&=xX+@>ATThn8}IR;URv32jo96;l=U_4 zYg|J8tM@zaj(7G3TRR7D`-k>xcRB8|P14YW7&JcqwGMopBi`Up*F46}4sP9}+URg< z$B~|daTZmzx!QFx70H$R%iHSJS*Wuufql2ZxLae{jhJ;4Hr)b)ZpfP3VaiR}aVw12 zdggDXf3W+iHIMIftKS}aH$iyY&+#YwuLTAH#2@F2f`)Xr+;5z7SGM^ILsc0SBzt;u z_5M3m{!W#@5>=j`f;&~->$%gPJ-fQopX=$*t(?bOs6XE+wDL!H3atr?0)@6!CiVp> zw09b%+R2?pSzn|4+SEg4BpYO8tXb}3#NM`$ak@m8tg1)eDRXzqoCRm)N6&*P_kdlp zlVHt-T*O+7SY|0JMBHspO?XihcM6Z5W15RkD2W^&_V$hrdWU46*nyB?VeeNE3uFOt5L7klJ!t&Esy?A~?%v zXL}k+&eC4!z%5vvPU9+HI#*p&RqkO~&J|P@R@_Gox6yktY>MerT?)0BjY7E~UJVL$ zwa$|_mfkT)woC77xfC?=B&g{?(8O<`&|TmQCe!lSvpwyQX+$AUoM4-;?51sdmPzQV zLZvdHUj{&~j8)`*AufLq(+|Yq|6%p}xB`|#PF|dyS7JF|1OH%PX_bH65%Vh}<}y~> zo>qwYO`y+J7h07*-!zhYgDI(2F1V18Hgj0J*`%|)@bDKvh`g`OB&_f{paqmjx6=#Q zkHh(Cl1>Ky6Qv0`1}$IC!O2Qa6+|nYsH^CxrRG6ZqUdAft_pNJRcsI5zEsx%YS;A2 zp?pKOUo# z#!4_JP?L+Om9fOPy`#4dXu<9&0CEGwS3vI~IEEoyBamoJA5 zczBmIg{qGuMXU6Iz;iE|BP$+9r*pV92G9{`T~O!>-!<<4P)t>{3uK+vER6sR$H_F( z6I+;MfF%mGPy_Q@mf+LW-nb5?cUDOi%MlLeTu~9z=jMk#at}6DPJ(1`-&|cIOW1vL z$_4u2@>Mwp1bxU_5f~j3R*s!k*w|t1ZLV>^)~Y#3XCIz|l)DCq%6vCo^|l8`$Gziz z1E&oHmwq8y%FZi^_br*Bn;l^1@oWDI(;}~4?NRePBb9IB8eBG2J_^oQV2hBfFMA0G zM8Cc%Js?e#*_(Y{+P|_X*3oX>!Kr-f;d^kr0l^y-ouFK2w7hV745~V$4K_BU`kzv~QGyBQH{=Fzi0a)IyKfd~a} z*&#Dem%T6jj1?U&>mwa8``NNS@;NgOnB`!7@k#BpLgxN@^aK}}vaMcFh7gi^uCOD)zA$cU>XbooyoV@S&pC$3i9sj%I ze_ts7^UN~THvd~bjl1KE*UlGf;+B^i$Q{4DG5iuz%%C}-BCpge%kaWtTyDuD_?ule8pTiU7<`W0L`nD6Cs^F>kIBcL_1*wqH(fYI_>Wb}Y%iw%fBty(x zCL8)1u7Gq<-||5?sw-9G5e3T&C|DBV$k*O3*=V7D;nzYcRP?hx%gQr$!wE!5F0Csf z3`?O3_`5A>mLq4@GE-(Pm9#85R;gkSw$w#+diW|y)HUQmthQlAdA4pDZOebZiP^0X zDWu3EAL?lHwUa2D?!PG$J-a)G=x`pM$)A%y%`V`_+dwqi4_MQ{U8i9kI%)1%!1u}j z5nCC^`}cLw+$%{}SmZ(N(MZ|aqTS+6ZyFWOm-5{Dt3hOqwaYKbvb8^r_Bmv(fI^cW z;?v9O6gu~5vl_$<;%fES*Q8+!k-kCn_+JLH*S_bLAHMqGc{KbuAZz{|I)JGTj(cwg zyS-lrM?3$w|EJlKb4A`zMH=Nx=cU*(^3?{i$73UVVBHEu6~dUDj{s|(#ylaP=p^XY z>E^z^x5ix{JXK2Am`KcfkOukYg@IJTzyIx=e~v4INi-QwW*tiFa|o(O+0_pjcD>+r zLCwIUoi}^Ey!poVDQJ%472d%(2FJraQzjz@;;vm+i6(Pj!LS5d(lt6BU z+#%*~H+}0;gJ~4c-&ur?D-$sCX#5iS;zlrer_$w{3gOE?@AmWxmGTka&~sNY1MO~a zt5NpZNjOw9r?wMbNzYIVA(oYL+>*s8pTgqIq(JcNU4Y|PUmDoJeEIQ>ORxuqdD;H~ zS#t~xWUTzsg9OXiCn0KAUxfG8;KMSu*RcyV3f5L-skf^T?X5wQFRRq61VU?mHIJ&T zfl;=#K~hBa0Rg}3clSKPa))I)*|VvheH?x-&sKUJg5sUn_LYlmI=aeFBTG+F z2t}pP2}@=ACSqK(s^CR=?Ja}d$&8g`MhO{PzQORSLhpL&C53ZN#l+_(=vfj=btmrL zAaS<}vGuJL)i#}74&Bsid6kC1-D(lrCV1M*VQ6ocA)7B<;-wcxcQWst%zH~@UK3&E z=T7RqlX^M4uSDuq(6MdLoo146+p_PS^!pV{ztza@o&0+z|GHn_B>7h_PUR>0UTtkE zg}JriL?bP{J(g8cn5l%|-cBDJ9fNGo6~%&9Ex~PFn?&%dF3XqXS3sAmBc83+1zX0Q zlwKmNj7&9m1-gMGONKf8@3>33HtS5DYky`aA; zn`Bj*r-^1Z%6Ic=oVxbb4GIE9zar{pK_}bOE`7Tas#bGlwdvX|pk~)Xu(T4BZbEgF zDNnWfl3y&fs9LbHEVRNs<7Q{S;ymqV{`!t`#WP8RJbKyXWD?C&ayl`6Y;r~p;rV5a zaF0;*RI9va%}Y&dv`58A5B>8j9Oo6S;17F92+zx6Nmo>otLW~c_3OK6wH%MeX_YCm zS4s)Ra9cv^M)`%l^l%c}pi1oIt=d(6_bmNMJ9=9$-ip}#m$+ZcPJn;qN!00^;=3=8 zt1m}XhSMTl7Lx(n<@&v#nVh`L_QpAXEt#48!E)2g=Vzo&b<{gS?oN>VN(4E6JZ>-x zxfA3n3v%u5>UD1FS0v4SK}YdUrn{5r+Lq~1VmnKtXhK-njm*X}i|90!9{G=Uxh*>f z935oj=trtlsJyW_XQ=OK=lAZUx-VX;Gf1#g%2N+aOI$_8aoeLKyo$*yPQ5jk=ks-Mcjw)29qVvi?hFkd(+>wn{jGz+;fAe$qmPq#j{ejH z3L2=*be4h~&B)hHF}C#434Oy(>W4|t$C}*4`zb$t-d!}vyUHF5?`qypQ~3H&40yb# zhCS11Sw2zwRk)2nv{cvgC^?;9kYxw2xr*zGQxc*QKV*Y6ydanzkLU5U`GISC)>=7c zwNF^H!_~^UYT-z=b((w*l7)rdCf)ms6_Bn?{pJBX0+P!L3F0s;d|8-CN(Nl{7w(zZ zcA!ivwnqxq(1~Z^$4HOT$KU+I^r^cH?-U!NwILH162ox1O|+(c zW7#w?KKO4p`eD1e`e^OR+UCP?e3FLgU}rcROp^gU^=m`lG1kfR^yy>x?+@gW z|4W|D^^GTw|F-e?$&<$$Po6&BB)@Mydh+P$--7jJE}TCLvYIpq{uYkH$z{QJW$$n4 zL!*s@*Sww_nBPXxI64dGksNtUsJuAB_)$0w!cSp54o}7rb`efT0l|?pnWZr_maP11 z_`xq>3Ta871;>zo^fVqvU=f@q7eTm~C#z@C6uyo|YZ&BAPE@d!%r4XT?0im|5W+=J zH6SO9{5++XB1xKI&qoK_zplQEhtV{PR(D2(p2Vkdls*f3vv7DGt!}QZ2m6P?n}c`o z&($Pd9g~4l90vlfgIE1GJA13cWHKRK=R68W5qE)`4#$g86nsnHt(|`>{U)6fs8Hy9 zNegqkUxTla>!thnxmuiu*}3!OBy=|fI_`X#W+A+jUNXw@ke9QC*94UPy=@C1olKfj z%C58z!n7=!lUHxqUtofkS&?RscKa0k3`ib-c5LisZFoo(Aji+X_d-?&ZGQu z*h|-EkGuMokd?6ApbOlh=W{n4rirvhv1ibm%%d_8!G#>@*02X>_rg%`XW*f$OR9i2ebH zK&He&kOl1OdIh-`XhH;q78&U+OwShJEfYj(3RlwMJb;34z@Xr6YK={QN=A22&xRfP z7xcVX>1#$wuQ*W;f;SNbE>U>{>N$cI6N1$LT*N7bD_+)%uO`6M;&2=!rvxhG7s{8j zEE&dlOz5TCR3({kV&KC+$jJ{UzsJ)*C0CaKIWKgc|F$N5O;pK0b>EgC*d@p^Sxl5^ zli3al-wv5$fjnP60U~-6@(}!8y6MCfum@%`VLfA)aH>N-NJ0MrVTr*>6iwycsGLuL zk}Zg!l4Ylh@%VDhn1|)oTAveoHWTURAtN$4H!=-$A0}JDr^8+o)H;c$RKZP7<<8*k z{34-J(VXXNXEe|(AvWKg zo{xw`5PZiRY7uge$N($w_Sw`>jkCtli}wwZ2`UxNXrauo}P%2 zybyRtpm75~bMXi)clgG3%sGBTFq}aDKdqz7aC%ncGw5US@iC8bU^v4W@u=FC=4tmS zBa_r&ZZKP%jN@T$wr(f5uQ0GrGyprB_!R!oQYYX~;?{*wUO^m-Tq1R-ctqHh5NuC; zwL3~${UZtb9H*DT=yDoP;vrEJE?0AnLX}fbUEsXbtiAYEUW_il|l3vAOV5q5&AKDh?THTJVpB^Ibk+)w2g zAH*uJuPSsX0;Z*>pi)dLe!1FSmfD+KyK00@-tFeK>}Jy(E-e=$;}Zq?ZD7Oz+4wXZ ze<4ABerV)s*>GTc8t>(0r>V*VkSVTz{^1lJ|8TfsGU81_eDR|a9+dC5=f2v=MYp9x zy(EWzd%Q6b3_Wx!5Sk@xMD9#t>h98Cxm#?x>QzPQvKg}^U$!f-XEib@UC}wz_Dns6 z#xA*@Ydx;U{#H0^nhAq9Ec6)7fwHWCQ)5MCCXwy^{t*fn{a<&Ej@46p+dW~v&ZmL@ z&$;gy#r{9*8$UdGYWV*=*}U`rxr#^g{|TUa6ydxn6Zg1zIUL9HOCqbo)o3^kPVi#j zQ#>M!|AbyMs=h+9k>HB`dE7U(zZ~`s4*G{c!3Iaigu8AH-WFWjT0d8BZy(ZC8(uRH z)x(oJ4}D>FV^9^Y^TN<~{M#Tc!di-C2OByHhmGk7Fa608ngDGElXs9i-GHy%nw2Yd2t4G9bTTiZvy3g1HtnZwECBpeOYTb_=>$C$?px(RSjG+d;gBD@f{iVvnVAm;+(Gl0>_0JAVo zg9i_0@HhA6kv}<0lf`ThkAkxl|C1*ofwYX<2ZXon_4Aul?H>BMdr0y}KyN4&ZymO_ zOSm3>A65w|_{mFux828*K1PL}(_V7GahJ>`IoocZvN5PsU6#B|HdLku<~dgZ0nrkDsgW zK71Y=d>~DNF!(Tx;xQpaoyo%=yB}7u1tm=@!AX3!3Svn()!ScIY`-SAKS}}sG3-ge z%w=RTo0IQ1z`HYzf(iVM4s);}idUW7QEp6u9qP!Y?EAq6rT|^04{i8{oR`3=uuZgi8@bWD*a%TD5}o#Uec z_-6ff+&_}&K({ge{1rswEYg+~1=EPS@y1j1V1={FmKB_)1oC`oYrzp=*mPaVbbKjq z1!;?$0m}PDMAy#_4nI~?Bmo%(6*}O?x@Eiy7a_X+#i+ zfO@hZI@N59o&Bi5S0bSdvH(#8Edj9%`rLxZpweSL{TNP!KIh>W;DP?kng@dzlTv>X zbct~RosAXl*Jt4vT{bY{9kiy*L*8i1CLg_j{d#9>2mI}K`@8#xzwz0_|5`>FzyhFu z$ua32;n4_2mvjPJzL9N*Rjp-JitpgKyMBmji{*$I7Ag!x@25=sO}F z#2L}D&lYiZ9-Kt;iwI%>f+-Owi0}_uX>b}&;_>A}L~+RxTE@T*4F|bM7UNNH5vGI+ z%?plNmj<56JzPZNF*tmMDIhLoA85J~O3Hr&sTd_u2DAQ%A!sMbV$Q}^`f^M|O{u#U zyvB%>7|tSC%J4SqJh_m&!ii+sOknVgjZTy%G`dj$up4r`WQ#Khvm0p#6|5SgfVzh< zY*nVEoXPUUdi=|?gdFtfb39khrs;o^P`MKnhukyEl=eU{Fky_f}SPTap78o`~WOE{*1Jb9LGDzq@|4)_6 z`>MVIve8cR#Pb5bWecQjV36B7kA@#9awGg;y@0#PG#BF90OSzH0sAP}@=O@Ew>bP? z3*SZ*0h&W_BOU>(LRULXmD(P@Af~_)`3l$Kk;i_MuRXr-6`ObB3EmC0aVb=6)v0`UkVwbf;bRwC!-le-Nfw zL{&*nY^~{8T~;w`pjQp&Icp49jecsn{uw)0>A9cN!vHLKrB<*9Oq~?` zaEd>CA8b6gvub+-U4lG}R+)Faup^K~!gUDynQGT-U`b0+AtsUxI4F-V!KIZ6>2%Ns z)I$=Zk|}D^#;A=`F-YkYJn*Tu9fJ{VV|9b~GfZZexl`;~DT=dOW1tKTG22goU{4*d z+1j46whPl-W%sfIt^Hkap+4$wSL&xO8?P)ih=W>7pPNLJESh(y?6@uk#TAA2Dcfo= zY4knj-2^{b%PJ3Tr`CRT!)&;4R52 z`hi1bR?lj6HAK2Jfg@cQ?aPI{Hs!-6_NE(WDXMRPdDGv6K%{<&e+&0$tVbAHa?@;j z=D{uwref)4?eNg6-V|I3(hD^1+9CxH*>Jv?7IaM-WccS;%&pqBB+kP{R&w_lx>1TD zAFmeu$%Wqu#fmw{GzeJ{P(MpeDSPQWtDi?4cAX~#K|lU0K|2K>zj6M&?s#|^PC0k z=>w{BWr3zTlQdOnM;Yr&oo_OQ{wi1={1j|*_Z;Sxrp{T%Kf=-7RtCHz8IGfHx|mt- zNd#pA>!m_+I^-y$fy0NmS&0>&gia%n1dtyXY@z+p&YL}y72o!b-r~sSrTJvU?a}04 zw7LEYr7<>KhYurl#ize}urt_t`?F+N71VPSLAIBI;sG4hxTTJq-uoq|MOa0V5*B_c zlSj7B;s$l(p(4BK-@(>Wf^V<;z2o3wOe}14BzaKyC4FDNVPmyrPw*IuGUT_YizFmldQ^< z#3Y07<$;?`nPK)bgR)cE+D7x~n@rO+^iTjpsv!qY;{>HDS2e>=fx1#=8AWk~*+t>* z%I4LK5)>EBa^Yz`_nYv%4qFR$P9cNK3jQ6$bH%69_j1fsKOL7?CFoJ-ifbuK>tF3` zCJ;xe4c#`)LHoE!f4E9Lp`yqyv$8uK;H%dG814VYApY{S3o_w?B#qLUhZ0b1iIS(R zxQf@zO2?*NQ*uxqix}bWGu9#`YUcOTAkj!Xxnj6D1%Nu6-W(ZcDt792jQ}e=0zcNc6c#4iA4Q(lK*~ zW@Sj6_sQl(FJ%WxAX0GOB7))Y{0ed;+$HL5S&`2NPF3>UP`68*IpY_@baY?9v$-35 z(?Z0n2yV}zm zhT|b4er$f_0)&lZR&BQ8B+P|RZChlS1+qR;@S6!$-J)3-NLO|SQ>+^~_4&W*#`*DV zNN8??9CD?b(Y2FPf-?M49*LCtR+IO10-;EKu9wxMM)FbgX*Jiw+>XRPn{Eq=%UM>P?JUermCFca!nL$M)qRwHm3h2RDjk~8=h^d0Kc{?90`OGrMuCG8dn&bkr ziOY#^3VVS_IY^ZQ`Q|Y}4jY@B@L1{)sP&m-Sfrs#w zb;QE_!Z~JF%3}mY5l1Nh2w`Z29i2qHbPws0Od^7`AHnGYY*t+zGcZ_Df^ft!6+uHm zK~Q$gF`0OZ| zMwWt^J~~dLP(SfFviDVbY(e3*XVNSdxhRp~bB#pHSC&AfRhqm4awRX4s}{EnBs^sg zpqPxB@_~`ZIZg6Hxsq9f7d6Z=dW8l6U&I;YunKk$c4%2)iY#s2@iLI?U`7Cbyf7gk zWXJWI2~pD8())(_Crh zr0r}`d*+&<%$T_}DSiHkRi)!nE|mpmX#`>;uvw9KP!$h~>Q-~u9_MNE*c=fI;1xsI z2NicprzEf1y&YVn6Av%h%=s=&L=N*{IWL`6vU4&9?JvlQqUh#X-P)&)G{pv5n0lBH z>1GJh4c+vD64h!UvOl89Y<@Y4vSAv}xQJ<;kdbN6yRF6YU~OB%xNm>16~-d^pLG_2 z79dMO$g0{)hjOZiEL~_f?^x?b<+{*KfexifuSSP>b`&Bkk+FPfsH+@5&^ z_TecP<-I8aQVa4Aom~M#XT9vQw2QDcLcu$&)Kg{AppYKG^NKd0nWX0$4;g|tTFT`C>EwV|KzG7ZEU3r3xAu2;-|y|P zqQ$R!JMZ2f_Ptxb?Hz9a(mU)|Zs^PQZEaai<;r9FiYa~^;I`yEpcEQGa+1c;Y4C@>pJrwUH*8!IWRq|__Au$)h$I9| zOgbW`3XWYk1}DkO)gjMAHA2@qYS~ARuy&;%5%uaT_2eyXxDkj^r~cL!rw)rO;zXnL z2<0jJO2sC(@r94ggsEZ^IXvx~UJR&>&(t9g(QAS9hxZyINT4twE6C1smA2UH#)fCrSZHZHP+VLxSbG)H~*7*sv~qLi#_!KB8F@~*t6#TQsY z+)EJy5Ah`Y7-97WyaEEtHOPNrQZ!?Akud2i4*61FCtPGY9Q>9n;KESugrgZ$gUCpm zco@TJXU(zulS{lX!ulzBL%JLYc-?=0eDI!dot^*N@BA?|z0A1x<4W+ykRA|vvy%5k zW)5zS3|FMDc-0O4T9zH>wk>3;$?is()=I}E|97~5P(xV$nlmmKa`!)ILJgFj7x!ms1|cgp+)&YW%+!# zSJo}eKO>W-$X_5mut`;s9(>g^1%Oz#qUq0sul~UazR$0oizLr>D!l6(rJ)k(j+~-7i4)d-;-w6~(!wVW*L|u1T z36*x)loB80&8U=CH;q;ClW4N58mtPQ3hauHZD(1tyvU%}z%pwqF_d|+Ew4d6SsOe( z9e??GqDbfAoIqDOnGx`U*P3v&l_y^C;q& zVy+GMfvUi=7r$lU1ijhSFc1crZg>q^uFM-z1m=R(IkvuPPvt*X?!5*!3;;UKEfpk= zn8#*tBsWz}zPbIeOu%^C+uMHUf7Jr4{{W&~kDIW5Q;*MO5XVtp31pg$%@~KUhoK{Q^xhRP+x_fT&QyTwudOA8^8#WrFIR0yM^XbN>9{;uR^vPZP*Ht`H z{MYN(L>Iex0bnd@>s!JSCqzd%|JI#2g2y~|J)*$Am2ez`{z=Eymv{hNFKP5Hc#DqJ zZ+MIu4_mdrrI7(eOENMxZ@;w`9So|J9hCbJsrT#jqSlG@OtTDl*1ZS(7d-e}tQf#f zn9zJcgq=ymZ{3r$BQepMDXaJ+rw4m*&{jupc>4W?CgEyW9((Tzj=p^ZW+g6J(8EmdU{_*!e zrTqVV#@laq2Zyh>e)x}#|3KX7!Jx3lQarH zJ}+1eU`OF<;De&o*x%b%gM<05#`1CLY5*Y%R|6jut;YV|z8W0NcQuxeOIHJDpl~(t zLD6dL@9nF>!F*R^`M7j7aO?_K10NKv#{S;E8XU}bHI|RH)etc*T#V=H?5pv7Do1={ ziVj5?sO5Bz2P+g#)n&6BOkE`p3{2@wlPSHSQ}U>>>73FVDQUQps?b#wr&6&SGdj6K zJs4BFkQ2TI{*6T~nM%!beWJV_S0$>I9doEpwbdTCEfE!%rTX^E!oP=qzoILs(ONb? ze;SG_2$==fSfk+zXy4*T6`So)tcO|X2D?iUcY^ODHXbGQhb#EYZ6U{ zvrAS+Q??Fk1IzU|^2(dR_okcpxf^6iEJZUbqS(Ie%J<#xk{%XT3 z`bNhq_WiG=#n`~;VdKQb2?|}jxN=#xrfgW^qqVuCM@>#VLN_8FhA}IdedK)O+E`dl z$Lur@zvtBm1Yl|tEwxrJKf|q%FM_blp71OLD;Z#P+8K> zqRC{76M`ypoDKZnMs;%hYiZ$1B+X`Ap+y>~N1Hj8SEjUebe=|ZR;hkji(;~Z%q8^l z_GcDh#MVW)Y(n%;N+Io{O9Ziqg!Hz3+@0Jilvzx~&*><!d_S?x1Y6)=2c5579IUuC$~BtzbJ04 ztL#^#v)j%ief9GV)#g7xeij#7LE*a)t=_m=K zjWy0kNvM)wyv`(?56>$E-AP zn<}(Pn$UKV?v)39iZwMz-*6q2>lV8Jxl?^of^rMee15!3@u^dUe26+JK1Ei~>N$kv zE`OE^9q{aF@w6~E&GHD%O(7NSyHb?W2e(UwarjxWnf8u;NoAN81e3cOE_XFtZb=Q7 zcIfTWGa!ErJ?-tB|}EmK0U+xg)%>%x4okxA0JH47oHHJ+fgn- z#XE5s02EIA!F^$Pu%~#j`Vw;(YayTOYOEKbjIf!>$$x{(C3tgo!Wm6iH@@r=H3*q$ zJdcUc4kIc9J7g@9x?99K*g5)D`c1YA5;G$Uh#B<1HONU$Gg*nsc zyG-wkbdQKi`WPj`uaiG4jLpZhYIpldR|Nrl!QQCA5ZBJ5C+yl;0_Jf3d5yfV$J0?h z<29edorC`F_Qun7$E?JA``n145lu$qwS9)-b>n#+z3mM)9CO5X_W5P!;f8%`@TQen zZEij;m=}5LoZ04+r_Q;NckRrM^iwdqCr__+c8`86f*pD5oZXX+P3P>$yH;ig{kUgG z-d^YI9u*_rBZ_&I`z%72M-*SG_F1^ekLWH}?Xz%e9?`w21J67#lRw^ItJxHwQ?sc8 z1PucpIq~mNA@)fV@Ce0z)!U}Q1+vSu%JTEXFm`9=5(y+Djb@c35NB??+HShstFI?+ zka$IV0^{s_e5uML5foAfv4j<$CrbzxGa)p9%a{ftM<7B0oD~_1306xKKd2XKsrW&m zDmMg8XP(_`$;G-jm*k=@G4I5&(3>FuSyyNgfYildQ^&e)i1g%Im?@taOM~X_#gVrV z{dD~j*m76c4q7&o;#?~<R3^0uu#Y$gdVcZIF&p`SGASmPt-3Uyh-Sl^?9 z)je7f3|h>vouzsRx!1hZcJwPh+538z3NvhFsXi*f^)9tc^W(pk$=>@v*M3kp-=F?JXz2SO<)^ zBwra7YY|zpNQcotQznYrko|`!Gp7ku@6*c?TBHIjQP8L0y00%uNbO}YLHEtY-Z*)` zaE;m3Ow~JKJ)hZMh7OA2r}C4eZk_J&4}*bK6Jy+zmNj6~7c2TCu{KK%g?PRqShE z317@c;XJBg3fJ79;^}OmhJ@fRO>28!j-A3q1;#bWtS%$7 zV~rJM)+MgDqO@wUH#?T-C9N)bVHJf{t3B4eJU=mR*-NY@sousVRuogM7FqWa{RFrr zFR`MGdJC6$C!j7@K&>H|)(}XmE!JXsbt7r10P04}>hdObVihvw?n?wr`xSo+7Es8S z$*VwDk{i{c&9cBqJu?gsc&VN<7b7j%%^D;~Wdnu7`63(-zJbE`kiHE1vFklM5t1kX*=L>%+YHIa5^-CUn=OceEr_U71zYT%wJx@xpH z*A`^_tD0*Y!n%8|=swZfT-%VkuV}7!;`5#O3?9NxYys$) z9$CbRub3|VWs7|0^PDzeiSzs(4&rnQP3KY&| zOu#tW#(`%4Y+)wSDb%*q;p~&osw`8##VKAM!r^12om@7{vfQbF?Ke7a>X-8P#eXj| z|Lf+)(?^eu`0tIo`0p!uZdd%bkqZ{NqBR#Rd*clL#vFQiYH(pK>Wt#ED4Ta_wwg(l zW#L&AEHZ$MSXY`X=48CAGz(6gm8Zdx1r~cE9L%DUcZ4>cC<{XJ|CQEqBl0%yj9Z6d zY8I0QCtpVCX*eV^pG8Bm8AB?3U?QC~oMtrOTj~niWomLB;NXG!91HUsm%K3Mn@zOy z$506RzyA6wt>jaflm+9%5q^Ky-ERMwp#*^dP8U&EPhf*=UUc-znk|QKG?^n(JZWvR zlt8=C^54+@%W}maFtkbJImYm9L4GmGYRDgL7TAN&BzzN#6>f*fs>(B_;_$eQ3|-0p z562hbWpO`$*GXSYp#74ABJQOVrpHlb9lM<(kpbsWGZ3HEA)ny#`9Wa|-t#sF4TBaJWdxj39aW zC6T=&0?t#&tQF>$2zIrsyTTKY=it78OPXm!W=*M68o~9$$z@S*RJrH^xUe@!tAZCC z*uwQWpYc4NL~O=*ImD*|JwYN8J@*KQL60pmPnG4jUN$`<3qmi^Cj#e12#K0WcawO^ z1%y21I%3ypG9D)vfQr~6lfDk83J9OUU#mgSYhp}Y>_Qqe<0aYg`1Gaw8!O>4Z#f^?#x?!TT(rw3iXaYO{1OH(7$X zLEML%x?qZ*ard4w|V~4JZmK zL`jQ@AOYg_nuYlofGlG|9_cy*!KjelscFe@sW{Cd%I;0^oCMj1Z6&0+gfJHkWq`3M z7x1OzO*lxYYH|%RqKsSgMkC4ObDD-{SpNsa7)cjdIxC@6rzS6PP6$SV(%JUjkKJIylCTZk@bU!)8S;luRTd8$i0|!WVA6ED_GqXc&!Pa4NOg z^ms0W@`e6Fy+Um?QO*#q6U38+q4V#8=QmkXPcLnEKnbTLHu#q%s0pRN%KITWlz zXFJp`fY%8$n`as=fRjS+;glILa*ijClGV7wrGW5^2;Y2-aA?IXg}R?b_YzW)bm+xQ zjeg0@FicvQpC_X%peN&mZr0yzST3}nDHijK;Q*&ArR>x?MSgFB!U(^p82Me}tQ6i- zSi#FLD&QPs;VBgjU=GtHh|ucf#q@V1C^`;f6H888WUEGQepd++>bP=Mo^7T6Ur>}Q z19`E&4_LAP*ZPxWF205Ey)wrSz>N|`tWkpT;Cg#cvOn@4<=V00%iPk{rW{Y%|WKc7k^#t8q2D|T% zj)T4ZW8ejoa6~%z6vpH5WE@fZbBx!r32?uigDtG#MS4G@ClE91Dem9*|}HzLuY5xxMXlRI$r&wg;krI3`qJbZK?pDv+>6WiB>70YNq=DtAMK zThMu+kd1Cf2Rbhr@nAUr%tHV5hOjRs4ZF`J+1;B>aSm(*3m*56jt6h|_kTX>2KVom zlrvMn1b<9IEGs=ABw;X0oIaiO-?_^SG?`z{cqv8rr?M<_axgbn6pme&$)$(8NS&Mc zlo<xh zXX8Z%|96kDl8A^t-)?;i8BJ&ex2(pz9*1XHfYwb^C5KQN8I7;BnlYMxaosQr=p78; zk2V=kV4E|*X3^jjdK=82D?{`GXo{l$`<-nz82lAez+b{}FqkpS)5qE{i+F^+%aA@g z-aqWU=?`AN>%Af3$zGpJ1?xgSAd~qi*drnxE*3N(BB#M%&VGJ5+&S(K_V>2>L1!cQ z=_kl$gS{N{GS8BvC*1SM^q3QS!fqz1fdCZyWCSQS0(EW_jU%`oL3~Heihi?Tx3%c? zj4=tjew^nas}L=aFZSQm$>-AeaF~q zQxX;6k#DXXg9D%*u*5;`1=9U`u5?bf5YrN|tVI;+MCzlBX~%zYhX?XG*F!{xCn8p! zT82dd-grlb8o(jKeFD3Y@S=7h5c9+y9QBV;F5BDgZwo9^aTmw~QAh{>=pP<|ZFsl$ zzX{n1Hlzhl!v7{437RfQ&-pzrzjPs8piT?Q1mYe#;E@%9PY>YR6fckP8fFSQ>4Aqu#MY6b2GY#plG{t3^R|^a>M31KcoNutaRkU^NOpkRAU( zJsps$a9xs97o=bX{Gx1bc}*6tx#4vlU~Udyx|3qUfIaede=x#5paa=Wp=gTA-8@@j zIrvfvt9UAT8)P#Sy1f7P~=k1Dab5$As!pk@Bx1i83XuR#}KiA>=h)_6rzAcct9ai z@Nt1SApgl+DI{Wl7!esiVg@IAeoetc>=BiE3W+`6d-zpEed#1VIXwkoB>x&KLt#7w zeIpb46b$hh55RIU3wWSOI7t>$>_BZCblBw)Fx+^ufS9&%GQ?%dvKPlb#x=US)0oO! z*z`|yFE)iy%*NzQ6X4B~sS;vHsWiX-HpY(0@!*<%$}1jqT5fKEV)os(+h^lC`ycJH{yy&i0k)W&5J2yVOxyd5TKx|nJ4 ziuyn%&2CPwSNPdsh+CC_=frz0c-@?M`-LTmXJ;COqft!nnekEpyqNG7?mV2$z$A_l zcWjEBP+<%i1Bt~@&iTbzV}3!$YmdEnG8XQSr|fJA8_D(OlVmYhvBragxVQ%+ji6q$ zFMAvb`F-UFQxE^Zyx3UCA1BGljJfIyGX$UYS4%hr%xja)+e*FwQ|eQzC5xI63UAdR!-T~Y0K>&u?lAl z;MnYpSv2*!!?&TFTNKY$MJ30fND)WvM*@8}O`HB-!jNyj423&~n|2RcdjB^Ghik)T zV-(;2J$kbFbltfB+q}E~yOKxB|F_%Qy2-i!tS*H1jL^BWgfso0;;NW?n52>FuPDEa zXGHmSzJ_xmzx#=MHBLs_4We*&M4u;RF8mc*X2R)w009STw}jn-=P0{YEX_Opmh5Wx z9#FS<7#M`^9DGM;5?7Q}rs3G)#10=RPVDfDk<6HE7KA?zAl(lU={xYz>dRyn67dCO z{Nz;nsoPbG@98;d>4!8Q!2B~UtWvlJ4Cbi325ZDF;b2Oj5ID!kx{mHzL+1@~S^0e& zbQF_i{*EDBWD5qnyL z1kVF>&ORL{7vvrJUl#quoJ*$>cy1GfKRbi?rBh3I8}9~$WstMjl@-YN)De=`L3#Kf zzwKdD$H52`EVa3aKGf}O*_G)@YdHk`Ul+)yr*1j0a($c zX2I$&B+n={zqZ-QlVcO_gu#G1heb_$`6?8be{J@nBF=3A6AIQu%(&!u6t z0Cbx1k2(dPh3N_8T?l@~=))02u#Bmuv;O(fQ@%LZS$f?q$P5eDW>W{%z7rEPU4I_L zW#gUg-~XGI*w;Eu06x;N1VlEdEgndl5Z)6NB&uc7Yj)Igh4EC%mto0P{|1tz~)5` zC0siG=gF1@RuVbZA@*de6k;ZIVRa2u*<~frxUPR%e}y3Yqab1h;O;up3E z6kTC+G}&=Jnf)$gI1n8rdC?_*f~>~nHm5APzBHN9#7tiHLI*!toIo$~Z(yIfL{Q<7 zSSw2~V)h!y77Ctt*)o}7{#udqBc3tdaYaYjtZwIhj%77UIn7r#1Kh7#JLEg^vN6Rz z4<--5nWQ6$)2I|Pa?(jFTnrLfT<3(V=+4j({o^gCK0g$Ca7U&~23gYbW)wV>1oK#t za8AuR5e)Vq|I4!*S-&1|&xg9@?PW*-gnsGm9S?r)|28=O?VwLSJnC{nkej0b$|3>^ zu0&?@;1T(hiX$jPL!M1Cy=)}_he`Z6=HE*4+$f>FVZ#~R8IW!Wq9%OzRev%dLyF=C z5QRGz9(L2of!XCXcjUzc_wNfBD~&X9_bmEDcw{jK6vM?Qp?k{x^s9(aZ8kcooqmsK4aNPq1f$q8%Ws%W17oh2?UB zx>bdsqJh-EjvuAJ_n?xm9E40XWg7SVU50jaONJYk+D1((BPV5{@uq636=9!6Uy*b% zMa>F*3`W!;fm+_NPVyQJ7cf}^^n&5VhSXZd9c;O^-PNQ$3&*J?eWCUrniu`qA3qM9 zI=m(alL@RuTHZ2h1~Zx}I*^S5Iw^|h)}tYrb(FO-X+ti4Rslo(E%^G9A#=TDsq)gu z_`gKo5loR{-nAsnc)lW+{_V>>LB z7ny-Ts@JzJp9lAd!l4V*Y>^Xb5)ZgrX%Md5U(LnJb`frstRm42KelQ_|?WOzsD=a-k6j#3luu zB<^X&lN&${Fhak88r-b&?z+&^7jRx<0roSgT?Ubph4(gK52hZC&vaT(KadfGCaa_= z39J=FSPDlpnsyZoLdoYO9N{U8lw)qNn03{JrC{AX(Z@5cHb5~Q#PmE51g3xs7E^hC z9QiN6w1zlwB$H-i%hFHLsY3Z1Vy|5lr^+}_72Z<9J&O240SAz7y2=i$8||dI7!zQW zw+xCj$?F{)o5ImmZNd+NzQrc|)kqKCeJ%P~k$q6vAe-Tn-*447d4pn{h-N7~0Y(B?rJ; zM|3+*!5ES((g4zCjJX{}GC4_GC;ZcMC=@#~=n=iOF)tr*Mc$k?+&giNoGH!+z{Dmq z%ETO_8fG`kF7uTi?Y!CR9lt-!_s7p6R36#_bf zg~DlpHtZkt4|~|(&fd*hd@wl+aWuiuuxUDjb@(wB7>c z#(R>MiPFhRQ!XVr_pgB4S=<~IV_QB4_c8aB?f(654~HFVS8|@|>yDTG(jKq)@1^E{ z-hBGQ(I%bhL}eb%Bi>J1uR&}(H#X4{nus%Rn^>q;wXE5XuT+7@e#n$Iyi zM^fcc3TdcY%57A?{`za4b*u0}|1vx(f0qngVBaG1M8hN;rF0Q>b%aohtixk3v`)X1 z%4fT)t6M#?M#~z4CXN*b!DwrBo+&5v9gW0 zM3&o8JTS8A)+y{ufkz=MSMhapbe05`B5<~{}sDkTwyTPJuk!I`~`=G@WvPLQ}0 zBqXR`n;>z67}iyAnM$SHZBHO{p_ zQ=8Kyi6Y%l>(bTuqw`vTc<;^g*5}rnQ-KCoarq*7-!(Ai&<<_^?J6TnM!9)*U6#q4 zqMYy~ozQqRf&@_XXo@NJp(|l*&#=HJjq4?{;xHOvoj{x|`N@HWf?EA@9zle;gI3Df z^`SBXK?sdrW{Z;y+|D2t9{S7a=hYHV^Jbv6TY>$>94H_Dn7i2VdWecByT);*kP;){ zL`L5%;Kl5DShnoF=b`oFf;1>zAk`Cn!v0A#F2PA5BYvmp|a&?X5sK}uHd&U-uG zb8h3D8#`;LDpVB;AUN1@x{dD05{X(hty)v9frn54UPsR2%V3^E!9QuwaPM_ciM!Gw z*FY*kwEIp?yBJ!>aw17hMJ?i2hbLmEd%*-#?G6Qb6x2n!<%vX#U$Qvx2YIG1CLbVS zK_iFH@#~^^Di@ap){3ally&ujM6&lOxA3B(L_rX`btOlbNTB6P6$=Oxv$Y%qlmuKX zEKVR8L!u}uPPlY4B~c)om{47H#+2AVFX5Fg^AsZ_g**6#=$1r3BJ6>x5a!VC{$0ct z)cH(*2Di>Kz$_@S_?*;4$|9hD; zQUkB~d~(AVz=l6toRPFAQU)Zykj0SRr6fZ7g%>8!!cyIRy`&pZ+h{t*igm$9%EGEC z4j^$kQYT_jxS)S6GAI%~!$gTD1>~C{VizoSjRPuPa82p?BO<{rdgg-h z%#KL2VAt^Mjw`eHhjXlY{z?{dWmXzr%sWl-1iVV-!V3h?TY2>g#)kUWB=sS@TdH~I z1wdrFlbIavNL$tv+sh)upZnDFa?NqtsXCpj03G>7TR{{v{r^Y)hhWJ9aQXiKo7LJz z%KyJ!{p$b!Ssu;*|FrpI`%4Z0_@fKJ(MibqGVVtcIFmyViSV97j4oC3t^0R|V)s9t zg#9Gzs=Kj_%QRZ&RFl(7#qmyEkdVa6L>H4C^8V4CB92QkH2(Bo;-9rODqTH9^`r;e zB|fJA^p+hIfbZcQzQNCY4Y=|+=j&0B`}H{L2k8-7L-b0A;TVLSu_%2?w?V9;qBKB^ z>{@$+t!#Ry+OKQ$U8Y+6}4rtp8%&TBi*RYT!s-N&66fxBOpDN%;Vyt9OX|$tH z<%qH{$J{?%a<=#J|In0wuDRBFQ7GoJF9SvGz}!IUE16JzB@?P=O(<&%)h2t{-6Tjm zYYP_ulAiE_K#cj$10!?)767u`Y@ECIInQSOVl}vYu^ME)_$=7GkvZu_pe%<08;&U# zEU-cl+$F1Izd|iCbEt_laWY*>d>>A_x0LWr&u>9#)b+AaZ%&WMUVLwk*uTItt_syRzJJ68Hew{5~0 zIMY~M@t#yi(I*69P*RTHwL*;+FAskdkp%HCgadQUCme=)K*Vk?DzXo zw^TDvht{*RdAgdUGjU_e=O7VhIKLdyY-6zE)TKw~z!84;lMO|X1II$8QH9_AWJ8(f zh$~cDh|i}U9V-Am9W-tJ^oI-0kM3RM-0+V%CnFIknZzPwXPFHOvx7dv+5pQl^uxb>(bUur#L7C*(Zbu=H&1+(4UIsu|YRl`BDZfYbA% zH%FI8Kef3war@xFC^ig_(f-;Wgdi6R2=F$j!*7m`e<5MJb6(4BOqG$KDG24c?@>w1 zZ<1+&{NI5#b~?^tizlP(M;Fy^eqL}6@EyJAa!R9~Q~SGdMUfS@yO3;rot zvFt1WV5yM07JR@)t%Ktul?Ixo!KvzJOeH;zxu=p|jb*2D(LVpFeQrV)E}aLA3%uw_}B=&YKj3IW|k3G^Z*AfgH#9KZSB*}F^WesLMhe802C zF4pKsRIH4yy=y=0tEh-Tlvdyn3>9Rqr7q5nO~B`=j7&&8wM8|%UKFr5FV~&L8wT>> z6maxlh{-L?T)r>iQnQpgE}h}gYB5fN7BEtTgYP0)SbG=*y`aZw+9gbwXg~ZwB@=@r z#F+|liadA^S|wAGcgY_T)0Ipj5!)vP0a@SkxoH40M{1*fI{k8TR1>6Xpry5(RE9_rFWMG z&CNI<Ki4m4;xSc}m2fa}Y1j=aqUfYJSaH}3)M+(lGzuwhFdPT5 z1cC3Vi>c@Tb1E*Ep34g&@+_uUj-Nr{gV8*pu}~U%qe0L^-*g$r2kXP$Vc1-5 z3z7*{OBdHxf$N7|0N0D|$*mkF9!uH)Vs6A}3?!|GC2DvwY84}SpeZ(!d?>}j4ZQ%S zOCvA|g}X9Grch6`Te>;JE?^jOAiZ&h$sVc=h;l|!p{_g8 zFkOkQ;N?L2Nr@SY01;w)3RZa$U{A8-qeXz}bQ<;GF<@UbSOk(z+|HXPt+#JDuBL3t zep&Yi@|o`*K|Y$$g-^b0s2Z^(n}LUEzks5WMDnru#X)bbo{P+>W zSQLXsz97PN@siJ<=zx-JX&~eJ*ORsG*uM#bH4M)Xz}KoZ^rxiYm2D1(jHiQv5AtUi z>#&q4O-u?ypcFSjmNgm&BTycoGm3HbWuPMlU{*MmMu!#9kRQH7VOfRZ2EBF6I2Gbx ze2VsCZ2;Bd?_$I4Q->zFscR68H4Xp;t|?`+I0*t<*P!SCk4T@Yc=v&XolG?jP|BMG zI67k45tfh>9dpcCYGkez0ik0EpTrnB+MU7-wR_D9#sTAc>#)Kh@2?0J_xt0(?>%__ z9q3N}Ro|G*Om3T^a<+{jWgy715ZGr3goBF@;mBC=3a>0oV3SJ686) zauBaF%^(gwChLM?1mgS^q zL$_(g?ITjmYJ`tw-lG)|SbClE0k!K%fu%aX#S@0G#P3a;tMiGnt zp=YB4EY6qZX%q~7ku*rg8N)nvIGj)f#8^roZDgS?s8{LGOciThy-J5J+oWrF$N-v&b+*nNOA@Wti!T&hhf#$f@~hVOA5 zs?A>n_6omKT(41mb8B2%xAhoVW;~3g+19l>8X`%JCx_Shuu5;!~}7^#;DD=3u||`<`jlaBDCE37<*HQy*a2dzI=pTR_dW z#uQOSXvF4#rAksr_sFqf=~JpW=UG&^e)iJYyns#UQeI+GwQE5(jI6~-^D&ViWmNHv zREc%S7`Ym;*CkpP%FT6XpNB9sq8{aatcNKfrVQ!wLI0XsuU@refYj|E76$xN-e;b*}4@5S6UrW5f zSEjO&F*{M?fZiC5!$C;t^0UDvK)Gs#4olvFg6JiSXxLrL{wRD?pN0;nVAq-b>9EY= z4Qht-AOhB{0;E3x#j7~~#&v^(XxB0>- zr6{~&QX;)(3azyL&>D&@FpHDm_V7I}`A^7;;aQ|il?F>yEE6EqlPXu2Ts|AM>bwFq z)8G+T`~GM&j^JFPqXUSWb*Cz^5H3@`wXZ<+>;c~C zX>x+TNxHM9daSynVx8>5q>Q%63}+1hOPOGF8(!pmt1b%PzPrSmLcApum82`s+bmd$ z1Xkqomc^Ee>d>O5Lf!*!CcMHI*kDq6libb%C{CU_2H(X7Pi4;uG28+;ts$pyS9$72 z?l~&*U5i3`s58%~_v1-}*{aIt%~!n6LN~pBT@kJa|DC@*{pC||Jy&bpC0fI!Lb`yt_gQP0 z&n)ytWtJ2^`(Zy8#~TgfYafQueLv{k$UT#+HLt7Y`RjLYfTQR=88bC%x5ReOg|jlY`mtI;5JX zd`*m=o_K*tg%W+D*q?w~+V}YLm#LizCYOgMaB`UGr_!t4%I#Z2XvXg4%usaEsW?5h z+NV?T40Ufs8i+ltPibpBVhJz7#Wa1qda%q8VzZSVqQgTR=>dVl>Z){3bU`8doc%Ttpt%)Vz{gkZQ34su0Dc6FBK`8-OpicIp=+t*wFKgl!m{-0g6 zi0~}x1~B9Pe`Bk@Vc!4OtDDwkWh2kH55*I_^Kvi4k(sjG3w*YCmuz~i^Pn_!4E zLC8r-CV!xEF%ZnI&Kt;(fHat*+hR_+hl%#Yy#Wf^A;{&!Npg?Z3%Y%ui4K{2v19<> z>OXf>&XgPiXC&+ku@^@JG}!j0!=67R?w|vu(qlsqwlTjUr60WYF%p#+luvhyA=+N< z!+u{xLh?A&XuFub5GWzmWu~4nsFDm^9D@fe!JCeH{zRHOD5jNeU*$D6<{%tJ6Au1N z!4?&*1GFY|vGjEuc>^HMAbyQW`-Lfx`G^w?POm^nFz1M7b6gMHkXYQZ<}4%5<{_GT zg9s@6gJ9kvnqNB9rcGV@PR`2PkGalaLYQSb3WD#R^S`;nssrn*F zc3}A_rWq4`Vj3T!8yK`K*9O*j0OuXgJnGL_?3Sh@F(k`vn4DH0vFmPz8>5Z`qMo65 za2rK2#=W-A_g{Nge$4UFq{!b)g|vs~PGtR|fN&a52EP4(1-cO!ma)ME+d8&AmY8*m zmA`xAs~g7MpznZoaCy#v4xAvmlkqGF$ynSVj8V8I1XDO@o?uY#X02ZKo;=BU1JiYD z$DxmRg)yJ2YY$D^Xyf)?dDV~C;(0_7ZqbLB^RfEg*2dZusKW6B(98kR$I+O~zW{y> zMv#dJsYSPH2|-)o)NOa!sONMEQ(Cx7Xe(WK-J4^s?K0EK1D@C4W$o(SIKlgM`T zQK_(qE;7XZ^VjQ-lTuqY1UhHHk*3hdY))KH$uHs^9aIW`6@7lpI<1x?Q)-6TovGe= zME4}YqST)1f+695G)$&GkF;t=;joYENCZ?Tu6T&J9!=`ggvc|+MK^xeS<{cZZWEB_ zoWV1Qy&?x*2ck~84TYBWcV50$5dN_XNM7-uZUH$X_Oc6TLD3fwnH-f{5XL=Rzm$M2 zrlU*KS?`bt3X*F?Tw=9YIz-H(=5jju)L24$~ zQ!=ixrXf-g0*r2#k`r>+I;VD#=3-4d!$jw3!MX|9tjjmBDmVL6R(C+@0PO_x8?UqA z@3kV*S0q8TG&GR=FeT2Li=PglE%lCrmm(XCEg0eQVF#thOxh3XjqU0S?>o1|`JMLy zS4=65dr7V$%9`WD1fcskeq1IK+1o41k0O$v{1nDhkbEyD(_R>P^=hrL?lnEUzr+f3 zH@ItL&g(x=iPqc6WE8)6{v0Sy_k+x(unyvr{4ydbXVD?W92bVYoz@>^iLW{V%@McJRpGpS_O5+# z>7|-#Ult*;b9ST2EJi=cdNtWjoG>KG!xCP^R2P=#&L4*)eS|S9ci50}?yw<)GI>pI zLD9NlD+cg@F|FjcSz3rxtu;Yry^HScF{|IIOEe(cLrsRM`CQ)gqbopu&1944M9(#r z^S5jg`Zt_lVl|&-HIVf2Zw`t}eg93EG7=jMtrJp4)RbW55~}JTsW5OpYq(e{i3=@MIdEu~T^^0HDX#fBg8d>^WeT~PNh zN#LN@K}R&CjpA4DWh%Z{zJv#?gM49zZEDZ8tck9(?7DhlJcV9eY!Bwxgw!rb-7Pox zIb}6;-k2KJ>d$>~I{W@F_Sd`1^^t%7x3#gcv1P~qRyVi4-v51$M~nYGhyOCefB&$k zUun1lC2RmfNrC$s!(eUQtr%B9;`0via@{{?O5R-nLjuuuuz3UP|>)u^Ikx+B`Z(dj9sj z=p5Z3+CMJ}f)gI&XJxW)spBavF)}CWFd9;J*fo$TNzOvgJe00tuS5xS)!%f@Oopd% zAmWO--d~?&*`2a?AN2d{-XUIde)Q4WR1vD3P?8aXWYuG#@?Z(^az)76EKHyc%(7Q- z*w>I0=zIUcs+$G9btfL(#R%t1U%6^tM(}Ge;@T^qqJ=!JaX``N*|T5Qq*}vmiq0-x zwbK;f{SE@?2mmFA^o8#!5f}cjlkp5jp(hGFIx>Fk+3&I${)tS(lgbNbq%lfKd1Jau z#;q^GuNCjfup%@b`=`ujqZQhGnOSI)ilu5}gw4R6g;9F{B`5EWnI#IaDkwYgl#~u(F<#YejQmr<%Mesc!9KGpm;P$8chl z66e&_lzJOIm$+<{$~->$Km(HY9V{()Gh~u=bdARLFqVnOpNeQ2lUC`YQ;l*~VlanB~ZSywzw&Q-9qIESiN zl)qJ)S4l8V4y9NV?tlcRJo+o*N`#K4T3ae$&dam^%Vqnb1G4G<(d9+S)q}PP@No&3 zUnjr>>lMNJsSTKZPFx->*?4jh>Wr<)Ag!r=F`Ccdb*?d|c*X+APn7`BXO7U_w9+Di z2*Suh!I)|Rk%{p~`Avcm6ruPp;r5g;Pndg{$& z!aR0N!A3+FEh{1i-XolvS!-F0LegpcD#f)D6TxBvwOZa{0HjboXS0-GJ#Tv!t_!xB zC15WFCK0k10iy}p(p}LjEk2hgPnJ~{mem$=g(i@mfx;%iCrKt5Bo6+BHUEIp$0UC_ z3+v>IQ0g@zI$Gw%4uw03j~oFj+Luz$kY6DUEi8Z8LVI$o1(9Omiep6uop7e;&5|{f z3%@(f&`UFMUrAhr$!68c$f$(q4+Fy)i;uth(_Z%AIK61$>th5LZ+eOM~uwQiX+OWF!s^PwuTAb7?`LlF9OvGv_BAHl(>2{g2$yNN8d+pk6?(G z((5ykme+&M`jWVcie}-LwFAFEn>mvjr>F(sQ^K|Zsha(J{~pO-YM-wKL%hoFWe|5kL{V*o7ZE;YN(2e_+Zuv8r7-2-$ACjP zlx{uZ&$*{zPl7o=JZRLncc~@W3{*oIn1i;-#f&j#c6qYEV`6#4;a)JtWj5>*B8UQ8 zrfeY@pkRn(;(+ayppwlKd|T#L|K2p}q2|^PVELyb#Rw%_@)m$qz4iOoWWZ(DD5HGV zAQ*ruSK>~q=_!a&>(|X0Dceo+f;PvGA3v(#;n?Gm3B@uIN>R$)U5`5K2eSWC#0yxTy5I{HKM@g!S=_x($4{@Nmoazn`` z>!;6K!?tMM)|1z3>*{*Bs=u!lg)xVdIU20lyu@(i5UfV#M(P9$X@aCv8F|Z#kbljb zx2z^pR7J^AeYjp~4taK$0?Ca6pGTjWOLI{>=@tuh2`;q|b88NktfV1D5y91`uR z)AdahPfeTzNvewVm}3POMK3B|%SQHCCN6oXh^t`65_t{HE*PwpUx#E%R{?gSwxPTv z4r5ki^}>lyY1u%OBm1p?g~sFHF2K|u!Vv-kMM3Z|m~O^mse*^Fyted}SG7g6prg1~ z3Tbb=5Sgd5C;0B!Gra@ePwdzG{(HPp|5v)@ui<<9nhD>3pVO)+vK;9k&hG&c>w3G<&BNx652e~O?-6bxftcig;1RCJW<4EC2ZML=}`Ae zxRI%I2z22q)dEa*vEosSx}cVn=P~SUIW6m;t#TF&$I7~DQq85*dWi1Jh*ph*r}4*tV9lw9X3M2Q}a3|-R68v#F7 zgG0HepPzifegvn$@ho!Zp?Sy)OW{+Vvd(Dq@li)+wJqEyz{ShX56z1oO4ybUf`Fu* zXW0w+;S0zm2~oT6FuZQj;w2nHDBu&VFdF?LfkfL5Wx`VY0(K8wMf^!1BV17qi&aF| zJ>H$;%{f(^PUJ3CaGIQU*JXU5mbBrW5KI&a)V4wUI#+ISJC>M*&ahZBNtz<*TnsBg z_8FRZC54exdxmljjmJUPbcw+o`6k)C)QJO5@)z6vP3`1MJsSd6S({lVJJ;_`!q@Nv zxgX(l600FG5{IoV@XW5WU3Pxgxy~Y@AnpYDH-9z@i;GU!uoxM#D1v%Tp^*QTWJ4ISh?JTpWQ;Y7Sb&og4$<;~WhvC227MizssO*A=3dQ@l!+ z;LR&r>cq*stXxj<8M||#@WsVy5Vu~dc#1kKh>GxEj2Icmi{K+YOCu#cE5J+xjyR+9 zHeU&{(laN<(z7bGy||Eq>PlU)vrsD~-lPmT31@No5a(Dm93HaETw%<2f>p#inf~aM z$ebsg*zfbK7FRs;LxAQhzN5?Y(p|$zdpgaNUpg1f<4YG2!o|`F4ZhboZl7QyedhoH z-(uL-eHaHXaCwJ4f86tMO*|>NP-GZc;ZdZIVouqiy&~1a=}2CfYpPeGYQf@v;F{ni zI+K~0h2wfI^7a70>u{m~-0A?drP|AEF^-}Ew4k2XygK}cFfEIRh>gXdGjLT^Q-@x{A%YL7aaOA6OY}5L)DQ(uv zd8*r2746?&MRPN_FGf8RZ1kIKK3Xu!N)>PVs-i8RqA{tPTPU7eMOvBMIk(XHpQk8E zNO|~xR5@mmAzSVvVn99Wve(`W#L^Tl!AOBGETVStvjD28N8#L3dJaE}XgmBYGXvbC z1zUdEnwF7`A&jvmz%-;g#K+-~g-L<)kNF<%vGE~BuuAEg>(Is%6$X+Bp%_F$?H-GY z2(XJ@Kb%bXhKO$N7|4ifG;}!uA63K=F_Iuna5N330HlF-4Zl^j7V@m=Vh*mLT$$5m zt95kpy6pY8xt}>K&3j?K`Z=}8#R4#w34~nT&2%$<7z_ds`??}y&&}8$-9CKo>uHKA z)m3aMbVYtJ(#d*f05aH;_q((5Y!tYim1B0@&}K>G3tZX$AG~q|ns6f`mO0CwI7gIA zse+DkHtQ?PBPoxpMmD^wU~(S-J9~WPbD+PP>SH?5kEcUcf^j^Loq_-9%y05C@g?gs z^ZS(PXKNXbK5slUhcoBuxxP9g9TDwOnn%km`ebXvbAidzoQpoox=$=o|I(UK7aXbv%OW0Z&@n_6>}+TxRvp-i0sn7qkT+&A}w$F7r5Z5 z4_q(u+#DaJyEm3W^M1AisemH5jUc3VESkU{G}R?`G!&n$sLa+pJ@h(5}_! z(^eluLS^=uPnU2`r5HBl>mJh7Q?|@Ig~<&*8K<09<k|4H>@$<6WFb z>IILH0rKBRuU`0E(zA?Wz35Os{W1L%O8FnJmH%g}%eghY4nB89uFw03tZsBQXdIDF6bb=9L6c}K|DmoMv%|2E<>EfxgIlW0H?<00Qb zPKgBr>&x+*BXU8LdYzXP-;jkYL{UtE0!GXvhIYn6(0V4!J!>lUrHXIP=jrPi-cbx;Op~Cvnif&INUU8w@e!g(z@3 zcP*i%atrGdN+r#oA4*o1{kfjJsz#!w@)4B>&@=E-O_U+96p^4;RjM6ElR)5~^jW1n z0}PM}S`iy4_XwRt@=P6L#rkC1l5zx8%JYGdQ8>IRFjoOqk%?tWI@KnDqcz62l6u#w zbTRkLXaCyo!mvj{7wDKs!w!>6piMyXkGZV8Xcw=iDT9_#O0>h(&^|=umpSL*aPhe9 z^K6j^&!7;3ym0j(21Kuiausq906xj4r8-Th2s{^}f)7=_X8MtkO(rcVdXm_|<{CLm z`iqX-GQOoot_{i_KVj9(ewm!c-px2bF6Lo@p?^$)Tfi2Il@TkKvmk11(*>Yu88C4% z&^hKBGl!(lI(s{)7K8p=T9uBpl6+X@NGmyg2h;mj)8x6WBmwtW(16elj+9^s*VBIg zVLjE}tt#mgyfm;Orn*Zaflpu380aSpw4oJvzfpniUJ!T3;Yil>b`I#`-QnTU!BHDi z6}8{IJ^!U}TgL^2v+WEH^XD(TB3Oi|o1w7?iji;>)0kJ7Dsc+Z=OQh8IRR{e(Zm=5 zCP$>R#Hduf*6w^&vnl8A*fyrO5qQp>2RWoW-2m~ke=Cy_O&{~ zQ!B%=j<*$0b{0gp{a|r<$__Gv9UVV0-!^60Qp|3G*W3vGe-=G@>-W1;wC46W{m*>}ODK+|Ry}F8vXDwUT2ux~T72OaAz5H5Ar%YQ!4#(Lz&xS^DW>Mf|qT)&M10y9sK0~lFh^9uAfGRvJIl&oh zVdf^#<_-K00VNcpTMoQ`2=u&LR6-!MR|@0VzbRYr9nJxsYh!0Rg@ zKF}uYhDaJja{_<$KzAZ=?(~K{9ZW#|_TA;_JK$GG|I;r0*3I_ita!h5Jy~0|qQiob zQ;av`iuM+h*Z|FZYx-1;W3W2gnrZC&qKtAg`-T6`-<~ccX8)&V$4<%Xs%n5vtb9dB z<6E@6NNOrmx|?>G)d~<=61>79gx2P(5RvrzRfyncSs~*7Hi})md}halm!VWqRw#a$ z5`*k+-?`t(YcOa&DLKN27}Pw%M^U}dSU}2-H0usZB_y&zN!13ADXN-qE)YvCTUG_L zHL;1aoQOS?>{BCXo|tLIan8EJ%g9AHmnx~Hpsclc;wCP zCEzj|c?;T&TqdJ5Q zi4bc%-wK0fbE+dAd%`g=bCYf@!t&9xTnNZ<8wmzV2E<165V;n}u1#yQOwUVGJM zG}wm=<#L~+Yt=SXGZ&j!P3gz%!=g1$9mk{&xuh0!E@zIzeQxz!Cz%r$gPNt=o1uo@ zOq1^tx;=OGN2v7HT6|i4zIpM>n>X#t^P>aMCkfeY?Oxu(o65Y@;B|n8GEbIjJkGju z?+Xl5UrIG!2ZK(S0jN25LH{AKQ2)u~k$;oxz`_OxC*C((96n?tyzum=w4g}luP}$; zXdK*y(KPO(<7PMsK^*-jb4)EDfQovS4U%|7R1Zu11_S9hv(^hn!4TcO5h*cYJ{*o~ zKkN%VAnCwDylEdzP$G#wXGp|E-7~I2zGn6Nn%UsrBeOwDe`p2y`h(*l?cZO4Akm-o z1AB7X&5MZV{Hl0-RXj4DuZo9xjKzuhe2Pc+tK#tmC?2i$SH zitVey;{CfSEJ+3hJ0APrJA1;P|CyQpAr98NOZJhU|DnFUy;ZgHKWuGnf6f2!SspF_ z18=y}7tt^f2VLZT0kcWzcJk=+XMqr@8yA0){d)Y$k~Ml*IMV?b^!YX-XjnjCk7gj%19OolOn^+pc{n$4=p5w+OA zsUJljK*w595h8#~o>;JX)2^y^MJUzfKxz^ox;MT`S1GN6(Xob09GvqL2_w8 zZ_=zfi!`+o%_dF%A)DlN?RC<5Cg0d#?AB z*TiqKI_?xEOjDvdQyEi|WQ#xi6%XZ`=FdnUTIWYUwa+i!?}?1buC`BQIyZ$U{8hi8`yjU@${LBTONVoyThMMwj$ zD0nZc-XQRYWQb!=MB%-LwcVyMS*Y*N8%i}W_RdNFWG_CWi&D*545u|U3C8u&vHWJnfW zkuah24r!)I?;i+ho$C-bdm8rUIdzE_qL9H50DcYsNQ6r0%-SnOUtZ}HN^*b&%kUwi z0BI7(Puz&bnSMA3(aaCxN~6vxU33DQAb@1e>n?c&2Kw&kg+c!+G^0aq=JR!Ht?Q#_G<4vvPLY7{OMW>Bbn?AHr-l|MToH@ zd;MMp#=uWQI5hIV8@0`IFjpX@_XN>zjw4*oF> zVoD-JTPJT3WsWB?b(HHtWWT{7hh(t@*>%{Z7+$@JgkrX&TN8E=hQ-44Kp%o&-b=M1`MSD1sk-{2l_4o>MWF>FQ(c6ZB_kT% zRHVjzHNBBBgTg-Vl++XeATIitbFnD1KF;s<_yp^g#o?uunBw@v-r*?yA*SAVsCYMM z#hi{jARo@*3hia>6^>Pt>z6AzO^T1U_S)WS%MUVvh7&o3$jHmK4jd zNnZtQ62x_{+3y3nL}BGRAv90*1yue~A-w)}h#($-rVQAfFN`A&Dy!JdrFA|S--X@4 z8(=B%?rqThkdS+QnCPsO02rZ{$V7{7W-8&9+Wknx#_cn^~4Vsn6k}$;B z!vS(mkymz3wF4|;ONVLQ} znfr3Kz>)X3g^_t>5$y{WBJ~&Wwve!|kLPX>#*`dE9O?UL+V9Z~fW{zH283ax)Plrg z)!Uz%i-9Xqmf^|tUMyLNZnn?Bsuzfx5A3waGD5%^^(*vge2XKLFs|S`yj&xvZR(vE zB%a=A2=ha3i)V~1`RbkkXC@&ihi6R70Iz@)qC>+w2vqiAwMgkvIU&g$CV>E=f8Z1i zc+=tc)~It_^xy^FTHsW0D5@>0Oxj|~-dG>{AsBXpitH;xf)Y*0L6dx`Atgb7M40?-Y!_3C% zieW`~-y;0ZUf*TPr8$g8={3h^ex(0&<8fSv+BWzVyQ8qMIaXdZtGGu>oop%5YWJC0 z76$pNo^ir?CbE4BQUZkH3<|Mt{XXX4h=qv&*SK~56Vi?!n#Ua^9t)eClBH!289ec! zxM!-aX`b2ZUe(TaqD$FN6DvsKbs)VMY>xuP|D?MWx{V(lbeb0z?eoi$vd;*U4E=H} zlj{-{%M;=rUzo0Ml3Szl9HNo6ioyknSL`s+$1y!FYb&o)%>2>hu6l;5^T}+8i*lM- z{t_vsaRtK72bbyr=yZ@+HZ;Q+icRv~CS*YjLw6$1;2VzN++evNU1cNYv+iAlAc+}x z$pR^fdeOLt&i=!ma7yXHro&gZ31&><-**#|RXvTh`Pbz4WsE^~tg*c%9ZHgIYaWA+ z-uk7}{uvbX3%6qlRq>UWXYSk#Y)i$s7>JQQ0n40hznHLf!%fV7ZPtBrqA@2N+vz8l zCV)Q6G(Vc0CF=U;r%X?b}E>c?Cd-B9Hzu;wWy=`9*X{Gb&EWqttbF)6B zAp{SH zwFs`S*HdN1u)HcZP~+w+EZz@z<6FmSF_dH-w9Z6E3_#B*4G1xo)S{TQtx%Na!+Neg zx-$PZUkyfJB91`V$b~6ioW9h?<~z8Ql!FdB-jub0m(!;>Ngg2uA)JSc{3$$Uhgk=r z3F*h%;BMY2*@`Y7+%#1so4EJKlsLD=Sx`u_H4|9F67>V!9Yi>B5oRUgvyuOTZZPZ& z*6=%BZ=k>g^tC7Q_E0U}p5Yj&L4p<1!`KChBvDKpy`n;;EE=nZTwr+)cx+UZ&l%$X zd=4AC7(i2tBqRFDSqiQK4tL4N205^12C^guF;(u_s+ufv0x1nk+~09SKlbkNrrMA7 zD%Dp5reAINPzm1Zew>X4x;F1%j z;8e5VD9b_uFbCfAKSjh*(etR&n7Pm6jB_X#A4hO$#Tsf|YFmN9u+}co)pK~g)P{Y6 z2+j2R8no9bpqf-)FX+k(BUaS0OgK4_tqK<`eNN0J{w{|UiN<0{B~>;K-}6rxN|;_Z zt0*bjCHMomlsV8R zB0jaJ<3@peG;oUrx=*N)4bE^vRO6vV7kQd;nOs^gcSx0gO80kxg)QON!w5jmPC2%S zJhT(rB`HLL&CGFTIm#uX9j-{+VH7=7YhHvIRNfMZ-bYKEPKai$nTtRgPZqK=ER<2wKF5>3|Lgk?Xb1;6IU3=iRd;&) z{huQFo00j=y5e)EVe3ZYAawyKzZ4qZ{n#HNQS1z(4(AQYY+;|8%=fg^Y(?_f<)olX zrFO%NcW|JyGTzNd0p}#Y294#=So}5qRUa^3@LU{&sBrN1-O1(qJ%ezoCLQgnLel7) zestycnMO~{#9qc%p7z&Xl07JlIgC%-`IO{6MSRy)*FYS9f-OMV?Sa}Beb57O^w&BR zNUgj}e>$LA}!Pp<|23Z3|1x)WKNVYG-cc_t%7g(CilSKABC5ePxJ+Ws(Kl?6> zr;)yzQ7sUTCBy48%$=7$7u91N_+ub`vC&IBqYv>e-ISu;hV!HAU74Mbm6Zfg^qLjs zv>?_dCoMv;t0mfJNzKHtZgX*={WMPAV#uuUKiH}YmRQjDOutsI@bIExvIr;^qQxh~ zTS%&|E80Hd;3yF)ouG|CVhqkAU{`^* z^75YnVMS%{L&EYyG*BWPXT3U`!CHdCQ-NDKF|UT_a%NhJ#d$QgmdV#?D!q?;E}4ex zrJl@Xr&z7lF^U<2APM$qa7oeri6*10CxVh9JsFhez33Akl(OX`Ln2@-SCKH-pNcx# zX-bGJk#bnw56uX6?Nz{hY&`HMT?7{;ZcvJ#X)SdiCs<{jQUYmVw2E>gdPm*vbOfiT zLX0pyPGd;17yM(&iF?ttI|;A%QE=dMqPvXcgX5_KJ^?r2IuQwY;p_zPGM7%Dv%`nn zf$;>rL|BhYu=WaV{Oc%Z{dd|Jt-FuE$n+V{$Yy|e_>D`@rOs>RnSmoFb<*9T)vx5# zEe{C$cB{X>_p-(Oe65&Yp!@yu||5%31Z+xVO^DlRjuXblT_YujyXGGEfQXp#9XZKcxEua;zyMa zAt7d$(m$&C&=oGz6sxG9 zO}n?6@=ayek%*!58D*G-kH`}34Fl#Y5x~YgHqnsvVTNN_MxYh)lHe}v;#D7}z^mYg z_aX3{aX2m;$8 zd=%*Iv^bGIjpQgL)OAnqgd z+AGcJB8i-~ztJgJ3Ly(cFQ-pg-e`G%$pK2ApGP=?7Ye7)L)4}(Xr zmKrDUHZ_b&W^2p^sHR3nO+Q+> ze9L9MzX&D?x1rf2Xof_Dvfg{vXz4O=jP-Q`cJGu-=z5CbbcvI@Tni?d6KPU?VrPp^ zHg7NWzRK`zw9?~D#8l+nI1R#@3VHHs-hC=D5qs^4?3i*Iz(u=L)J?>7qgWoT^7ndb zm-*c2t}OX`tO)uOSM^~oG+(Xgb%D~G?XH4u*zE;Xl(}BCwetI@AX>SV z3K>7=p>d3cg>dvpy9c4XrXs_Q-|fOC3Ja)yX6ZJ02(r?LRIcHtqDBdv)8ONXq=jCxOd5h24n8ga)C4JohC)Hr=3 zmcK|OXr#{a?mK0?o=^PKB|6WUJJNaip6$+7^gw?KlXj+QV19daN)EED(J9NK?VDq{ zf5;2z5h$b>OezS4%5_4XI1(0J84n|6=yQ4Jpq0`z%B89S<+)6-V}x#;%3_z<8N_l) z>9MYb>w!T@)=DF}4_ZHcZxD1ruMgt^7Z@&Rqw)UrFYh<%xUlY`qafj~WjxBNuw>os zJh88HX07R5#JD66g_8G}>g+kc&C^*E4{#?4Cw(Gp*!o%k~!7#oP z*T|yFbixZD?RLQ4mspq3`#Z7vb{U#r=vDTv)7|sL}53?%sogcuKWH?oGN4ye8dbfGz)sIL$8&d z*ymvs0j!60ddIZwTPIGHJI^(b0F5btT~6L%FGfLwOtBtax6sTm(pS(fs|#(paf9RJ zf|lXlXlh)!yfSl`+TX9O?G*)|FxRGZWTp4%9suOG9%fA9Oi!Sokv*8bY`Y?j)?f-` zV}wzU*g}egMEhm%s~* zG)pq2QcU&arG^uH47$_g+7crJDNvvDs7hGITi7glkEaxYra*hZnrjVoeTv@>i0$|hHBT8ri_)&#WfqlS0b?$ome`ks&Ye+r%A}SK zW_pZC;GfInvnu|?^ZWNc{K|f(MPSc9K1#Uh26-n)NBmsZ5d-nHDg9)|*(8%uHG>vi ztWzscM<^&tVUc>uJSvHS_OAJ2*7VNXljC396Sn4%mwn$kttIhazZA+Gj+L=LITqg( z0qI7qXcVwG7RUQfB+YmGk(P1BK>Y;s z7sXCp5D{QO3>i-Q{gMDahe9xy35vllfcKw4NzF%SH3(Za{r;s_b1YZB%dt(mXP=5} z@;RE0Z-QLZM{;KMG|8 z;*>j_23Ho1$jWdbGZ=7MH;iuiHkK>XKzhd zB=Vn}?Ro~XY`U7nYQ_!Yb7$od9pXJeVsK9HUvA%K5)ougj`SgT)sUOY{qoj@IJq6W zbGf?#iBuVRD<~YI!(kuSQKo`Qe05c-21n`$DdP)WLMB6cl^NG#$J1q`PttaYp@@V0a<%N&0mO3KGQ`%$*T}bi>|F)8r^D`; z*m8C{AmzbkLzR_#5Ex&k6TqZU@@LI22?h4Z<^y$Accb3al_#juoxr4psqz!V@sBnOP=ZAfApJy}Kr_8dH z1>12=?)^q%)o?STt(7LZa63KOwzH8V{qJY?JWZE?GETHAN)s2Q7zZlrvRN}r-CF`- z40>@+r6_ks6O|eoD??N65DK*;CriaelQf4$GU$ZxUtb4UmnlJQRaH+fo0XLq#8E;* zcJ0pBpKx)tqN+B7Iuj_QQi(cQe;2tm!nzp)!RvAU6R%`c-z~4FcxWc;luRSd?>+EQHl)dyWj{b)=q`VM-%-Ae> z`)L7w_RPHJwzDsB0Bt~$zdgo&5$x#&^JC8tGvi%G9kA=|s_pFqV0#WO6^7&L;o_iNPpC7FMtjPcNeWh7X*Pi=4&%38`R(v41B2 z#RnuI$q8s4qG*A80i`r;15vAwv{jqVDvt{u1ZCr@ibZfxxI(VIdrqTFQtm8>!=A{}$}27%kd~P^&vxYW4=vzo zr;(lPE3%}KhMnKMoN+Ct=+{re6_6+YU99{ZGpaVBmt(BOga@LT7KlegMkrF!X%ZLp z5$EUpFvO@4A*J9|!2!r!Oo*h6sRb@4(dZ;#hNhWDRw212>C!p{_DuBZD5)cWJFh-f zlW_=P=)5W(UH&5J(wC|&hkddi^~W^cq#l7tm26v?UIZu?l$|go*&^upF$6UJpD!}qV?+t6V()MYZO{qv=3Qe;*pvTrq)^aYrG z|1TKk0(F1nlYjr;*xuaOGVlLu+uMz=_y3>e(eD2()2`U~M}LNTKUxq#;rci8c>@@Q zda?@Vbf!Rra>sjgdC@tVKA^I5F(2WBeFAjtF7Tk8ZCj_%2z>^mU#2FYB2qe& zG2l9S?`c!9YX-S%0TI_&?m--)yDTZv&?id+MX0R+COAL|-uJGN2@HK;?j>9@`ZFQe zWmQ3s?YXN+1JRG0H>}V$r_tgblt};e_6idWS0R2QuJvJQ7v;A|Y@4Lz=YG z_SX|DHQP?9W(h^(^LWK|BZ$`+!XE@ZghpR+={y=*80%~S@#?&J(t7)*bJ1?MI`58J zZ0n&0Z2MtbZ1v+IJ)8CQRQ(4|5;rBDM9d45HK_IJMA!M(0R^H##0`1-n|llQ$qR@$;vm70oslg4B?tkCIPo`amDz zbpR7Qf#YQrr7G@sc&#y8Yj8(4io1Ys)L<3+Xnm$lt$wUk#Z&QOm6?e`$!?>5AOw}_ z`g--_wRqCDcNpTD>@x|x#zd5jIxOpSh`KJETAEvKxeHoMv*3kvY$zeTtqn{zng;m& z_pr8Q?_avKUZkQ1(I~lh?=+1+)RJvb{T_9oWE83tjRf|Pgj6cye&=`|c4cFVsT8*f zVihR~7~lLlWXoPeA~o-$gd%F)iz96KOu6?&EanG{V-bXtHFA;`uf}0;&B++-%A0AT zLv}FE-jj88gB}mb9h0x<=9S<55Da^1<(ukh4%uWQG92ak72u;q;hBX&`h1#b= z@h~PgqP7~2zRcrK3H=kr3w3zm@H$EZq>qi1kOeaQV)uCag>6d~Kujj<=pr4LvwX@h zF^u#GfGw3IBPl1#&pBJ=08^R2wBrOr)8EO>S(!>$n^{OiQ;o@X!9{{Gj7jWKDIdR_ z=mXvS!MG!5yA*P$T_8Yn<%Fs_GLqHy(k$u%Jpfn1qsWyo)>`RwmTbumPlr5~RFEC9 z3*!uSWU!*?un;q%I_`=W2}Wdlzloyk$vA9IBxnZP%0xa|m;-U0%;Az4GVnj3u&er6 zy)S@ZBZV6`k1=Nc7sk2beJUsUV*)$b9wji$)d(P(0g%irByPY#t zCTM==lqpjbSLp{T8Pq+7L!k0T&Qg5gi*8$Z2NFkvfZPz01N0Oc0O7wMN5dO*9s4f! zq7TyUPJq!1Z1~-TGwZI)l)Lm5r?u9BVK3~U1)~EhLrIXZ3d?tNZy^0-@QQ`qB1HD2 zIO1wF-x<(`qKp|?SA!~3;veTWwlsSh~`stuVxO~aKNpBmx^k$U`B`22UyG-DNH6F81n z7(V8UQ4s|EiI%)P8e6uNMbsE>nO0)vYEHxkD15qj%+oolVyWTFHK4jm8llNus-&6t zJIPK_D$uy>>AfZiVY;J-lKC#?fdIU%v832&mT zA&4W8s7daYxcY0a5=TxOO!7?@oZ1$`Ayo~21>(gZ@!+Jv@uzcw!sC_(#h(_Lot~aJ z4Try-3zFZz$%Z2cfKpxO0$b09TL;QM7i>diwxP-|lX+*LvZN+b>o%>&zq?CQk@IPX zPC2zTJIJWCXWYAunj4WnK(jm-8 zjpd^Tqe>nwHWJl*v0=<$3o~WNgt;tC`3r-v>Aze?x~~`1Rx_YE_Q?BQ%NM2tpHUZV zrlrbp+zbx65?NJDQFBB<*MNlF%w#~=zXY<-d1R5nJuW-%b)@2~L!drWE%|zR4J)SSwSyDU2#7gxm9E0OD`9nJ$>D!jXT#{AxH&qV2l2HR(9^A}fCIHfG%0;_e#lu%@ zI+=%H&1crlt*p+@gc`-lCU!}g-YlcDsP=~_R{%$CtM&&@mptP{E-WW&Go6DJsGg1H zDaNmvx(J0m)gcS^0ehyLzz>>%pi5;Pr)9|RO#~CNY9G>)aIb(4FIyx z88`aY<&xtDKa(02+~hRLTvZ^*<=7v_ewS0&ttb*ik34XM2K~^y=voxW%G4!xzGHVlsXZ#f&j*4)cs@v-a+9!+wyQ%BSo~!Bwg-n!QBh6p3*9wo#+ql5Bu$P?BUU-H*%Nnz%=fDq z;)DP}QbiV;W+NaoXrtb)%l~*5I#zQC_JZq^y+YoT6|r*JT2N+aoj=x3YFtj(_Gq4c z)HX`Exa9AZSTrC8e-T+DC@2P$-4SpJ=?a_FYNDiS7>7;e>9ivr3NI=QUmJ!o<|G?VBvar7g z-3euCh(^+|B7@7k?yW!eo?`6c{N?7QLJ(lAYLRe}*$j3*Mrs98>Woy8gG^@~;H}&d z5CRI|jc6vqMN#K$PS@92Ls6^3zb3Xkjr-{`r#>8=%l{HhrH{NU=84svA44caZ}V6IXh)(EAHx=T>!=idCUnU9pBw z@D$Gfut41h`OL`wu(?^Sr}ID5zUF`U9FKJIBsXf;wo5-q_5n@mMBI%1(d~mbhjQ^(o zDWSqOObvQh0sT!(;{&ge$P-No5w{C7IVB#y04~3V!0lxA$(jLhQ>=-%pKQ7uJ z$%bK9a~NTIiOIywsPFK1J{mG&A8;X+>UwRxdi4UoS@Yh-Qf#Kh5K-I}N+rzU>YTA4 z`XKTWaY90)C1$iJ(oki1V9)8&xA{T^XT<>By?dJsP~}@!Ntt@V9UM!L+qJ|LUWo!U zFe)(cF;TNt54$YJ{}$y2IZ_H{uTf2roT3_(+o?O5`k23RDpHanv* zeLG_YtPh#@r?HU~K;^MK7tMSlRfDLf!pWTfj;JbwSyaFZOIcm`GX`zQ2#lnI#kpB1 zcf@EMUBOB`fE0!A1F4iLjqkNY>0Y;wY0&As2I#h~Di&*$H0`B}s0>op1&Ewz@8!e{ z@Y~VhQTsfnYKTV54>&O(?4TVC%4NmJA{#@ZHFdG3}8^RxER0LVL8|tjQ}DBT=#16@)~o zE_2dSI&u->eNA%e5rMQEre>TtZh%qCBlS2c4#AIpPi7rTK<9$#$?Q|=a99~x-O=Uv zxFgKvMrH?=%hAsaWYR%>p0uH>&PKmf^!lRVR|`hHf0}GCj?|xjLdT{Q+d9RI-#CYt z^sP)vl#faBErTV@&ZFc`p;YlkJP4bqAsAyUm~@EW8_49o{s_do(HOJ#qOF=Twc}Am zY7pnqT)O@jxvNF43_X>TkwutPK+uS8Zlz$v0*35JFT-&??F%4GbhW(kH&bW;f3V2R z1$4MPkW3|iWl$na4ej*GFeMu$C3x3{}#P z%*U>cq7GtG&_*qFq46kWBnppd>qUh(LTpV!&Q7a!nqZZmAYm`Tdw~L~oWKg=XjjaB z7Uv?LFHcvYd|Q7;Z?6;q7ik|B$|JOJ_8-2z%sex69CCEW8O1B4M2H8>D51gK;#F4i zvZlQDLcT=d#1xC?wpmg7hqQ{w6czr1ZX>EYCpnLz16L23m{@kRR*TI0oYg~=5@3}o z6C$xQC)t-p+O(kwj+-R#BSIs`k;bWxPWXh3t=k%G;o1(N(6a|xbIG$FPR;Ozm^B>tulCPs76>}?UDIR0^Kfh(M>dM?fwnR)siU`Ms{Ab2KX9?I2 z3k+Kc&@|yhurwwayP_eJ+!7tIj!7<;UJIFwF(uNWjuZBY2I-0g?usrd``$3P@9ShE zfi`1joCiW=85T4SPkC<^D7H1{3&&ZLlgpEP)a=IQQ7a~QA_WhTV9%P3szf40OwInXG|16;iSy}n1*BF5Sn*? zYx`r>wENn5y@KWKAI11Z*J+nku96Ar|IHYV8eh#wzu7RBCgU5VO9*1@Cwbs8%@~Nn zOgZmSp7mouy%%J$Six};uO$2z;Fb)}<4)K|D_ie$FISd<<|RS*rHQX~@k z*fT5Y_?>ogn1pQ0yi7`VxP+Np~HZZ6}UF0`>lKJ%z+)@eYMv-JtBRUqZ=%`RKZ!2MA(fG4JN`&=^WWr zaE)pY+tQM|Otc&KL%Up`R@;y&nOP*3)gE+`K|m!MFA;g+lF5`_UseBsG9UBGsYNQk z5IwGa>mA@MwS|Gr1p&znVkvXgE~7Sgda`n%he~q?yyykpzAqB^=P^=RXY_j#!#czp zLU93y?bhN^&<(G{t~9~|oSgl1%`6q0Q%=HHtQi?OrTH@3_Go7_Y?LA)viH+qj2b9c z0g1*Rq$sb$xFWZ?@R~wtsK!Kv^^op_Qle7#ipHTSY!c!-L1uDoM*{Nv;`ViXU*%yuSG049GrI7_QthLNTVUd+eFU!II z1>ZT56(%)#aUEqL1kvKFG`lH$Ot=)6aktCRi&VMs1E`||V48k>OJXImu@tq@ z1iFeoI3xtDz~Zpu+_<7Li=_Ss=%!2FY1fiyQZZywWyisNI8-hdsbfeSA)>mhdS3zw z&F&DK@!EQqd=wC${9cc(11>^T5!YcXI7jp{6(K?v#BPeS`nII$Aui+p%J`W!B8QMh zm=s{SsG+i-(it=9JKie>;|bkW;X{_vYrh-zLka|uoZ44d+Y5}(UWj(G`5ODZi$S1< zBJ2U{<{Q`Hn4B~5!c3WGD6#_D{4G}ip{4zs2Cv;0rL#>ygG3CUrBt^ z$oytQMr(*ssz|FBFQjDl?QGE-4-hX>*2|g*xn6A9D5=HDmn@xFQ^`8%m#E?sUln!O z!!~)xdEJ3w|Gb$r)q;ZPDfva-C(7p z;SI4&mvG9KR6-5)WLhVLSi=)Bi(4!Ec#gcMqO9__U603dh+zV;*F}ybMif!H`ohm* zVKjE*whkkdP;en8IkB#u`jZe9F+?Na64P= zmeAawb%DuL$jrG@y3avH`1!hT2t}E`iBK`cMIm3(+HwWo?h<U5t|)k;JFqp`<1NRyeo-4j|W_=&?8q0=`2U_AvAm?=<;$ zn@pP12;dZCX|0-;P~u}-PWmP@Y*sTyZ~hDxagpd*r_TU zjG~xpN&+=fj=iYn2@`(S#B^ZENGj4vBsJQu9(YT8mR06GH{xHDY8=&W)%~p9z1&Dy zmh|KV_%s<>uuuvB*@LgPH{iqXCf_j>TS{^mFdcaWgxyk#Yh~5r_C|S;5c{IR>$oWU zqE2QE3qpZpS`51tyPo0TqSZIUyP19{%TmzY`GjJL2>^#e;ldR?A{Ts3yJEt=lq_L{ zZQHyuHBl9-z_C0Ix$&UZVj0A+!-DUg8kN>W1 zZEiKJ`0uR^c>Qbq_h)!Scs9m$BMXT`(5)!z2w8eDP&pE1kRN^iXl@x&jUp6q9uA_; zU;)5=4v&t>*I-sTdmTpSFGnYhdRYs^Mx$hOA5(O;E9hJ4EkO3nux<(fjqR{*SEx6v zYG(8|j_w=XWdWxqDbDG6`|#-JvcZ4T-+PafVCJkhaj{OCZ=gvNDE|40_xQi6J0J1C z$C+)2y#VxeK_9Z;RM15c82S80lwB_gwk-U*eQzMa#a}ZUZ zJ{R!3+7`b5{3*#CTN`Uvp>#P$aqKquScZ4=9|0+2WIS_YWbyR6$jIPL{j1>=)E4xY zfBHOo7cbjyP6dFh4Mta9JeQ9%HtCVfcOrw>*$)E*p>&!YE+=S7bqJE;*V-`bnEKedS>oVQPpn+I*yC~%P1eg6jV0u(mCC!)bQ_@?Sb znhV`98geSCp}ZnfNeEKZL(G)t(xF6l-JnCmgk3L1{T`0Lg0sP2%JLw5qYXXvRwa85 zW#|(l(HH2M-%Nj@C`Q3TO!kgi<%{eNK#nfzmL2|ok+_l3;;#& zCevr50U598E?(N@`w<*=`l0;U0JVlAAoG*!B!8JSYKt#Qax|4$6g5Lce*9l?nj$zz zef&5BfScZAyj+s9dl@UV_PkfGV1=@>_1P~!(WpvRn+!6XS#BoDa_9GG|1HAqyiMg<7>NuhJ0 zPQ+fS{dF`7h8mJS9$!7yYiJ~|7D!lZntF^J!FY4Z&WyuI2%+o(O}EEDngXB@SQLRH zb#7I>de$#%uWlHQ${vRP$wP zutgJn8tDlaqG2;>*UYqvOtc)d!;w@}l3OAmf;M7mb?cZ2VBe&v!*#bG#X-qvQMgR9 z%s@NuLaFZw7H>)CuDh0wj1B#a(D)YU*Yq_1G#ExnV>NC(xQ)XuO@=CSL?}BCLBJflR*Ev$< z=VX1y$sNBvdF`GY`*<1Sd8J<02Y{o7uY(UI$r$BZ74M?m{;_lL?mW#(979j`86Uml zwU-KJ#}RKnB{!J!v2IL2>9FZu0u6wG5Yv z;beYUb*hMpQSzBwg=AiB#7WKUx?47x)y7hYq#9$%AghkSBm>GLvV|!m<|2SS#IZYQ zWzybVu7#Sqc-~yQXiuq7Ar5>g%ckc(4eA6H9kG+L*@G2UK~>;n zh-j2h8B585D`v-j2K`hN5s_A0m{>&79~9Gt*;?1Vi-_GUz9YjLW!$_+Q0Sqfnb(v- zR=Bn&m-b090^tfzSt&RdERCqbv5^eNniqNjVL1|-6{j?mNk>X$%5C~_#M#ivCp+vb zm*>mdDJJF;Puze9ACtF{}@TBvvd2L8V z4MiAsXj7FELrdBihPFCfx4Xh;v5FD@BgQ8zL&rI$7jac(eD3m{g~)2)?lJUV3TNs6iZ$2$Iu*2oSD1hC9Ib zdd~J&8Ta~_?I4xWolZkX2K`aTf-@$8JK}v#6gMO$M9y<^R6tWYKmYtQFwgEdiuo#0 z4ovzfFc&1(fb_K9v^vK}uYb5KI~oppn!|#t@$s7rT#R(f{ve*w^y1>Uga00sQ6>^M zm-b8VF523_L~<+&Se?L{)}a@XROvHyX*GBfj(dt0(3_+x;_2Ty^o_0 zy32}iSd+4Bh}on@6X_x?PBw)uvS>8Hob6mOfc)>NKohzTL>%uth?Ee+QIF_l&GMO) zy>dnx3W|J5f|@mx>U`@N#Qn>aUK zygNO8dw$t&CGGT+2}3(ee*%u*+y{Zj0n9d5R-C~0n=N<~m1MkLal=U^ zz^SC+G>?zp9*_jmZh`Fa`(A-VK6`QD(64TF_hB0C^Umelx1EbOFkZ)k;K1zH7F=5b zWi9TEW%+~zZ1z$EL0jEY7r+@Dq=_^Ood*On=YhC5dVN9-Do$wfwKvU!1-Bld%syB6 z#>HjxvTd$wdN}9{(LCl>3*t46D23M=I({||HX9K~A3DI)R!dZs$G97baG*s9;mn<% z4-lJqD~pe)z|JF}x9=_y3chv>gU>h|+KClz=an?5^OM&(=e58ILm)r3&yNm&DFElR z*=mt}*gY@nwQPi5p(s=ce}iuCGh=Z3;B++@JRhJO3`Rf&33CB7rePIg%rns#L5b2r zOJOp?u`pT3KUqSBszrreWdH+-k&&n5xYALznD4_0$h@U=O+*Se)zIjLVLlb+p6Xuu zeFsN%w$-P2dfdD`e0%;z+ep~ZeGsxz8^2g2e{`;&qT@Vb2h2z9`JNi*K>2`&}Fp*)Y9 z9P0HH6O#5hc&|@UoVk!>wPk9=lnzrORgwN(U&FeUsHlK1|NDa z0h!^S?^8X&r_Y|*R}sm5MS3>BhVR#t4(*Evu_x|k#)7#oAVm9QcJl19y){!omRk#4 zW7QPGMXF~b{*PRdOSHl>(7epVdYdE{0dKci6|MTw#cncz+pMq%eAVXobq?H==2HZ; zt_fwYw$vC3EwjPIGhymZm6_yI55>=X$-0Fov|)JJaP(HEclhKH&3u-s&K$P*-Ceu) zN50<3t&02QU4Z;H#}|yZ-OyX7%g+&*ykj^?$8xmjUgZRQ^b2 zJ;b-L#A{;vMd<=#u_7)K%r#K|h@ep}0j$%Wcb7++xhJUvoc9hI(2s5wF`N)PLcJelArT3f1Ulk}?VnLDQSS-+fC@zst#)A3e{y?#iFhk0Oww7o;sBn<6Dp zRCyAi<8AETEA^xMwSI6H^vjreX01`*-okG-s=HfW=@v*Yf6FnlSPxdbE+J9o%ZRds zP|7sF*9&^(LX)yIx!;|-a7M9!+~iZcW_!xJCk|ksJuEoHw09i9 z=2EU_UZ`7G-oEJsA!zjIgFpt}g)U~3$JD!OrMW~J96j$j$Qdp8H;r=k?vZPT*gr}~ z52QHgUuzkeGm*^LzQRT^UWs=?+9%H?O4WHAjVIzH@WG{dn-kz#3%m$%s)P%WMB`Tf z=;BgX87d5?(NC9yhU-_s^Z$Dl#Xv9p;JIWx38LRl27MhwfbOvCp&x!&pG{v+z{GjB&pH{^VnrN5IL-r{UH5{a33|YQW>eGX6D8ECVSA$W026f z&|+%&IE!!kV=QX{@|yRwJNYPYSO&oW;|}4I3e|;Tx|-Rx%r`w5{bH%Tg8kw>7W|nV zU0?)Q#`ad~`wjm7pwX(gYlm`xi3`B* zGmi?WeCR{KM~0XCl(P?WMRgEXKcv=K8eO$@6)B5nta#ycnXZJJ7@GI%*2a5v|EZfm z@KN!;&5E~Q@eV3ptKzjQK+oZC`0oJzYr%hQ`0wXmYg-~*=y#UL#p2QL>p%0>%Jq8P zwj)nLoRVRtvPErXiw&zqeP)Xtt3_j0i(1`ku`#p7mepc&R*Skl^R1aJ?3r)RY+=uQ zXI6`bJ@eg}E$o@sW^VdMYSU-#`i4FC+RSa=uqR)ex$m3y>}xYOels=wnLEFw0;IW3 z(|aj@8^NyzWz=EstM~S;_iDy_2kN~8>%F@1UQ4~#vfgVL@3qx?ZRa+yg zepT_h6%X|IpyG`|qySyF;(d@>uJs5bSyYhHJ6r$nVvRKgx8#?-XD_|$Qt1j*-%=NU z^kBZv6t<7w!yly&W6bMb@eV8AkIp63;rQOS-+HhjSK{BU z__rti4aC1Q1_XOI9#O~m^AH;RI4ZDx1{~)u9>N!gHTCC@@F!Pt#V2`d1aEC7Z;kM+ z&1$p0v)|t0yRLdk(AtV5rt+5q`AbXwg5Ij2veatu@1`b5C?IY5WBf7hG6g zP&usy7nTp6ME^w>R;~w43rh}6$@k;xWTZYCStP7(k+99?PJMfKch@9g8#W0$ z*l4wC^^L_2$+q}!YZ>aZ!2lS?m)Xl5u??w{R`ih65~Nt}kkkYnOd-TP)JGoK)JZFP zNF+($T$ZeF%4scnNb2IGZ7i{{yr6Pgi!SW0e%cnrSjnO4u8|a7*t)=z4RPidras$p zT8m<=M0@7}EV{6geANY>EJDH>775#Gw|3k6&6-KV8WsuLYHe2=ZTNVhy=-VKY0*PM zhod17V^J1e+t7I0qI>B{glM>q>pX`<0$PgtNI)t4o=5hPV#}h3#H;C}S#)9RLiVXG zL)Nzim)dciw4xX*kd02;!b0Vi_^-Z<>?2T~(SI50BlU)bsgGoJP6jiNP`N3mwIB)G zut?a>VQqi^pmku9u)0OUwwpl2w%WUk?PX1HlAUE_AIZFUT%nOSXe=*isM>a zLP79^szP*dQ3Zh)R8DId*+)tpDH1jhS>KVLRE2&WFCIGA*Z$I!b+*M?joi| z7j{$V4Gq^wieju>*xhBw`etG;NS~de3%jKe(}l@;UC7At04_qpHZ2m?+}&&(wl>-( z39DHoOj*npw);p5lp-ASC+PZ#Ta)bHNjT=AKGJ@& zun}fc(~TFl6$o*^CfR>M5{7*V_#QvjMW(u2I#9p0MsAl7(*;Dmt$u5#+tuIO7oEx5 z>bGXPUE{rd@tM4>e%nvC+jwtZ=q7I`GflUnD|GSgp2}YRKj@Ma2i~1O4l#dQjJ~qV1xLvz@Iv<>B;%I#Nzf^jEp;bc0d;s^8=~!D!BXn%j}^ZV_p< zbNr5`BbdZ2H?KktQ&zFra5$RI^0bl}6Z*kWd6KED(sSh65O6SAE`OjLYx=?UL`!3i zJ!Pe|uNppT*ihn=^0dObT8%?~4?BYwwl=&qy%)2=vzJ~{p^fI5^3+1G=n{1(9&NPd zTi@HDj06h0>({eq##9g#P3OrIYUjOrNu$@>i@f(GE+$YGeKYpp;eqDmipP7(jm0=+ z2PNLL0uEQ?oM0OvZ{+U)&aFC5;Wi<`<91^RuJ zd`}DipPPM=Z7?@dnzn+7@Ati4coW2v9Lfr>h4Jljl+|4MXgYzt`?X$uzZA7hh@+1& z9I%T+>kEu$L;>Vpd~S?l5Z?gqP&68Si!WnsFq2xndgax3%lhp8WxT>w!8|EgL0?`P zhyHe{$|S3-ypuo-mIb~x`3&* z+9=wpuD9AL+NzHPwAuVw=j zr|d~02?!p$66k`LFmzt#LV#x?roLb{YPz!hwvP`xm+cGXdVd*U1*)KnF-oinP0RqJ zkv{^&^oKosd$|yzZ-02xJb0uBJK{(#VB|Z+M8hTt0rBBvpLu z8-HAN^*>?oF@~wK1Yo@gBfGf`|Nfyr7)GOijN{4l?*8M$Kkc{hMSK@u#}?QK+hJ2| zjQ|h^fL-A{k{`IrC69z(TOZ)|LCZSU;r zkkp6O)%-@Vf8Vo2NI^@|dx4?^Z$~0RR?r?Ltm^eG^!u)OTXo=C)imJTy&m-BR@bZg zR#!jnb}JaBQp2A+oA}eGpI!PH?BdUBdS`P3e{Rv6^&LqFs~@X7_{r`z{@f0z6@79| z5H{%dt2(u!Pj-6vvr$Wy9$;MIXFcj?m%gv}k``O^Z6ioV)bnYiK{AR4jc%LX47RBM zjRfXSgJwXjHt5^!YkDWpN3jzmW93<0)2xCjwWbm6(&yU*X_tDdZX~1FpwAf&zuBeU zt_Z>oLA$OcW8ryUclA+lKUHeCL$eKNtQ$OY8r?Ou4rq0@>60sMM|P-(E8Z!Zxld!+ zyiVHIc@(?J=Z!6W6g=}9tzMmfr#UdbY*D*9;||SXljnJrjDlA_;BT+Aou#pC(b%tO zblcSgFRqNWsL|YfUVnPGL9Kb6c`Q}lVfs9vJ+E#iqu{n%+B|q%j2*jvf=yfXWW4n& zeH6TVK|R^At$=Zu=1()<;-2Z99r`5bY1ru}`_JcVo7y%A^7d|mcQx9JO+Jsi`Y0IN zwyAZU`rn}6HwkKkR&Rq(%C3h0`i}4lQa=q^1)tvEVGN?4x3qWo++ANuLdKl#;5O)f zn2x+LuwURkd7*qk|C;De3BSJ!#=zGCT_OrAiR_psMI|)}F{o1tph;Y(6a>V3l!R2v zK1!s|nQ~N&$!V!jrpqx5^}6)f)44g$%KP@edM~`kAl`V-JZaO`1Q{Vpxa63UgBOSI zXUEvN*+!_Oa;xTCR%tnskFd0u+Xj==2bW8oW+&KZy_#v`fl1f)=InEx%^3M0A@zP6 zJ~ozJ1DXfW29|(HS%4nlh+oVN5nJiQ``s;ArZO=ov66$nQ{QXR-G8Daml^pVVt+NI zzv#)$|4`qk*6VituZ^v0?Q8yr&++IP7cQD2&EeXI;6da#iyz`iF!-aAKqSSr;%GYV zVmZlRjLDa-;h$kQpaPGaga)}2=iUk9bP5Ykrscs&s(cbJmv8?1EoU8}E>GLtccn-bAtX{(Sw|CUA>+iiE0O(Z|eZUDeN27iSi^9n_ zZ^r)U_Q6}j>=+=29NhXN%s8~8I(`!jgMVT{%sYSRy@kE&-bP&Y@+TkEmWTuh?x^wJ zd*k=1_}lBLKkj+$j}yFMjD|0~cQLNh#p|E(_7PB_8^CfM;68iJ$;9t|NEYQy2+~8) z_b$4(0PCL>@4_EU;qSi$VT{FXTmCSFKVOfhF%0XV|Nr~{;3iV;LVr32e3D8!Jr|SU z8bA+D&4zr~B{YmFG=#PSN?9Sj3g}vpof9TVKjr50;&LkWJM*X^UbK_m>m0oAW z^UO*t;!4AQa8c|0RNJH^Zz@?rr}K6c4EHZuosRv*NigBhjZS*Nl=RAGGm@AT7>j#z zjlt+&ao&^XPwi}Mu!-0!Cs3OXg>l>)`D02J=6l%dw>9ssw!R5{5}8ocXoQ*E5K5{2 zroBevTf3`u=*0-(l-FhI-C;Bdh#CqJ<<9R<18K)H(!*hXvE<^P-czT-D=}q^VW`u1 z>i5g*-nTOg+QhffwBN&$xIjH%-x6>@czvM8{r(yjg~nuHK2o2qNL+>mfvetKobJOa zE~7!j9AX3ri0x#`%R^~);gI`8NrEwz0>;dD(FY<1UO(_ZP?g}@kn^MQLz#GEk*Y7A z_9yt)XdHBb(DWbZ^KgjUC%XxfF7DwF#A^9rKmCC)VXNno+G|#A>R$FZ@*nzzj>2y^{OyI%Xv<7{A8JV7|@gK!x2qnn3y zeJXTiYfMGd{FbTf)bQ!g-$uq%bx^|EuY(fnflO3`r6!{clW!i2VP;Q5oF9D}d;|wr zWceyU1O(ip%7voa=sFvmm?TVxhusK+rI;wiIPIfG2t-mmn zCZwi#nHmBfg9z4V0DG=5fhi=QfLw*yU1yRCt!G9}S-2Z7VL)(Gl_)(v;uGqYjuodQ z7v@>rHqxD79@796#Sh)M*14-~b`()BE#NogcnVxrWk1#sg!;ee7)>|BB1dB-Fq zxb^Qs6#lK6@)1^~M^2>5&nGH}kEq3q8GFhm6VU~>&aZ*nzC|$iz<&}ba8T}%!J<6C z#5VXCbf?^_H3}@a%KVUcUIqU#q0T$sco*1^K+N2uyO4$wW>2 zc@s<&VkVqTY9WYiEaAydr5HKF$x606P0LCRhtECubFva(Lh`7mxzL6 z23HuF99kmg;2$W+IW?K|DIlmzp8R%_qS-BfX|hHLgWU1-vQDyME_bL zY~&8E6OBt(C^KoFquWzw7>IGBH;SRXU=CSjV~44n2R;jqZ~&BawC-I539cc^%Rzz4 zbdSq8?CBJaCQPe}+b|Ab;jaQI*4g`}4uhJT>L}p{2bZ10=JAC{$*1lD>UyCpnws?6Li+a?Wo`qkAv?prMSl_!l=Z^bjU6inlLjr9;Js?Hn{9Ka3QY} zHy7@g7VBnG+NmV#sds&JZQvEG2e8c$V8lU+5(?HmoDw>s(9Jjt7%Gf*JYLSQjb@6` z2tU<2ShqTqAW%adik^M)QI+~7tJ;1S3#gBy>CG)Qr|~e)l^~e#y`W+^R6*VU7!IZb zrMdAGP_4ZVC$UtrxRqi(;=HyZO!AH88ZZO7Vt~l3tih#bLX*Ix-DGSZI=1MExVUy~Dd>mJ^L_9goOAyQ5d@=yqS1pSpza0! zOTe|P)XPZbe3ZoobkKm>A$0k=@~5MBlr=06I#U`SU?#ZHn!uh#%F;B<)I%=IwaX!%1J8r3ARy0Jt1yn@iBX6WrPCy7St-5?3~`kjQyI7L9N5WA>l;shFCg0 z<7zMPz75FF!@d8I9O`j!7x;a-RzdZ}x|i3NGZLSQWV`UcR=+C{Nf7^X6aKr|XfF-fFC^oQL<`!qT30*dIu z^nElY{N`;2q*(_pGC=c1I1vpTsv4dy9ZG=3NUk+}AsK-U30%}koB*ltqLM^}Kv4!s zX?wwlpbf1l5(0WnlAQ?f0G6R*$OJfAlKvw$_bbD(j_n}3_M_oVpv598DJ!wOyG|rb z0sHLWDwpIzlMH{(JzxHPqf-k*4nr=Kr3j^Ba@tyq`cvA7kWLqpn^?0yIpsc}9+rj< z3tFX37)r7|0GfbO`cO)&fQ)p(ml#5N`uzv&kqEvj3!~E&8fC?e*B;tA?tgIr9Av5JP=k|_T>lFlsWFc^j2)025#KCQSu zJ(~wa%L$^ruyJ3VrP2wWAH3eeWwydcppy<#PYUu_dv#LrPE^pyzy6h|ey7D@z*?L- zVVo6*aaQrpoG@C&VZeg6oG{wOVYDk=Tf%UJgKJv>+W@*s$yPbcYUOk%VGZs0B4H< zXej`##Q?MwfOf}u7gybzvC*mw=jl=B;D-QrK#0E|OZsk)1Had~0x4&#pU?`gcUd!% z&W$ZNoYUopgNMDsyH`$kaJGC0NC_&uyN(W8%XiSCf-0?y4%*9i(57-NZL0%J6Ed8R zUL;+)JknQ3XAJ6~MJvRHu|U!T5GwjTVWJGkA_Nj0syCnsKO$YopD2IM(HP|k^ppf8 zsNW~4Sll}Db!wnYWb7h`5RQb==_v>@PgxPWnfhZN`VY98IUcYuo&>}0L*f}T_6NZP zz4vT40-|O(AxYDmbWR*v5rBz$68fdz&Cpx%%`4CzP$=r4aR$^@IOmzN$;sQ!!TDub z3YJz=a4}V-cs|flX0C~>j0&A-cQ@F` zSS@kBK+sCWuj~~(b*^B}5}v9h%xqxxa5irbXUQflyi2YuO=^oY%#{mSU-#N#pAug? ziTf#ZZ!$I$eQ5KJxsbRR4!70%EQgZ?Q1UPnw<>gZ*FyT%I`y7-tutj(iP3OK1P(2S z5}V@;oXbIk*76hm7VjMv#Pn7HRJU3rsJjYG%tb_RU$79(|Cl(mT5v$O8=qXhf)F`X zMHzDP2r$btOq*2WD

n8{D@AwZ-~Y#nq7@5jn{yTOnOuXfu`Pq!#&Wzs7124}m zJLE|vOj+g=Rfn`Nb`jAmy70~vBB5QiQZaL|OLwQ(aD+LmDy4V)(gtj*wp`j?~ zNhbx_xKt}MITr}4?nq1ZGVp4O$&-Gppxd0-@0oIoIu7U!W;_CSfs{*(RKK?HS9wP9 z-Q*+@6meG2mYhKOW+s&0d}H~>4TX;{H7ha}2NcN&U>nJGX&m78Qp6Z5*FHIiO{TQK z!N+cY8Y2gmqK_cjFSW(}*T3{Ng1^*UHKWuw8vFc)r?D!9?qU**yxI$|#mIVs{Sgx3 zR3xff8XOHNS-xcTc=2ZBU&J#wnD+7CggQ!!m#^g~k2t*fX&RTY$!Lp(&)mj4YlZ7- zh4C2P1>^Agfha@bk%!@sruoEP^8`_>-Pe;e0JmkrgBUXiVtb9-@|RX|R{+J2u8OI(62as9Q##n%#7UQ1kd6}skB-=bAR`LEZ4dMv})S4=uq1_d80#kb25>8-B7G1&#ERkXtcLHlwQd-R1PGCx% z&2s`%^%}B0EyRAI2%KyXrAAhXDExj*m-|Xn3FQ5%^!CKd)e52PRX|ZiGVb~*rQry? zR{PwOc}irI8CwN8efdP61vZ$UveySdtq>o9|!B{T$YJg-CdkaTL&L#tWBFy zr7?;1=~uG*Ws%)aEl&G@7$hO>6&D z-lpbtb+#?bFia>!o71X?>x+w%%xCq}$+$9PihDE+@g@S}AAq7EH5BBC=orOu8Sb%I z7+}_&qR6pJ28SfUuA`L-gr!B3-t;dGiwHWyqc8kk^5U%@-*&>D_Trls9Ey|np4+M7 z@`v+w6T>4hHJ&&$7?VoC?t-zNVE}%`gF`WI%6V@vh0#)e4*f1ZR7=+*doua-Y3^rO z6Cm;OQJtx*whFxwdQx&>?G=5H+=HpTy3i6)kVH1b0tGRJIN3XAb0F9dSr#SRv6*PT zj7`bKU^Vt$XYw#YbBEXzi39O{IO*PcB>@f5IzQo^>W(5WTo~}e7}3=@@IUNn+4eGl z*K0F@*K2ve<);AOpY|u_s~I%i3e3%Q`mx4IWJeta*J*$^4TlYRAihbRh_WU1{~r{g z$VG*tqfl(Y)|A*mUTG?U=4u-Ddnq|y+j|U<>tNUuVSyY6`GL(L&O6tN*NcBoZYvZ)fI&3$|Ve4S~8A6{tGh!tAOsqliR;fI- z6f2iHiTF?Eu;4Ynf3v`V)S?*!a%6hL#UYo|Y0SRIY!0;t0xcI91*PcuJtKSO>-Nd% z`O%wpIT_&)edQEu1EF=~hhvd%j&zC}euad6nN}A)17hX1jgl_5(qE-gbv-;moJ#NT z==8#??QE@W;0dY!wYKGbubjZ(*ZN=Un_I*rhF2I-_R_0YH+IM|S^V9oZr9zq19aPg zF)R>{f{;p2uRCL)zoL*`#kN;Vb9Ffz47VI1nCzGI3>!Qt<|c9xR#L>wO+u%z_Cn~ENH`iDIvbtChScEuFznkJxQZzSV%Y+J9ZEA-a3V2XF9A&@b>s8-Ce9tvthZ zALV(a?5Z;@_qrDqG=L*5qm@ZCCxOj?&huWv8~9%Fh|X0!qEl*Q^A70ja}4PDQ$qy9 z;#b!qQ9S4klY7uHyb&SJKcr17NmE+Vc+LO!|J`42tT%u}1tV{B9jJjOs^v{Po?fx% z&kvQfTZwfauD64wLB0)?0sUA@k`y63t5O}uQnGqwz~9|ntmkMd>G&Z33Ww9c>E-jB z^IxJZBg6!VSCm==vpEcV{N)>W@Ph!Z;Z9F^vU=A;F;K!JB7O3?rBNrKaymaS&&kU7|1u z!$_NLndzN7n3{g8*L%0l-V=k9dqn1zJs z7K$->bnXI9qQXf$(UCWU#^%qsQMy`m#_j`}*S;6t@lGCBNE^c?ga2L^Z66NrPzqCB&_QPAag-5%M0S2x6h1&s;OWlHwaDRCoGRR;AVx9-RlA4jT_?0nP_% zn0Y82r?PnaGu?%$rWUc#d9rVmRipKBc6(i*mW;{9K&X_yYR#3v;sXPBZ<%0_AXuz7UcZn>S` z1iYDdg6Z9n8opM4N95_1*H1!YcWTmNSEg6ADTQngw5o1bx+)G#U3!VXhf#9#^7MHT zlfGKDgCE)lKZh#F0?OBlP5^>&29NyGFMQk?XXG!2$~#k(Zr7A&#fq+MUx}2}{c5M$67} z#yy|9xEI(Hd$&=aP(+bVpUoBu=Li0TD%Io=Qo{N?l*dTDS*w%Re0*2v#84d0gt zQiS_SXtN?~Fd{w=&=rxjtih#QwPmaJYR2fmhE}AAoFfL_x##@iq8Y>Hs!QUmAhL?$ z9T8n0SgY?{>JrrAyneY@u(T!hvRw2!+ZEnLcgp>!`@y(V&O|6p4$}!q;RHUHBDr8i zX(44@Fm)pPWj@olb{K~+w^3H4;Y+TLW=$&iIAWa_2Y0Efye5M?KPjU8nf|_)GC?ob zT`^UH!W(Vw@N}5k<03R8f&Av(W&3A7J}v}ED;$@z6pq4PE2r=FkB<%PsoyaXKV9C?JzcE|(%lQH$MoY{Adu%3@6@06y@Pe{(nvXu=0h{~iS9C6 z;WdbbYd-}2{=gqrkYZK{TI=FM%h2hGqMDT9@`cyz-TA{VrJ)xkF0m%q8Wq2I``zx= zx_5y^es8FdsORkmW0-^YLlE|Y{#7u(sbD2ccx$u{6WCa*)f&z$PNQ)E(ih;DSb@b7 z)_Ibs7QZRfZv-u}jJX+|g=Ub@p6_MRx^o?=2$z4lULU!*^sP|+}SA~(ahKOz)BBzpFYE;(mfB8Zrr z11-~KpX@HY=RjDHf4W9nm>+xRmv~Zig8|Ft>%Qijwn5J#rr7~RZdKl0rc=?HfQ+#3J5Ub z8h&=3?EF)ToVOcu!s?++^^Di{!|$N0`v4Q`d^b_vdmo0;y$+1iJyX>kc$er)KZ^K{ zu6r9{Irm|3FRPD`>v^Q=R1Vg4P^GqynWHDtm4q@tW70OdBF4f2_qRcxc++ScUHMlb z-X^Xaw+3nVSkqSTUT$}oEBf1t-)(X0)f+%=8leg%c?znwDEcVlsW~ z-qTAfc!3D5BiZy)YG4W=)p_s+gOsy5h*bmF4@4c3P)^ofjmkO@p-~R|;ou7Wx8Q}L z6dn zXwZZg_VFcoW2KtCi#dr5Q**SB40|%aOn(w`6?>2_&joY3BKNLaWDBLM2dX8kmAd-d zBod1oj7sId373Td2-FW~duC&tsDgkl4By2Z?etW^FZmx-L7T^-{LmYKcoPkR@dGe1 zOk?u6ybj6)j1gEBu}Lx32WEXd3pHv94ukX~s}6N9#9~E#EKf-ldZ^+wNEX8=DZK+z zRP!TGU~7iqBvm>?VVk}lmvF)=9{)U{pS-(37Y3ksov)AR0IZK3c&;BP1JF;`2Bb7x z332A#ob!C~SK9e(>mq_l;te+VyQ|ioyHtiN&80?sHsp&%tbPMbRZf~ znn3^rTNT}j^u*#8jDy++c-`HN02O1-NXlMEF7|Cz} zn)R=Z_p)B|0f0n38%8+P;gcXUNZcz;%|QC~#ORDRSQ|VamJyh!Z!0wKAqd8RrZ<7? z3zJ|5AAQu&8GfCM{UyLrnC{+&u$W$59}ShMP<2*seF`Upm&pUG{?}TqKCAE2U&4uy zNH|jp9Eg%nYgMn-w!J1O^Zhc(jJRSHqbU4BV|GWt@u9;nLc?Xj?NQ6%k3i1*7!E*N z1;9RrId*SFRnb^R=VDH19;{HQC}xqpn5VIF*vASsnG2*lwF6XRQ_>@2vF7?s7X}|#sV9YvOO3|DGQ(>Ite`Ds6pvS!?l38@8J!GX;QINk{Z5c za~LjGr~UKk+mrUmWoQ5R=!6Qu)ps1WY*&_4w=tXF{K9>z7ciZFYTLQuv%>A|L0uzh zoFh%{m5p8Zm<{hZ}bmLmeP%#kK*EktyUs8A#;LiNb)MlK26%LF~K8+#(>F7hZ<)=!8; zFc{}>33^A&vBCg53{HNk*&*qWyF!`fzun2XS~4#1iSKf?fv3;&%(mt&KVXA+=D6>l zBP;c1ym3MdIz39lQW@7B0;G0H=KkummZ=e)Wq);^b?au6i*!?Q7|QxVbG&t`Udwpl zOoNjIH_oJAj>S1G@3}rcvvRDaUoj3!=15)VN7KdHTmuldGfZvgDy|nLCjL>ki;0t@ zwD`!sl^Plv`lQ>2d;D#MC)v!`q`gzozK)toh`7=No)1%yz6{c$o;$sb(+ha#X4HnJ%HrciAdfbR=65z9$3NBC_F19% zn=D_?N9LR=Y~M4IYKouvtl`ad+-P*PLvzJ!{KVUO4obF1~qv zSW7JBUWq)Au=Te!@2JkO^jGlk($kk2G+?Zl zuZsKQhFXJo+!Zk6XgcmnKOKUrrC-roIJzKfAh%ET!0B&ji-S1!Z!q@$2Cr;j^wT)7 z-4zBm*B$JMheYT?j9bWwAb5(bm^w$*Nyjkj&Gli ztWT-#lA@WS-;ip?b=1cu44mq(S_Uauw^DSNN@8yLQ;2*}6Yr_`)jCW)Y5C-d0s*y+ zcRgWQ;&0_)WMI0jF_n2rteeI;WusM?Z}Z3JGKTgr;o5X0->k?3HNaOjEsBmx0EJiPCmvVdTT?o)j0@6@9GU6JHf(7FcQFe z(Ly+P^|;ijF&BYem}X01nOr4$|9kqv_9jc3^^9hkr)I`FPyF#DR$Jl@^|uz70q4VI z|KVf<@kG?445H?Yg5%1Zv(1!GM^z51U z*OyFB!uL*ilA1N%KYOP6ff9y5G{bS3-f5%0KY>9FI+(YS4h5mV3-`6U0*_^7$*Yo&a01J1qU zyy(Uk6qCKpE5qSzjuWjI>^7@;`pSGZXLfaoco_e>^B&H~{~~>L{NMXM&GFJa5nq`5 zs=g3I{!ikeIbdh8j5%Q0G@Ot?Q6c)PyxJc4T->@j(GqaQfms@^&2iv76%u*U6n-vx zEn_WwS|E!IC$uR^*{8^oe2EDpA3pp|k}-JEqQapfvHT_zT9d2_SPPR?gIJ1GL>(MQ zDT_8Oy_LUy z&lLY(|Ke`MpXN(TN=K}oOJj9a*sH}fNT1R(+iLo{bO?^R6F{hVLP4%Edgtra9vImO z4N4<%YnmxU6gE~SL6;6g<;Z*XQpZDzhlDdWo^~f*YhMnJM`kd%S=dwY1Yt-hf;ZAo zDkmyk^E$J}sQ!#NdQ$D}8f9V))k|VCYI`Qir1EYBgYM{|G%|RLxk8i&H2x6uTKg}& zrfzfrkt10lUCfg9NFh=@ljv8g$Z_AQ;7|2Vt&*=lc{7h|5idS-N*92Ea#Dzma#|Uf znVy&&v{zuNpJ8H_?4V^tkwPxtGOa{(z;X!li4N3o?WbC2a~=U=^r0KqI(N0r)kqQa ztX`C$N0%q&=I!(>$>8ZJ!sUlonESu-3Az0zVR*G#CY!6(mSb+bBAz0x4Mk5~+-=43 zih!Gb+Y@~c(dQW;rRPdAU17qm1a*&S}DxHDW^6Y$0T zA&Ej(8UdNR3;3;f?E?gg9J`S+0O;|)o#ca$M+?ca==>y;s{pK__IF1abcY%e7=)#xK;|_53;Sge(OJI~d#q zW7yIjOZcio!;tlgMXTkyR@h+)MjA?_i)PA*YX|oc%mepoMry%AZmHxfMj|m@$SWba z{{!9OXoCdNFwU@2BsPpZTLp|*H&pPSiIpN;v6Vv49*a5Y9Y!N*PSUjj_o%an>6z17 zrEMiIgWPLlqn5D_W{o&)G$aB!!*Eyt=U6`@Ibg_j&%DRP;QZla4HG#$Ht-Hrd01nC z>sO>1YaHP!iuxtgoXUHg5DV3LO64H$4Xet{J+WU>P16tINEz7Vy7J(RMRj)BiN+;j zK=x3yzfn;ej7ojJf>s9P@}4yqZBr+7BfchCgE%OdBIDkFz|uW1mI)S44LDj`->^i0J;HAa4L*||J_*XB2DU#2i^@`W#82MkMq2Gw3W zpfsiA1!D~{!&E2uM``qH_?|o$63tnT{MpM?gYde8p4XkK0k-C_up8n=;hm*Uh5_Lj zjOt^x<_h|_6$ym!j&wX=f%-8fD-3#%F^|XnZ9wTyaa-i#-20dlWQ>V}sJ>w|QJWdS z6owJgX388g3b}ZDIH6{kHbgWnuZxoJK`@E+j1ZVcWB}rQPo!&svzEyA^%tnGM2j6y8c3yM-Bi91Nnnz-1@Tv4$^8vi@Lecp;*+Vsm)Gp}EP<7h^-0 z8}B%r^AURMF>K8C!TE!1>N#^=!loXjZR!hw$yy=#!e_C{TgiXnzZhvm9Cz>pEH2Tk zR*;!Tewp9@Ry?M?6-3h_$00j5qR0xNQ+JVG?BI#;CewG(;g|p)IKQK46~4qb#2gX* z2&ygrCLDdPuVX#Ba2Y{r5MOERU-%X4^3R)A=j8248|4+T6GA|E@`QtSR+jheGnmF# z>oMW>ED_$=?q#$pbiDS-ERe(>(Tbw?7hs2On-sf+c@^X?%(Ar`F5+@v27p3t4!K3% zt)N2%zfwp!cCe^Sj+>EVBiR zqQje1ba-=p6R@bv1s$Tn0F?RB*aro@8&J^*%9kv%=IRhd@Wwcb1{7JHH3}|CejQF? z&dE$vee5HN3u7H1y=P6*8}+BLNOGA#qz~(43yqa&7#a_vcw$22ypr5(U1seaVDfU2 ztl6l)tS^NOcGTgOG<#ba-rrrXt=G5&eZweQBI&yb1tzPiajt}ynYfBjuUpR4i=3^b znj`h`>ZR<&<*kj6HqI0n=bNSrYCUzXlM$#BM0MwZ->46s=@)aHpJc(~Y7bNlvLwVG zDF(P)&VeMS{LP=^!J7mxy!M-m=Gy7S1>ku%qJsmtqq2-A^!8!>nW{6svZ@}~ zWoy@@3$^ZbE!HzOmQ}iueXQ0T9`JM~U<_h3)HH7Yp{1JgWI(4XY_XQJ=wTq+IC(7PU97h%&h&ZDhCguXQP@Yze%dKab$8{yLgUOVaGmU=& zv-sR5@rCtDdKOYH=~-OEq-P#A(;R6^*OX_(VJC3lWx>@^6j59aiJ>MKy);S}!O_oF zoN*?&x$tsvoLmeam%zn87Ok>$qXf@B--RO~X>#M3#??ngES^v8y}KF+{z}dR$Q((Z zNKJaxk1(dH09+Ue`97|uKfwwhNuDlJA?`2@W7wq+WK@3QR!Fs3*TkB?@VuiQ%njZT zG)*rF*`LN%CbOlQtLX`M7C9mTqZdy));JsjZ1OVoCp*MU z1yR43)q(;Z;&?hBt}EA`));;e1(EBJbRhHFXqn(}Q1r5oY}$u+#Hd9lsfus%)aicq zFt`OW8DyRLxtX4~G~e@-`AW=w{!y!Ba<;KG?2+-uON^mLa2bB^Qg)kZm8EoD$wb9X z6A*u8l9dv5lZ%BR1VmPWsDPjnIse;`*o#;Jt;BL-J_{N5RO6K!_T*r2y>T@7@704y z41sv)J&7>f_=(&QcjBy-Sr-SgmsP<>H&LpgvPRy*Y+c$x!-MGbS%Pb#-WSnWpa#Bf z^Qoy1UQUPv=yu1YAtNG8V5ucRiL3^5W?AJbWSB2KJHXipPH{LKDDaWPJ6!h z%un;0Y2AHqeznR4*O%>r$sp;(F*|I((7#{vPS9HuhQd}nWTe+2UbXu-Ytqc;hvV3= ziGnJ61g8s*G*&q0ow4>L=3K|o1ikS58!Rh2@$UR_=ntvLn+eX_?*}1_Zg}Ox&+&IO zkQ=Pk#mSKsguee#$QmRp=&Zf$n3r7mWOBF42itg2?Th&)a(?gaQA?k_iA{nWexJ3` zE3whzBRX1pnblKlvuLa zF<8-n5=g0*^4k(~B1`y^HqQyY|UJTMiIu6Xy_YDixq*{;l+dam8*UUX_RV zX?9cU-0`{DkluQGaM`}}E-ufHPF`D+xd7UUKGNM6@{`Nv>ou4YoB>b!_{ym-+d@+Y?xfcgg*` zXly1-E_oDf!4%J`<`3Ia0#qxc5wEqukyuJwdW5Kba72ETtlZfzKF^B7kxDb+6{B(h5 zT_;K-lyXt2d?vLQgBoSIIa0c9*&s!m=Fb3E)hyW#w@2lvpnE(rQOPy+DfM^!zU znij>990STuG{sPH+OlFm$(r%zTgea&njCaL!%SHyL7u6wF{_sw^yepG1LDq(1fVe;Pq;K+lIqo6wpK#%wPb6xPc>rpJJddSd;@Fw%l z&-p1$oGKo;zUJy@^W_NAMiX7d!T3&JB96RBca#~y%GEMdVT?bP%+un!V;{tKGRRf@ z`Dw#kO(C*SRBMLDV&)v7R0gmiViId!?L7hdxPMS!4jDu+5o*6iiTr_4B09DE1bL^F za%(w=>vw@Ooy3)fivJY!fHe@e`kvfh(eG8@@Kd_hMkm;1C-})cnpJjG#%Vr!wturh zYL?C|PgtWE0J^#ZICbi!1N5FjfTYj#sFHrOqCt~kdl?8f2XPWRsyjAoyK1;Li~PAG zahodUg?I&wKxEZ*uDQ0nWHT%ulh;e{WE~ce>XqFrcSO7%+MTqpDyTEO@qTCX5oDwQS)94M8_yd^|9(RC%YZUq)S zL7!rmXbx#Fb6)CtERpfW5`U9@k(s&;Q?rvpO(AFMoGbu7Su=M(tGYf*uBYd^KwFM^ zEy%GJU{j0orkM=s>-ClKi(LB1=Zm@2TFIO~<5d=)?Sp9aKt~u;g-|}-n1TZN zynhHDoQJs!t=xy0eE7^#vBvlDxV!NE2(^L^NYKH2RO7BL^JF<{pskSx{Dj(`RJ6{JEWWzHWE1rXI?1O;laq_lvaDG{yYcgt3 zt$9b)Qp0MU%{w90>)E`$o~x$kb2n83KBoceC$T69g>UC4^Wx1ijS zUnKe_NpDVH8&yc?g~XsiFDP@1=_Zuv#iN~i5==1eF-HUubm$OXolS?x_a)UsmNcO= zUHCJbiJC?oZ9%y%Iq^%_fxX=Cuk*i$-Ov5LmH+iw{@17ZU$^tWJ}FEivL-iUc;_?5 zcQ)hu)(rTqQ*}6XVKy0krXA<#o5$I6y=WgF zb}ri&u$S=tu-l*Z0`IXH&+|cV{r0guj_r>=+OzQRt<|da4LpGuqA2P!P^P!(cofA! zOb7E@?#uhJ{R>*-yjp$dk@}Ff0fzs0x4v87-rU*PY*e=zt(|J4)!Kp|o9*rG?bi0r z&SUSll*sgWr`@WxHun!3o7+2EwcYArvwm1_wD%9HI~zOAcGKCY)oSk651LyC*v)>U zez4K1Rd@H>)x*YCYpdCIHrlQ=s{6YK?bdelpmn&pad3FBy}7yBJg9B7+xyLZXQSOl zb7yy_);NR_9&8-$RJXQTb?CHuxP8#rX}afBYqlG;-HrNgZF{5II6U0g-Pqc%Hg_5= z_+Pua>1@<)Z*CuK9c~_OZdJDq_cvP``v+SGtp*IPx>K#W7h-EL~U`w;P-`w19HQ_)wJE|X4YX{9%ZMWT| zHQa`O8{6AkjqNrZf~tF)4iEP0)#@g!-!>fO_Q6K;pbFi!n$T}+dw0vdc#YOBz--q5 zV>ap=J3IUP8;7+P%<`a7ZEkK`Q#zwIfRb<|Yt8M0?d@iJrv?8uwyOuV!^6$Z{jFX1 zfvMMO2lf5k_GW9p)^1f1d0W-i?#}M+R=s-Y-rC(-wY^c>+G)TFG;lz$_SNb^qp{oE z-rcNb(5MZ-&DQP~Al_!Xx!Kxn0qxmoHMbf--|EdnZAzzfUEz844Rhlz0nBe7o6X-o z?(hHh@!;UMkJSeJSBL*<@L%<}kB5i$f6lS|_OS*H>d>%(003YW09FqeXsc!a_ju+7 zhnD7J@PKvbg#$AdpT+Njlqa*y-Yu&Pa{h8d!sv9~j)LL-MXS>xGl%xYNigBhb(4Ll zdql~OT^6$BOCu+-knZf7K&U=?&z^-wPC6R>uOT|E(R9lR`|ZcUyu)ye!XI}x5OOr= zTurZ4EtS5OzneI_SRz^Q`!Rw5HteCyZZ>EPFT^}VSRYT~K)<6c^yz{ttclON0J_26&dw<0Pc zN}GUOW2{Z_69qOj`z@a?~Ow0b{oA)GA0zrgk)f!B4JBk3FgX zdv|_63_hGiKMgxqka^!^fIJr+Jc& z^_-{pFais{|8sZk2oaWmS^Jmj4M|Gni{xG1+MmFv2h1Xy>?u{X_ReTrZn* zv+&Myx(fcOP)S3YLNd*KWLTmpW>qB5{d_dV(QurIX6=t87ee;> z9D9ZGb=qw^BPw)(Q)n$i#jDS*BP6D8pWHt=>MHbtrCjGAgNK4tP+Yt6@-MQY|E_EL zSkqc<^-!Y)hHFmIJ`7^xj2=%6^e%0OzhP~Mbm~mq6S!uw-YM3^9Jz8gVT$7uR;I4nogo|Oz&Ns zwtika4!glH4%U+7Z&+Od(_yaF*Q?&!bMN)(G5)$1jn}ZY(O9NB)-KGra1dRVx#TRO z8_pXxKx1r`{^AM*i0Q!m&c^xVZVnwQr;|W=ga+QV-^F=)C}DZ*(aEU`MfRHDqqtHR zi*_*`3^3FUFW6;1JW3ON5lpa#ws+{gcIIZi+s6&*_oI7C zE{zRKpfVpun6>7?t9jqQ^nUif_f9w!<4w0$`nhsaehK{e9#c=>1>VnpJw(>Wdl`8s z*G2GQ>F{~IEYo{qM_&AoDS9uDqlnTz)-Y+#|2#kWpLOp7mMWm%z5n|X{yqI4?<4$k z_CMa$gNIkXoUk^K;510F1`3+ti_{Rme^#TvVcuMf3YgoSNK<|tO~(=%*SQM&;RKVI zi;-gt$TMsSKgv{4imr=C7-z`2bF~-Yy=OHwSu{&Ot5xJu4|&zZ+s`m0@1zXN+3%yD zZva#2qYp6bs*E%sOpwqdLSQ(iObK4PD&vS?2YM0SUw;@z_a1uv7msrMr%5RCw- zqF&D{eN*;+6a(Ut9Z4TunOPoH)_8(L!&pgNj+nNlv{wG>k1}&7CxMzgU@}{R6ig^V zEyJ=m1@>2^p$}XbjRqm*4INWgZF&KJYtcpyrjsev6bpwSIK(vWtMKoEpePadgJKW1 zllS}BzSL@$UE{|0D_*$HdD*Rotv1Cc64DN){Yi+|=P;u~tVQu4zkUfv>#28404`v$ z__!Uz=k>o%X#MHP{D`ZsPKzXU8W3zD_pDU^YiR~fL+v-f@#P>L7 zF0CIfQg=EYV=6MaE>bX7?QjG3Xb46-rjuMdZaN{aY2F75p41x@Jlgy{0q?DW2?B9t z6Mc%8JnkQ&elJ#41d;ai!n-hz2!?2mkBlZaE?Nk}rOKd&#SvsR203cLy&js612qVj zt2QIVubi!-UeJHHQNf>^^m7}3)@t;VKCkg7yZE!-C2 z*&qlT^mCKiZW5d=f=T1A(a3AtMWJ4f| zW3JN{)i-M@#|a~ttmrTu2y#P(bjfJSf0uzuiw~ZPPc*ChsTNV?o#}s^uDu$`i)Z>$ z`@29szZvNy4Y$(4r~`+*1X5bHjKZDsCPjarMC<-vq(tRRNgo!Z6zk=5p(h z#4;Um#@q0pJ_`>dS}J-2q+@s!BkfRDL%`I^Wz22;oQ>+(Rx%f7`o^-~v2sGnzITbwF?4k_m-ACgO=I&x@^bg_4 zn~W(pNF5jM1Q&!<8gEAqKr+ju+BGcj37k~Sgdwtr7}+V32Bzhi{8skV*WYUd1^rjV z=Q^akx%V;ABHj!Oh9{c8S4$w~c)$rruSpyE5p+0G+O(WKd7WUJQ*m)!)-0e|<4pUvfK4`IIezIP4`j{OEaDkSY{sTOlDOQ@#8BR{pnGob*EIoY2DjEp5hc_c?$)7(nQXb_esS&wO1OSG&7OU z9DAzR;v##h7_mI=KhD)U>KUyKf|*%(h))*=g5y~dcA6k0GIk&6#|_owF)DM!JELgi zT?Ji#Dx4VwIC)aBRuS?b-2JGJDSOYw~}$m%uK zPz0)QCXJ)gwk9pa9>~sY9PwJ~dKt(dj?oZCtLn4a7W8E{t%;J4d1e+g+I3_nE`!VI z0(nc4)@Mt#ZZFpQX)80$h+&?nczUjomafBP=uXu_Nvjsr;!X?cQTXOr;Wyhf<^p*K zXN-9srRi8#nlu>+&N&b+U_z&BY|1~zKhD+)sZ%-&IMp~np*Fyu&U9tUF|Zbnh1fq{ z6X4BCkx^lTmS8K#I(VAr@xhz)AN8U`CO23V8^F&0D%KmDmVcXKI*d)-cbO8Rpp{!#v9z z<{7T$*(HDy4^08C?>uVm^Rx)80=)mz6=t7Teprw_N^91|Bp7+M7pOLzo}awN z%At25r6khI#-0+-Jfj^KcgoZ{Bc}Lu`{eZe=uNw9_4OCJ!xlBdL4W@cJjCoo5KqR@ zkZgBx(4CI)ZWW6hPDdDa;Q8Tzy*+%;WX9u2Rp+C-LUdSw4UC|1{jY1aYLx~H&2hBQ z6nm1cB6wHrb%Qb1=7v7#s?wK6T4>YnC&{sB6W~13CM%=*lPBJ(_J`V8D}fcQdCbN* zN~j1&bF*sJHYl8z3geOverO;3IA30~)WFXc8Ti>}8+Z~(C!PEFeC-*Zjl^eZ=RApa znnBjU^7;#%qSeS5#% zh3dI>#=SedLmGlvYuk`(i)Rm)7Ns*`SAprFCCMWxegbX8L^luwmdhZGul##aQSTu2oVC0vTx@%wK$i-1=qK1|>S?r(8tM zex{U^R(q{x3%U3dJ>IzBMdid?%VJU8auNACt>Wcv9lq(XJ$%;PIQx_A#v*FM7r7f^ zPgbB+Qyp!82R=PAo`A@4MOQmY8IBRT@~hb$v=6CkwO znc>@VZJZS7_;XSq$5x-2TYZ+=YNw@#EGu8&R?ovSjIBQV_uuL>(#_btIXT%gO=WDo zQ;;Z2xOLm^)wXThwr$(CZDX}<+vaN9wr%_Gea?Nk5$B~MW>!SK<`-Eb$6TXz^tgN>{d zP;%lhK!<2ZTbX{H{?zdKhXF3$`hoE(&PtfEZo&%A%Zi>kXFQV%q1D3=Yc4Wh4fcgN zMFYBXG)qJP8ie53)>@nn`?svM1HV8=x(hqd5$TmDFf4|=Dk|_h!8MwxDFS)CJx5

5xDRCX|80n9>6@5XXZlC8ZE^6g2Qz33MseiPnq>V)%%({~^PnGGQ7s2Wh2dDZxPv zNR5xAWe1sX!4E^dU`5Je6cxCvZqh6kQA=?CM{gvgzxyYzd+$1Da38FW&9j?+Y#&(F zv|W``I=nv-R+hQ4SRN}TS=*r4`BbUD5<0T8Y6(U1g0d2?d$8v~O(K;SOt#SGuUHxb6r{;<`SMEU zU3C!3m(^hx$q))`4mWYAWbeJ$=SaYUx0A42|P>aOVX*$&++LW6*8eIm2%f$bH zg@Pt=na0}eEv8K{E><=5m~hz%TxzWgJPHbWfv@t_2<2r@gbIc~g z5Z4Opr{INcvDf+e6s`ArZz!+atlv$`9q96-6&HK z0#VgeK~ZCC<~AMA%56IIYbbubYSeq#6`loB+2}p$0~?Y& zgLSAlaJED_m-A5wZ+F@%@)O-#(Eu&sX4g~HD4`$=Z6*CkTwnJohMB%{VXU};l5UPX z_gX0~s$WJhJYxR_u}&H`(KGBiW9A6kPl{EF?y!vp4ymN#AOGS4)fPQQ3E717o`e{B z7Fnc)MYgxGCyE8>h}1^W?FC#`_lI*#C$*ESIp23jP5F??qHVh{O5S>StC;Cn1U+1n{^V-(M>Q_+qr{e+eN0ZL2z zHJJ~!CQNALM0U2Y0@F5-WP{S2WV}m$-TL(Hr}quMMf2Zu%;HCo<%3KlS}y?EA`LBB-Ms>T zb!BLwfs0B5grXeC>Mr?qI4@o7TAnf%{9o%NHz{lF&_i^Q>f2bo`FO$VJ6Ihp+7_w) z=zU!xgh$Z^rxQDe*2#9O!DD66Kek(tT|gp{{u=@wp;&j z9TwMNb9>JV89lm&KhS?PLY(KgV+NYYEsh0Zxu(etH(68fHIjmQA<^P<)F{Xf(0R)+ z8qo)TuketEgxp)uB}-9hURbOGEdo%(r69SZxc?p`se~vDS@2&bBH1YOtPJW5BiuM6 z45v)_>z@tE#R8%zVKGY|CBT$7o94ca!a8~Tk=%H>iSlE7XI&qkfyxvvXHoyJ^5q)m z4DSVX{$6bfumC?Af}V&+)C;`=Dm!)zdJk)_43@{2fj3`|9%uo}FR#6iB^@4(6Uv(p zA+XeZGJqQ;af2iCS?j`&r719?hnTkN%IC{zI-;UpEh)P7vziOP{wrO374@-kFu8`D z=cubiTU@&OIcJiLXLXW%O=RHcn6CdZMTS5^0Q~9EF(hFJC7t);4aDFPTs5iJf{oI( z4u~GDZ#NN$k!c1t>2_O_l~2#;?Oa3ldU)eZWZHcvxy}tJL>RI znE=3f7#Q!JKUakEFe3X$r!OH|?P+H}R1W<%lY8Jg%IF@5 z$6^sb&xl&*yK#A-uj0Ft+8!Vgh2WNRg*dC3dO`6;n7bwONj|vD!Xo z0pv&;3uyt>p=p}e&`8gJj=S2GyD0gHS^>y|$S7#F)KGsI)~4=>O9!1pU|1@Fowv`< zL5#5Tj(Y=N#9rGG~F7#aU>P&Zb!}9!D2o11L=pK5Kpg zD-$^X9Qe8NG(cd+CL$FxEm(;SR|UkKrL$#fSIZ`*oK*(zNT^89O4Nq%iA$eeoI zBwz_%V@qy=s~=G=Ty>G{{CsZN!yTUN7LMQPA+Otx=^^GS%8)q-e1@A%-AhV+jMU=Z zeA>8(u&Eq<3Qkkny^sn0~WlvJP3_8d4bRV~e{+JJMJ9ks&OIS@hu8ypE_4V(yD zIA0=KCof*<5ler!OL%uFL)Ffl%e{Yeu)sFf@}gB(D3Ok|`ob)>2mgRovsa;FzBaWd z=aQLK7Fa(k+twnB>C6(hc0@vHfYqt1O z|DmhAf)rP3XU;{|Yb>xqjr>H5ESDpx)>51Ek6g67&AFsLtI5Aqp~ZrvCvMb|@r+MT zs5sa=JUM&QKJVTc0r6ydS_~x%vPLb>tHJX}A?aT-Z-_c`_gThkyn1zdx(FAdBpF%k zL{hVqEQml~1;$j5gRl1CTpK91z?wiH;Dy#gM%mXy=0D=Fs1k6u6pWD60E#XEN*QH# z5pZf@egANfN{DHmX7Et>M)Tq94vwGs_`^88QIL_@s_c?)=cI-KdXw=L__%W&R^6%S z5=L?x&&UopS_XgP{M-XXw#-fm*^8;Q4529IwHbwB7U!lvp^_%Mi15SwM zaF5X*&|QkT*~FO|FOq8(rV&O#gxfy+swo`oAZhL!dGiL@;VZ2|2MjIUTgqNnmlL$o zmgNKu&sTJl>@%oR5KyBV9y~kKw7FEYoKKV4EjOlfFA^3qRITQv7hJ*Y|6;hfnwMrG zeEu-K5%FrwMr8#@<3FBt+OKpka{p=vTH3K;=nCluBdly=UFMMkw0-Z2Cy-y@g{#GN z+v3H%+b#F=;ANwdG?-s{myKhWM_a$D9LRPD$_X+`GNf@eHlKR%D%=fdD*(4_PpIux z*%}UT^RA9h3=|8y7j|s|v^2%>#Dl*a$O|yKdG{C%wq4*sRby}u$LLCN1z;5%jXkTB z@Gnr{RAZUhQ?02ua-;h&HSYY*DN}1wsb~s zBY4k)$$}LrPAw7klZO==T#tH`yPQYE-bFG~V^9gUrZc&YNAWZol7p8-2I$R1^h;69 zl>&^%MFh~X++kXN38TnWd68c-SDDYGi%WFy@)Q?Hd{CnN>#Q!!8C|3Kf?9bJp+J=! zi4!Vz(ZvW&jo4D-W*LJC4w_{xoH0R&cFsO{=ciZ#+O6rq=jmr~A7QP{|f zz(#&4Y~&Y%UL(Sl=BzZxb$~Y3pvhj{l$jAXKx1p29fX}80Vf5ktezE>D>FUy3XU2~ za=)U(W{Kmb=)jRdm|<+mKs!?6KD*D5(dsl;PRTd136ckS$f;+B87Hd^*?qyN6k?zC zAmTpzla>bTfOR^*8%F)P%m!^cEgX zBTIJ}krvz{j9U$992<9iH|VHV9Ci3`SCF)0KOKLBD2<(c3P(_z9vy%Rmy!Y;H%8_6 z0TWmvpe78QD4U`K1qUqq4?Q9UiCO3d_CBXOm|hYn6z&vCp3dDF(5eCg{#B0ePoLnd zpp)V>QH*`hTaXh)KFl0HU&ZkRFf*Opa;-O+#F!<7kvW7fhpa;4%{{?lJR=FN=ftH> zsf$u+89IYBOX>eP68!YC=9(hF|3Q-)w%-5pmZMaoEYe ziAogjdRNnQK7o_$YC6FJu4TkoaJ}IE$?-YlAjg(iC5xW}w;VcBkTz(EO>9=C^$4oN zhN4)p%X8VJ^Xvno@9KnVtQAG{6-|UYqp|GsJTKREG?~PDR(PK`jdsrzs$2sgvtu_X z@tFw+cGh9eWBaVjLoF5X9gN}NV6zwwKG%(A$$VfMAc|V@r&!*?iHY{|wtD|{>eesb z6I6{j8FGPH~zI8GBS+(-tNoKC7r1h#{ks?%6#NMTB>s7Pjk`(G$gZ94m z)STI>9@ML_Q%~0vrepeX*flLF{xlb}$8)T2D1aFv3`Pw8i}5(9btu zT&+-t?A1z>A!lbXb6!bfX&(WGp>iNG53l9mjKv7=xwW0Xv~sp#?TT)_uJme4a<@cERJGd2G+|*#9YH+0uL|fXzkUJ;C4+c8OJ=tSDwgLgTpT2=5$0wy!bmSKGsp|Xe?CY9FFQpAI*uM|qnMg973KcP+1cAuv>7_+oMQ$F z?Lvii-ecNw-0twjmo-%3@#s46Wms3nqiY-{A94_ZYK*>6$O)@KtLFoFuF;W`x93d% zz&wLPLw3wT_0I05N04V5tajxZ!dOEH$B%Ch4?AbQ^OKWa_f1>mRIrGLM9kU*6MJ3O znSwP((n#FQ5GMz3rAy?|qwHjqL|RO+NXEbJJbs^l{!AN+-(Z(r+!p%TrD83^Y7stu z(r`w5FGELl0gUi1cHSnXgUjA@e5J-(u=;D*T4*jN3xh{2CN0@{ zQk2K`Ri|^>JMBOmw$9o4(IF)i=R8Cm$7$MxB?7Te^9xFMxHe2<3%w0HOo^?aPuO-p zW_er8U^b9s&emfUC%d{E4VVi;MYExQdR;TTu(A&G8-n-^CqX)&HS(Qr@pAW6G8K(` zgS5tnn@2P`eFaBSJ&^RkELgIaSl(KJH7+Kk3;`tV4lljm98sckzW>sa^$by*j-1a= z4n5!)nb_e!*B7H&9!NsEEE+neG$jQ`kqS~E+u;vZo;ZrCmD=oxE9soZ@V zsznnB5V+KV>%JE~?eWkx`gJT^MA8vVqGZZ94va@Xru)5VT6^H4j#~4!5Q_fJHonBWR9Eu)Khy*S~4Q<$RSA{j^1+uD6WS2vzh?5B&L|NgHE>#q{q z)5G4|V-Xd$b3oe+R>ZNVbVVvO#cbWmTGR|X0B#Fii@E?D;-C^TXO1>0qKSRTxlzNy zAp6=(OxkrBjr5}IE}960shp<++4=LAoujkv5*N|=AcK8@R(rd9=clQ?+V0!WFC?Ni z@|zTPeF9$zJqMAq{TL-f;1W?iJfHN_5x7jppC;gPn%m;16VUIn#G=WE7#YmY9SFbG zZ);q_X_*x4F(+F5ep!tQemAnI!|+iFlutXb(+Wu_n6$tw>b>j$(XoNo)iR~>H~y`K z_I%Ht>&~+3W#*bU47>LxP40hl%z=^EL2DV{Kft_vvk%FnWb_(HtyC|$+9p3J#MS(y zu3y!I4M1+}`9*awOTttPMcru2G=-z{gl{R<0xc56rLe`XJd{h3*Sms$Ml_eN9s7ex z`)UnEOAXyzv4*t73ucrWvmDQ5#ITsX`4IOoX%l3&?#CFPL`B`JluC(a0iCb#UV>yI zBla}zr&I1o)m%u;Z!}d!$)E8=m!s?o#X}?cgoee{xiyz*%vY3y;_Y$g=TkhidvB;L z)qW8Wmcp*%xnpMrs;}bPjs!q-3rb7axD$$wXz>A-H(&`ux6KCpeFMsh+zdoCHb~

Vyn6q?q^<%YBPf95e|&L{)T*61Y!2sr?~kfK!Q7zaa*Cp~UtB@i01MBG-+c=X@rJ_CXL@j}OKRkGkD4He0QpG2%WdpEfJw_m?Le|dKD_Qgxx zvVDb?qb?64`&q2u%}cE+ye;Glja(9O{k8dhut6*$0dsfR|ag|S)oiYa2P)P z!LhoQTpT{Q)sd=F@}lWm|Bm$KE^=~)k`uWes z`vW$f%cCwt4^{Pu@_ExOl*(bLO@r+LW`$bdz#}vj@PN5hOfE5A(smw$Xjd%(dIa?v z8vd(9LDGs+{B6Cbi#1Fpa0i1|bTUAWQc|t-GQB}7H7YpuW9h2Ivyy<*%%t_`@wAB- zU*q(qfxb^@paBKdmhje$n}L9>hVm_!@1+qED$b-ajhNw!j%wOE0nOZ=T{r$T=~cJG zaS{Lk>A@+)X+EX%JZsvyH1n<;bi}izyiSR1Q|T)F2b0oBSB7GzrUH-F%?DWz9AH=i zZ1fe|HXvdem1mL6Il`2okdeS9dk)i1Fav;U?7m$}#t!vN4ji_Jsibjy&^!O>#B;9! zO%LL1HcfBg($P{z$gU?*mffV&fk7$d_vnJ|0^3YL9lDvm!ml@$wUY5I$S^o&Q-!ibkX8yOQY?z;f@p#PRD zTW;2YB?FlXD+v%(4m0*$X@H(m{^F;j^Or)u-#vP9%uWD{+wj>Y%(FNXyewE4pzp55 zn`rc%o5#`8J#+!NjjcK5wPz{KcA17Qt30{pyEj%Zpl zw**$}Og@M@^e?^6=_{j-X+^=JfL7MiDp25e)Z7da_O=?Igg$ViN*+uzpcm3kLykwV z7642-b_YmS=k5T{9lAUSOk2q90iJT#hb4Dj#ofntpbv6);|jsxpfSoAs1z>=2gy}3 zi-yD74UWakS9k8=dDUL`U%rA%0(yS54|=EPXEk;fQN~?E=__LcS$y%9adKG((R?$~ zLHF1eW*jkZ+HuOT4%gB)I{tgcb?yPzA`rWp2Y{dqqmvIv8qu-=6aYldo6a%!C>fV%enU@ z68yMSxo2TWWp zsRf=gkiE2*MMEAi-a-#W_W&dl<$C7GNd=jjpB@GER!p!$Ne4$SqXpgP`6Chl%uy^Q zDSM3Jl(|Bv77oV&>s2FI75Y=pQt{HOt@GflO6+_Pn#O3j2m7i@JesnJDidh%{b^q6 z_>M4iT2hE%cEv1C7bYk0SPhEqRiraR!tR+7UB%G#)?6rEm9pa)eG%y@Qh0Y2&KiRH z*U1}x{>E3|t!tMkw6=7FUKJy%Md^j7dZb=9UB}vbd{P!wFD~Z<3C}W)kgR^OGbB8# zjRsWe16in{M*$iv$=U6@?z{7i8!^4PFKu@|WsUO`nAXZ_!-XkQ?ENpgi(a4n)Hzrx z!mr}MO9?Mp;+J}0-mNob8BC>%r0RRjhrXtHw%_v&5o*G0dpyr>@pVe^`YL{3z5!`- zFZKH>n189{6UerFwq50eFsyRu)5URYAunI!_UK}M$=>s;ASGA?e}jmC`fwgfqCp1Z zo)%W(?mdT<>pIYPvycalgNxw-4;^GoRbEdyz758DR+PW{-uk;a|2aVS_i+BRal+b= zEKF`RpIs~4)^yi8DSVu5#Fpl6=pm1p^Ax?>yfY)O=g(rW0V&;b?U7>Mn zj|VTQEZ81irPE|~J<>`MA}<+pGYcT8tZepF1oI~w8)(ef+-xb9j=YtFB%4vbcb;U| z@c>eCYQqG;LvsloteqYJglXF?Qhb$#x=wq{2<$YkhB}>;aiFsX8OD%W^0#?5lP&T1 z^bp({mKSI<1eU_MU6jA4#j*8_1>d@khZ8cVD3SC(kVrP7^tWja^{1G}rx$^{B8aA| z2aUm?wsFRzdf}8C=z)7d1qz70n-BLAVhwW7+XlIq&se(5EE!FP7^)kmhjKLwl&^F{ z1)7^k#O$GsK@V3{E>V1Y@y`^&IUhruesHRZ`^g~YU31237Eh^cLmQQiVQ1-h9QP4; z=rf!Tl?genS4HTf{T|_b#$c8hu@p6|?ph6%u*%Ah2k_d7geT*^28a9`U zX|*hdL61g&9<&=-okep}(U!^7bqwp6qY?T(-@uaI#Mp~9C2m2CmceveP&A`(OCXr~ zEkD#@nu1Ws_-+((AW%X?`AET5ii`1-jwr$USu{2h7*J+Uw-d_asad4L<(iG|o8;-U zBIBYjf9N73vVgM1@l?8+tC$DGiJ?1$-L;_Q}pGdx+$Ym1KO(&N&CN{? zK8SBm|2LMMA}B6Jo)Mn4fOp6#1E&Zgk@OYqaE9bAVuW5aHI1*L>0n4PPXH+D&*ssP z!5pBh@3^YFM~wZST~v@HyO;~f10YIS5fsO@lKn=Z-UP^_tpa&ccTM(p63_~+-+Req z<{K6LRpwKQG<1ccJ~-UN*#$&7!M||#rRjuR#y9jt9LE_8?W=84KCNF981Q?E<2Qig zu7Zrx(8AgV+154)qDSRP~f&fPgQ03$}X}dl4+d-nCuQA5`f;iIfwsht{_0U;6$XzLVS{m%%|$7+x>nXM z15I!uRl&IBczM3tXd}FYx?YYjkOLr}fbuPSJwCxTIWmdxkLA1&W#eW(MtHEkXI`j}Q#MRs6{3>b5LrbFj_JMZM=@>uu1PZcyMD zo{3_XyzFNK2?7|1q!7*k`q=(MtgYpdL`ifGdq>Gx> zGKu(ET`VSj<)Vn0$enQE9ZQ82 zHbu8}O9bV;21RdgKzYp7U)Ghu$P9yvV*#^;Sl4j>ovv{#P&moRVmBo=r&7kMD0I}g zE%637eA%J+**h?7qgOKPzW{q9A(=zfl)L$Nc`s-sLd4x}MPu5BhcPeC1@>D;U7IHnL{^Qi)!1T{XMby4xV)T!urg z?3&Vrc$)KN!k7U18PD?ff4H3t%VEgivq&g$GnSFWw&j9u>GzKL&U-)(UcS-I)HgQR zea?&j_cIx#19GaA&aWR8$SbG8;Ch5C9ndVx3>!Wg7NF8@T1%s+v~4ES+flZ9juUhQ zkM+=+#+XJJU;>TpyyFU`M>UGb^=dN?ZTh}C*LoOIF zcE(z$9_st_2>m}OhVGJ|32oE|;LV?vzDgQ;@pDl_FMc)+lxsFN^`l|G$8uONjZOJV zxl%M&YDI3Qv(B4#_Z%%N|JA9~gzW$yoL*F)Ow~l5>iCP%OacBKpxLWJGtrd=`vP=WZ@EEkjUj$v-Z~!)gQP;rLdSGU6_>PgIF@1_6(Nm78Z^_lSS+q=F>| zo>pZH<}^pUi{2s)!9=6kY?@rmXK}`p9Of?^;XY6p61$NH79^L|N zhYWNYPr)n)=CpAUfh`WpvV=~nXsolDbJFnW43*3*-`OXVY4TCzlm>MtB9>&eHZ{&l zX%6r9cp7>}>hS96Viv(#v)gvOO}~z&VtBmVg%$@cnoNeb;1vL+g$dQ^*&&O(ACYVl z_dy>*z&i^qbcWGIJlrHdT_;1$g8&+!03rL3Lpdew(<4aGozACJ*vkMm7s(hpLRW^X zX&i%<3(5M|^p8w!D4WC8d&UNh!?;X7(Mh~IILzcnWvC5d*8|~q)rM~4nY6`1mx^in zF#)>)7)E-@rnJr`1Q&BqhIXO?og8w*pII`3yr&7ARyVP7!!Pn6W|Ltu<5ou!4b+zS z^}V_j5jTp0MF5o(GiflFLi57Vw*o}Zu{R8b^Q=}kHYfLMo`dX7rO4*@YUk zCG~<b~1Yf_HS#J32l(54uwc*9gsjnwYs&? zq6uAnqL*U0YqA6C$&zIJ#EW$%VGhg+@EHIHIx5)Uz^<6=g^0hw+GI=wYr;<-A%iSZ zMRB;-)RQ0>ZB~K7t4Q2hk_a`po#jP$PXbxlP_XvMC%vm@qmy}GY#%PT2g}I>2$qg< zuKKvt8r$a9)>bt#@?~_jCg}e9 zp8I~-z&;1%-{RP#n?<31=D&OwJ$JI*on_I?-@F?utYM}3a?u72s^-Vtg{Po1L+%MV zNQ2s)E4g@~n!Yl5z-JZu@fB(N^WbNvM>2l!0t2}lO})7Q{}7oK6PbTGlhH00-+R%d zA$kIkz?8SE$dVhN04MkF7XWsl3_+{8sW9?a{Y~}rI@_I2qW_u4T5?z0YZr?e5g~Qc zlS>GS)?ujH(I{p5c(Vlsn=4-wIX+{EHJpLjD0*kzk>h2k+;`q5N zv~;@l2e|!OMmQKLj_5&Hy;m@>a+=1@YG_?MkkpjFw1_tE=SBLvl}1LU!ysZ96jUi0 z!g@j`-R^7Q3<$63YE5UM@iBjVdwAG6>z$vR^tx}_YBYRhg&cP7Uj3&6<_DAYb>-~) z@t5;XuURVqtTJR*-L1g7>e4>5)>b7W@u)w!g-Gh2hOLDO8vup_E-328(cn7&+#vpQ zgZR%4;y*WtU;7Orl%PV6a^&#pbsrz_H@Q5V{HZPpS$H%z=KXU~c=s2D6}J(xXLoZO z*v`n=;XZk^^W+CODDYHhHQYCX2?n4>{$M?%sV)@n9hZcqDjG|}*wVF(e+#vt$3kI! z{k^RfRA6HU`VDGf%V@#W@p<)?p(?%wRe@FXd!;nUB0mDv7Q7EKZi3*^k$uZNlf<=T z=}^xw707Cb%iDCB9r0WE+)p?j_d(ki4|?=e;VHKKYhLzf7CNNmxtxY4H2GC9Af0!B zO9Iky3kZ*T6v6X=N8>$6E-#Z9VgZk$@hR8Ku>aJ+iC1^pHKHpSR+*ie^St4s%wXW)k%ADHc`(K@27IQ> z>4$N8qsC1|gItr^eJM9?c-Z_~4O`-FK^P=H#mdbtY^nv%Y80^ zCEQquH#ZtA?YM22a)tYFJ7iQVTTmsdBVl(0&my)*@T}VY2p%8jK`VH94+BSRG4O7U zw&7XGa2qRn4~{CW6tFXN^DoHm{sAYD*Dl;_s^ADJ?s0iTNVQ$V;#!Wv+}HQqdla^4 zxME7Q9;Okvvt+p;v_~Tmj%aNl@}h4TU1)J0*PLMuLmsK~($Xqpba~42*%WG_PSmz5 znj{DGw^jz73UNlt(XNtBuBq+}(vhw*e3TJ7%BP&WW8q&H{I@(P;9ik%U{{aT@_$Yt zSMuuYg0a0Kcvs@_P1^^0&Xw2W!X(S z9hi)?_#R!PE@wLxT1Hhrk02{i08Qpq0x#)amL@-Ft!{62le*Z#-xgiqaE)`xb0=&b zS%P~dU)XEVxmJsW;Bq4YKXm>6S_`6p-`k38w;a6a!X8~;b{#ZuEySR#fdSC8(`Ry;RyNC=~53QZ~S%V$$Qtg2k^0n(JbH)p+8tD zG4|1bYe2|oz%vj@Z|#HL@yT&V8xJ%f4;?r&$pdh}pM9eBj^DyvqR(skUHj|^-KF{U zBV|TkoWHEAjl*elF~3ypX4F?3L^sOV(2AhiTrlv?22Hj&A4o{kp&7D^3D`nDz)a4M82eVkt2Vjek_0Ac(TcqwRvI`e->?`lbJNE&9<<6NC6nBK!kSi*&8Z2Nr$ z^D)QB6$2H9*c92Y$EoF0sEjp)#XdbddIwp!;lzPV+(&1^h1|+6{RZ5>BPHu6H%iZa z!w1P#oXtckUANY4>AkFiCouYnx|QYR;K#1Ed8N)%M>n`iMhvSM${$mzOJn)4X@P$cXPfP6xPWMa`|rX!_1ZYo7=uB(g4fok^O4F>ai<%k^Jfb z`7HhtFV3S6;J|_AH2pc`ahS%NVC5QR*?bh67OEr~-bA+Z^DMs|&ypdS zAD{#47+f8qJf(G%dz+#!=ndpyo&mC}Nuvcw%(l3ob% zF@Q`wcQutjA2nM55p^Zupz-=R}org#M7G|YCg zWZ=tdS-^E|JRe1URo_jyA3CD#Cp%ge6bFyQN_k9Bcix+Fb-VjgtHMq9OZ#X&dR(;+ zS>>}W@jrTR9O95r5g^-}eDKonJhLk~0;U#Mf{zzb=OSi-9TUnPL$YPQ0GycQ{Hx?= zTX)41sjDVAREMgLecPOT2;_GrACS(92yxJt7hIJza}11({xW{OA>da1IzHDTKc@d< z(5}>q&UZhC`-bX`++VdJL4z;lLL4Svx#hz7QZb$~XYV>^M~A=s`nRh$QECTEJyJ?h(q0?a#rMbT`?_32ewpNE znTs+v9(R5+2#YK6BhMs{M@vD@$S;nF*`FlsBk*z0)HIsKaOA{Epay0;uL+V`Cu}k6 zkk`CLMVsGA4c;^{(RuSRePPZSzqj!F6Ip)yz34~5v1jbtj#2i}dzD}+<=4wl0#HuF zqJMD2gClNWYy&X(_R3$Ink?hmQXwioJw(JWkSUTwP}^Nsl*^bR#7%0CfNrCU>|6fy7?+9 z$^~jdQ{*yAhVkI5qHy|!a5;?wsb*ixfgn(W`DOD3CtSUu!A_GQ3szAT5`xyz6gtW( z<%e%B!x)qb<05T+|GkWhw7t2rD?Y9rvC9W;kHYo88LDozGtJP2VrZptPL0SQ$@6q_6!FxBskR7o?nau?eG*O_#4O`~V!=L>COp2ZE(A!^cjcS(+rKDZ?VW5X0n z)aA07YO7<*(+-IkrDs^32k2j$-}-E9h*bc^GA7rclN(Zq&*I59Pz{7!cYI-fmj@*) zh{{{}@w?B=u-Tb7PH%W*i-_GKWMm3CxB>P)0kqygg{(k_i(3K!z(ag6O(zo!A32|G zq?a2RTqKP9G4FIA73AGX+$XH9tmw|m(k}?Ar=ID7hkDUqGw-)&BG$`m|~saWNmelGr_Pm`~|S6P221U)iHvVOd{myzZ;`wj(?dNZnCPX+&Iu z*~PSx9He7+5*!O?96h~2%k^T6^acaV*OQ_WEn6hkucA?0qFYtB7&K4SL1dABRn@O^ z-#qSTlD< zcCX!oSl3Go;_&GBsQa>W5Z3i2N2Y)d;jw+U`H4}p)e2^881aW6#kFEKn&an+e2f!P zHaAgBPaL-=UT~QS#k@yGWnAGDbtSmM2N8-Ztm_K6Vs&`<`fc|mH{0y$-4)0Sl6%~R zkaV%-+U#Z1RWV63aA6xW!{CEfc`#pWs|88yVJbt|0YW+uZ z=h64yZ#~+2^tkmOTg~rV+u#2O*;>^ki=H{yz7X;s(I6V#7L+Ud{wIBy3IcN`u%+HW zwSzDv%)TM4zHa zv?o#jI^Jk)ZjqBS^5XP0{JD`%H-?lVOuymQ1mpg2PPpGdfPZ zixCE<@^#QYFksxpE#BJ9GYm?ereqY2Zvi8s>D3&9RA-d9$OuilMGY^QJy^j5ik&8Avw$FS~jpu+poK} zLVto7Tu}FA`(20fw{JSG`f|SrL@#Oyxe{y=C2%HK)h+EQq(tFz98MS0MI-~S{xsag z&}j|?w!h&`a2uoqE*pg2Rwy}{ogxLm1ha-1<`PF;&M!Oe0V^p0(+^3US#hhAEAjyT z8?=UcWoVE~uoRUpwKt14hrz71=I~8WbIhG?!Ye9nyl4=sj*fy*f3fE($^vUEMe&7N zRP@CM@QjET{%aF!2Yby9OM;o@T!_FnIHH5PI|W!ExT@pMoMT|q zx{P;+T^3GR#Qt2cqw-ts;J7%tYuiUmmIGTT$$I1YaHtHAnU>XyCKVD(!JfEkf{=Fy zKrk;|oIotTge#36wTO-CG#0mtpl1P6bXNz*#XOAW;KR=ier)(o$Ft6H=f%nSQ5%e6 zjVm-ZF(specDNiPXLSp>YF;8Hj6@J2C$8_rNp{UzKkj#H7F z$4DN4#^MA<(G-aruu91-Mq-H?nzi`x()I09N7Mxn^dEW)A7bAn)R=NSJrS1k3CDb^yQ2%%z@_y7`Yw_4)C{UoiJ^WRZVqF zz<+&VS1eSvg1D`tzwl4lSd)eTZ$Kt(2F1 zR}lwK&bV|(Mg6L>A3our+Bs&d z+^$2k_55o*93~Tb3`pLj&}5O}<5vvqmnHcsKyhVn?sC ztVk!8kq8=EJB~*2-~|+Von*5$9ynSI5)6r+?Cdv0v1bgT~j!_gJCap)0 zr_CDOU|Y@a>kWLh{bWbHdct2lYBj~HA3(%a8u`?E^r-m*`*uK!f7;o3!hUs(l9!i* z>$tVWJ~y|vXkmP{z4d*Iy=sbAJ6k_IX0KYVMjkhJcG%}_QR7MT2j0kzt45Fej6*sd zEOxlRxrzThG>StkSF`wGXKM?JA9k$b@RdGw`SLT#mu64C&7B04x_Ln|hCh3_=soc6 zecDoe0US-ks_#|CDuJy6Rc-V_Z4gJVeJJEWuNK;=J=tls7=9V3HHatE816j>wI-c~ zx`GnpNUgQ4q8t6aqv9I<{Ya_Dk*xKDK(OsC<*Uri=3gphOt4^EO)PV$p_jIl9M%W| zTmfqZ^Y4815T@qpS&f+sCw6SX)(4Y3PTD}JcL91o$dpA1_yy!Ben432)?xB*XO7)~ z^+#6kmRzK>Yn&{kRc0oHbl}QR5~(caB&}jR9&Sb<2E;Hv>(LHYz>=?mDL2`2^$lG) zmbH$g^C`~)?(KDw`>iz}WAq;cIo#M#flblOFh`hH1vdt6dWcpie^Cbp_*cRk-Bma@ zD7{GFck{iNH3CwWhb%6XZ8QXk{QI};dx`Vi-wo#YAIh?K?EqgCxrcNj0t$mU%jX?4 z7mA!b6vb9h(ch(V`Li#;(d*Zp7gXLpZJ)K@bj~{gt6)_zm*N1^ zhm=Z``{O)tGGK8>Sfe$i15nR6H31ySAUd6?EYNXbeVqYhD#4+a6_efAa0=2na5l6w z!xPN@;un>d;*#+4sK@fqTelqxF-l}Lyb=jvmx`GrjSmuP^gPWxKlaxF^VpI8S2{CR z&nPi?Sv$Px-{Eyb1vdeBKhuf#>0$5f@&3u1QwT=VIWX0-o+^0-=p!`m(Ert%UPis7 zHDppqk+Wq}-CS_nh2UE}{YvqeR-b^W6iCiA58^Sya>GTt3XoOCvIof4mjSIY6Ej(p zn;7f>F<`gve2ues822ez-DM_^I4rlWb*uOYP>+a-h=aJ`HJ2Y_w7s@~el(~73$P2M z4_V-d6Ug-8!^H0l7lLNX9A@?jRy~GwmHS(BN2wVt;37B0E7oRR30*R__3Bucy@9p?=^ zuyLRVK3J>Fw<6GFq3}%Z@l{=ruR&9xtw^Ai2rY2}xlKpW^n;-niZXKYN+dmn;2{|V z(`D|;o|qtD8%7(*$nQB7#*O;(x!kO;UY(xyPF@AMcQ16{VPvfK&%ML5_KP<>TMh;& zU*N18MW3il8(ocfj*hF@^~&_#BYqf%5qVs(DjKJK2LoH3i+7j&8bLHR<3wopqGXVg3q z4v(%Li-q?@4TT5SsQc-7%p#*43ALSSqsXq(nt!E5SkbkPx+^GUfej`ER{916S(DbQ zHU0sp>z?fBY78;WfV3p+!hN3Mjadc(Z&(tJgfcMn?WRRpB*h09n^90`lf8qZE;nz| ztTtccWsb!xfeG*!tW|)NL8sgoG>6p#Zo`pYdb`?GH7W%n;64w11OI4*6{IZoN&ui( zBoq+Qu=BY!KFG@gY=v>r^k>J!yJ0EZSYhKAXMOjaH4Sosp(3AvK3+dv5sHephoc29 zcx%+8Fq{)&*xL*dRX?@mmdUZoZsNzchtPz;QQE>XR(!`CN4*v!Y0af#-wp7+oRrGga^qoi8*W<&i=qy;B-x4n8A`$&{>}C-g`G5Dm@s*(bOaj_- z_RE7#mjYHSBqX={vBHoWg}D=DfVUp}=OJV|qP))qrc9DSIiu_Y1?oIg!URJ^N*(b?&Ow)cG5A4)ZH6^o}3oBK8o%BTfT7lRV7_x#33)lWZA8~X4 zh(S9N*szsDbuRL=L2g)D3|LGgMj&+|n2z_g1>p$c!E(p6wD$V_jl~J~qFc5Y0q6WGD7YjBnvzAeD6vhBoSvL?owMgb7Lx5r%(!dS#5X^`Kv7rZ@w2Whyej6NjVhldaDkrt&zGoGqZ z42JvG!Wr1a&-j(rMz0Hw8VoSJTl`OY$y*2Zd|SyJcuB-^h!cawZ=eS;r4!}}?DRNT z_{v6M4AnN+Dkv*}zFj$oSgBf`@*#+|Jlucu{o@@;op&~yn@vIFQ5i>IwNE7~oU*Qd zZOL4wqO^U{;;fl@UMtrx{B{PXMi&~dXdXRMa}~YKVrb`gKj*hewt(JqN#`$TkQfHWz)gM+`u(YKz@#CVvK1hgp2LIeXoPw|PNxom}nPk?-| zJZ^r>(woZBh+RVu4tr1;Z&kDwG20y|Z1ih!mh6(t*iB!PQ^ShX2Dqj2%>=B?X8$^+ zGwNAetbh`VEp?epl|=#8-d+{4)D*)w8gRJlBoj2^hC3SbMq}egi))s}l=lsOo(AFU zM`Ivz7csd=uC7?#T?kG9rd+gvOZtX+84y7)(V;g}F~JzsbHWmHnuJ!NQ$`KN4-SSY zaTA~;AT>-e>1K*_m)9EsIi^F8KjyUluYq}N!Njg)`UCyI!7~7_(iohCV{S4QwXSEg z$?n64H#aw%Ni>c&)9Ka2C3TLAYTF);*4l5#Mv>p><~L4o z`VR2T>6(+bD~}^~56H|*eq$)iG59y|6nLKl&c$(Pj1mU6(#|?;yyolG6gce;?)i3d z1(EL(O(Bt&;JxpXZ?m;fk(NGblJTa|_J zq9DxXSCD`{9!LU{U=T;}7DQB4wkM)d!q6yzGbDs*p+(o%P2juN?%A{QCVx%dn~lL! zk=TcHvuAZuC{!_@fW@%}p4DRxJjK`}9v%!@ef8OaJ5pB{3hdwwX$;`ALQ(mNXp$|8 z$M6N6Gf-m+ls4ylq(m)65^lL7k6A4nuu|-~J!CMBd-Li@*u^PlqEc_&JRsMt!_@Xc z`|}@qf=xM<#~myJ8p$QVyvC@H0u~kCQ~Htzl)x~gw4B>;F2^PSGOuOc@Eqi8MAxVL z_7tSE&VicnM_XDuuaAMsyfmCuiZGiurs#Vv~Gfbie}Z(pqZ`|Ik6eo{`MAv;9LjdRjiDbNKk5=aAM_WJi z_9Ko7L_szlvuv^v&M|SQlstw4zV^C@t%weHJx7wycw2-e*TYSdnWga#z z2R&^_!qwZgSvHzME&_#4b@^U8r@Ls9^gpn;VQNNq*ioo6WjQsnIg26tK#rc|YFylA zfaqh)*EpZXn+rtOp~Jw$GmEG*nX*o+m=7EAQuzr4$)&KwT>|NhV1XOt!4RVzg}Q!$ zOH(wwN~g)}dIZAD2lz>zInP?aFLg*%zyh4-ZPcvM?#V7-kaIYkSr_ndTi+w;Z?Mbb3d}2axK>zT#CB{nS{cO5aIjiKDmxTW2{Og|G=v=;euM9thNQIhy2{#zw|HMJ$HsHY zZaLaj_o@$i-;{S$G<4Utw$=|>)UuISeS0QYfs!D4LV$3yy9&B9b<2#B3>(-*MjaZo z0_VEaREnM|FAGX=$_Yha3W#1;17VXOET?d5l4SPXaLA2)$VHUJa4(`ZLx=Jf4{S9x8&5%GMQy0Y zy<>@rCU}gS6PHXUk4lK0fL0#SKEll`$&kh&sN6X<>kA0~aDBPH?Tj3^N|mfo2cm8AiVD#KGg5PbNr$UpNA3Y9R)peEp>#7|Z0R|?OW*#Sdc!hmg7ss=v{6>w(LTR19}Iqi~f|G%xB zPo(y3RxjOdHEE_rv80}(i2^+;e$eArlathsqhyRUmrfS>hUaVxtFKf`bG2slNvrwP zsu?JQsarLt-Mo$JQFzM3g_$r=lPRmmpQ|PHD72%(iYOoVwJRG(kdL}$vR)ZLB5F|x z!?C8DpaHiD1co-2g;||@lKOo4^a%L{nTI3*Bin;)zd3y?UNb$ms6$LFtifXi>V|NY z*D`Po3CmGg#Mk(iZ-Mkx&;Vn9P_S{SVj{Rt+raqh1LR^s1fcBE0L*XMm>w`gvUE%t zCych0%qTZ>L#7dmJ7_2bI$|J$n3q%KcM2DIl6~;4a^_B`CA9=A*nZ>GnES%ZVBaz^ z$P4%#Vt`}hw|4<5&Xr(JI?QHIR8$x@;BQ#^gh@nS_UFTBiZbx7D7?WV39@Ue36&%# z)5KIeC704N5EoQPlTe)=Wmp%qT{`=9X`uv4&%*8sQdZNYN84KN6);LEv{-YJmjxZ0 z?U|xq6d=Q-;zXDe;|g}BWH3u~h}AcyhmR`RnOrln71fPa*am+p{jBCjcc zSLRpbGJb;K&m1>mrhXrk`_?4|E|X~Eo~2yYuEtf56ifyUz0d(&##6e@U^`z!EKk{) zDV8>L0|r_OSww#CAV$H$XREmIvfX`Y1zTQ(CivhQghwEpz`{i{2q>0U{&v3B$a%dw z$>&kT8x`LOT4*JWlPv)O?k*J8U+?WRh+u3(%Ur#KG|pJ4ci6aaU|~90W?IZ+@W;`V z%2R{+lq-=~hy(qy{vz&2b7sVGOTi4Opc6VN79$?oQZ#N!2CV>}GmD0JeMy(?A)PkZ zFh|27JDM1455o9(K&LoEOXc~LjdXLt1R&g`30_>8y8`sUg|d=e>+$>N{JMpSxll+&^i2I& z;o4Yp`jDy{AOvC`Z{+(px4Y#uR%SN1fpe23#JL1y<(_be;5_(^Fw@1X2cY_m2cmY~ z7gC)`luWa*4A-8+1@W5_8Kk#xmj`GfOs5ohSEMcvANq)D3yA8o=iEkFjU@nwDDCE_ zqhlExOUH%rRlzMV{?R@@KcYx=`nvr~{Tmj|GVZ5SdYsU||`AX=5zjwBW$Vi5v;-j`9=zcpOcW6qw9& zmIUhIInUT6Gz7}_ML;-)gEz4ku&bjX%n(evU`m%UsM-d?jgG)CjSknhdi0J7jhuii5T2`>CN81Pwsi=WyZZXV$A|Z zAq-i3UB)Osa(G#DVs@P7hj+wq4bN~bsFr)bxV(#%t}W+cg`JRbS{Vz&85#HwSk`h2 zie%io9!$NSrC`0dL%Zj=%eJ_Pnxu}2wF5^MKtpksl|l+dG9Gvdag)CnpU;%dA*CpI zwg}l|{}FLeP|{M1G+B`rK_`}3+E0gKm#D?IS+OQ94zt`P@g(ho9WS3;M!EeMM5gf^ zLN_?7?kIzBcwiNAxC)VLXcJ+P=1cfl=24`n9rFyRYPVWcEUGnRjvFHIQXnKlPdJV+rr%7sbfBt00200U zA8+q`Pj)t2o6Wk9e{nIT-VmqH%KT-kPBV#Mzs?DdpbUwoYx866@ z2|zw43y*oo0kdwMY>-yH5;v$qQ#~B;k7+!i)Sag$fHR^hC|LvXfYa*+1d{AW(}AgT z$2qY$nv~Dx%qbJCbTcto5b4FG<11wsQeyMC9*Y(@=OOeNt;6(0w;;@ADF%gz#^TC) zilR4YZ9VRhD!5o3gqOzA_$>PKy(~2lTy~X=R2k7MSn@kdINyyisEL&ZBU(aPYiq(6A9pb z1GI74Q@}V<3dJGkVW-_NT7*qjprova58j-5vWkQN~gKf9?DlZ zbXAZqcKCXIC!KUq;OBbLY8XJV_LkO-lZqC|9drbtatDv2lS#>gqevb(#$im(NGCgR zviXQfX-0Jc@h!kLK#`D~92>9x9vUv{btLmYZ3##t=#$m#fmo^7p=9ykJ?9aiiS zVL}hu-Rw#(u|VW`%ql+7D~co)gyE4|;Rmb$(v`D1Y=UT3;AdG~^h*Y`0{ zav&e+D}A+i4zXa_?Pa&O|N01yhL@e!uTTC^=?(r>EaI4!I#&a;<5x5%l6kgvAekrb zu%^=aVi4q#;5^95TDi^91}UKq4-dAXso_9D7D)vF1l1TOBhUk0lGgug?obxE2^z6{ z2oEGivvle_Ad&QXMShQof{F+NalST9d4rc)kw5{k!nT6F(iNcT3A0PE#@;FnXH-D{ z#ILBO##DzI#P3$rlr_pI|7YDYVdkXa-m@awKo2l|$yWzT`tN!u1{wer_eBfT^iOqx z)~wy2maDkF?B6e-MbKpfb?@z`6E*VTcbP&k_~P~GnFe}RTi$P|EinPjIRBs?6JvD4 z`ifc&k4R+9TdNF$0R`X-NQvrDAmfE_AE*iJDPiT2jM=p*6&0gt+{@S6B{jjL+BX6S zfdxZ&Ju__|P14TtG%K82gX|dC#N&R*Ht*RS8LJ9kS0wpBQ{hem@T}2IU5h_Wn0@xQ z^Ey4Dl~GrUcJH5ExIE_GZ15N&h`%@C$c&YoEc*X`IV>=T3Cg6reWkbJYWeJlUMUOn7=j@+V9}XSN|Tv!G=y+pW~6R|4=TGWThMnS=cNGt7b=_Ou+B=x1*O>7$x{;0X!z=lh z=hRltMhoz+Z+s2P+TxKw93;_PD4|y7V52{czABPNm55R9N2XTBmPCk)YGK$qelG{x7-UiuQ1m;adG)ZE{j3lh&Cat#qNv)6<*nUL6 zY_k8TGBz_8@;AKw80(Qun7ma_82}UzWNGJp=RHuXMi z*p$}wl+7JL%?UI}I)Qx>4SoG6b!%o>SLo4XMEOn83!(^kz1+^O0cGORWX3GIm1a{a zYtDdvFnc>_r$tY=ZTP1Nmo@m`XJq>c8}lZ2%|dfMj9SUVFR~z`{Yc_58X3rVqw@(% zI$$Cp3^E17nRJS-Gqy!=uAkX{@<*y+lr4@B06=D7IXz?XGhLh6cPlSKGU+$J!bOJb z2wPf!Y}GaAnSQw?I?w%dtXmBJrB*%VYWd?5u{fMFPjq#CGUoiuycud~Lu2)>bH?Iv zzwS1Btx%6J79;{40QvEhaTBE0SC!%hPp|zGIn8qH{jq&u)$(9*7jTy&AU|Yk$+*91 zA0^eWSUs>9D&w6mB`Gq3zB?%!ROEEgQOVqXMp6PL;x}%}{F62bVKU1DjBf9|SCLJ8 ze6HO{JF^350k&nubvSZ?Xg-%3eipp8g*P+oWKz!=44Ye?*zj+cl_?b2@&iSp+V-Q| zGFqdc-s})Sf_Q~JfuNL8E?E5r+0x)tjxHf-AXv+C7Fq{|6DZmvI%@{|gI{IIeeq@0 zX_}!qFcyy>j->{ErC7dIwR-Q(NWEI4jB`<1Fn8p#>RC&a`Et9i^3JQY``}TuKB2pi zfjY!KEnk;>tyFJ=QfnW)n1Yk-=^AE03^HRf!7EYRtpnaRn*%4q4B? z#J*HPkpM_n)-!?%OlHhsKiGB(w~>&h_natEE{wU>B|Na8M@wLN?6O&4_1hlgiy88y zWNIy^Vax&pn?zZ*+`zWH$_rIl>I{vl;=9TxSPJ@|V)8+#7n6aKEr(+dNNLGTxe;XI zprH{|h^Z@Qq|zUA`HXI%sfbF!vsu*t5Kq4Yf5Y^G^*2zm_Kdj!y3wJ3JyvFL6s+K` zh!^1fJTWtN`Ql3{2Xd~S&@>J=3HS-c%qL~Qe5Vy+q`*z_9Rt;L;o0Y~Nh{Wo*&P@s zbY6m+^x^5O)L19Nu+Lnf-(7{9?^VMD+3-_(W-BbVe9u%8Micqz4vI}Wzb50i)6ry; zD`@mw5P3h}LTZA4a-%NAg&Qbc$O!PGNn1a<#pD7P^Rk-Sjd|gHC-iF4l?iMtaBB&p zElh>M5;P5@6KXP=3}et$%cy7iw%9*;a|)NCJq#d$#BMx@X6cma(6|LXC=o<$rlC{f zk6+x9Hxv^jYTSIn)z5=;VZ_$QO62I8SZMh>co)Y>3ugmsx6U5wLIIn8@q2=0GrTKL| zy~`?a<;&trWt^#mHwx~Eby1E^4UWE(lgPtUE1sX7=K9bROZtvv9u<~;Gpjh7t7~wxWTY^CG0+{ z2XO&0L^Q4wkR^&Ri{JL~1~^p%1au5Z@XPP`3P3zPIXXV?9iE)MX`e3# zOH9$nf2h4*k9cfGb=c{A2&*__(vrxZ#kEvVU~2z-rK1RiWQc z246L_ZRiyOyK{_*aC+x2JI8dT_CsirQDqUjG{(d&EI{2T>Q|;stbPyb)BVu@s#nB> zSMhrMeBL=e0FUE#_nb9r?xpvzbiHnzVO=GxCgce)!W@eb#~8l2`?B2>iI&(kgs4hCgMk=kxr5^{8s8Eb9NvtA+)qar z$ru%!ne8QX&!_&uKDNlaKW5wDUq`AEOc8o~z+&CEU%${#Q2G&@uS^rwRRaX zAF%|w`F>JpnQZgCO(}4%-R;r^s&Ny4bE)g(A@O{Im^&r&d73Mo&N};@qjz-mxqcf4 z`L9kHK-SDo(Jm=X$whLtrV?oGcwpgl!$RJMZ$5(lER&1CG-3fOJv^S?oSy&UxT5KG z_q*@3&5l`m6S#$Mkcqr_H%zGZNJ5_GR#fyCC4eoc0RJ^@S|%dt514yTAR>-o;O!e- zg@lFz@P)G_i{2xxINpbUE=_GNT7v|Zs#+urmMucR0ds0?zwE`dIsN={T3YziR*zo4 zJ?n&9AzM{VQ)FLIJ1QK)m6d+;_{?A!_rY6UTMoT>C66WRjs0uv$uq4F>^Pa-vPd%nlo z8{ky{A4k1n@GXbd$0r8XERNS0g@Y#;`OCq$07;vxKvHpsUSp6AM^cZdsn17dK%sDU zG-k}81@tMc@EO!MFk$z=OE4Hs4dvy_uGgBVT#tGVZ5$4XgS6C=FRaH%hRES5@ z{xwTJ#1bDHd22<%TAQWi0w*rvIw7(f!DfLAZB%kh(-9Wz>~FBV^ZELSw$S@nNk1s- zbdQfnpVBC%KbR(0SMfB@4g+6hW1_8eYB!acXcQ|*B--E9vBgZ=r6iV8vPtPUqb7|4 zM-!{ONVCS)$%U1au0RAh$Tf!f@T?>H>|JmF==5dhto!!pywf{5JD_;NqO+>#iQ>?2 zrQ*1}{6ctg2ly(W@(=3$Wl=9Dp(exwnY^oXrqlCe%#$xS!cuu&%pqaMIEGkj^h_F& zc?M}gzbgN>6*6e%UM~SHq_TEG_pb_{Z@w{cn%xn(;nZSLr-m%#t6GVC3+_JVrrLN8 zES$Vx^96rV1KnBl&CMP|I5S2KM zpA8O|9K;v%t1HURZeWD3bUuU3jF=fC&Snf;p0GD;$@c4B#G)cZK+b!QS-Y6kSyyLN=DG#bb<>c+Tnlp(56bHhjML~JGACd_H_^=E;s(&^GxD5P!6Vc_#ljlKd zxJx0{Dp~jV?KowNQ5a704DOQ1YLtBdxpSaRgVgRH9rO;4y4+LZe~ly0(8zE&+>CLB zVTMTtQ9MT}1)SOH(J{aStWU-8S@Kz>O6$=h9v~E=#rLNeaRI`F0{W*^TE85oH`>Ht zIi6Bh|M%ZXjjdswz1$#^I{l(-m6|o!bxeX9#J5mHxx^%fDal6BaOemQs==m!N^rdc z_xq0qn4!sI_?oL=D2mRe^ZrZ>_W|oVokagLhcGdNr(2twt^fCAqxpO04C-a@g@wQ3}K&R+~vx>~F<4UBKP}W3J?McgLG>cEL8zWPKeYz0*_Z ziK_=zhu>IF8rt`URl08MM;A^2(OZcvFZxBGMy8AARQo^f_d4fqd{okDM7t=-)Sl|} zQ+uis)6zWZf(unNUdp}V;Xe6(`|;ylvUYR{$)(wT;rGZH1c%~~+5kvxfCcXq5@TdD zTk(gQzDN*Bo-A5uiy@Z|-Bock01W)0tckSx=@uQ8jx&|`tJ&Y#xHs3djVqw%12A$^$sp&u0z?9p zJ7mqP$xI0GVC>CwZn}s>%6cX`HY!89O3>=+NzLA)q5a z@Z*#X&P-(dsW zi}pf040imK-$Tk5avktcf5Sk3S;D_K&96f4y&R@89Si3qT)JNp_uOt2Ws=z1;wb7| z{<}uhRrpW15!B(euma{}Db{2qm^zMcjJa7>D|dsDHh5|DLz;0l}O2CX+fDRM`SGSeRK)a8CXg>0WnmlnR@#b6B-A| z7pF6hrLKNnHTCahz%!1v0`*Q6$N0rU*sLaOO|_U79&XMZY-FXoX*D|vo~jzCS`DU) z%0e|>w5@jh{pG(_EBDr@1OQg4|{KqMTlh3 zV`w|_v3o~W3o)Z0)dHLAiv^hR$o@)bm(}dRCAOVwufY}YR7=|lHV+s?vA2J6cJ}rZ z8OMXpIi_dd3sey=eYd8J7h#u2!S-Fa_0w!Nyv2CNbCDDM60cXmNHrc5-dLFkL8%B_yuLHt1$H;y~TYU0&=k@Ijo-rs-{uVw;7Na$=Bpa_E-NrI8ILJ@ zZi)Z`h`nfz1?#2b*dCuK_(!doX81oHUp3S>6L?dycz#Hhz@ikg=3%LC73nMD-klN_ z{u7^5Pf-$rFa(^^Rf2x8KOhzb*h!UHi@DEDEnvh_XXb+ErR%KZ??xXI;a1U5Zpt|a zC8GgMrs-uejC&uW;aqhmxI^2MoD(+9?(UVF-6@O`YlFcY76FdL&Hi zVa3W*rm)*NudnJrwX_ToK~?gyEE}>c zN~do$w@&aw)Su1i*zE7j+y5p;Q*cVh)A`jknWpIoOocIz3bWGWyo$oHnKnSQ1Xuxy z^;suB+z}f@*E3&`N(MF}&JNGxE68zf55ZQDYhE6q4FiA-3C1qVOADsvd>LH%uJZ>f zvzBBzmIamX0YY?tr<`ssvp*^x;y zHNp?5qY)lf%rJ%sBwEVxu6KIROUxYTr9((-h{Ne|HDgo6P@Bxr-9a0r2PE&J3}*qf zPXM%Hd#FltuAIIPg?@P7@DesY4c>%lUiE{DHHB7HGNMw2gpT6#{>#q(D`2hOo*h#T z=;-`tzx`UU3~0S9IR-o`@|1gMHRRc%Ywq(5Xb1SIQ&dr!XVz^7|z%ba;ro2?o zj?nV=Dh7+}Dcx5_a#9Yl@q9S+J20~f3@03BTm>{G83W&$WHU6oWmyb`Cv4^*Czb~c zrE-wj;H(9ZC&?DbfwWmaVS8&xPIC(4wI<(4h1xnfr!HK)~)>30}IN-qjwXnfaGFu7; zMq44#76S5|mYu;*p9P)4s#{HkG`^Ph1D2Swkd$Iz@C0eT1UZC9XtW&4)9hKNps-4k zCQ+k_zt97&s1Uz>x3T#FcLqa58F!07$Oaxa4h&jiIX8yB$(Z6oT_);0n#l~p!)Y81 zZV5Pm)8icE&En{~^+IQuDI1a*K}F}7Wo6d-#&hm3U|#-tYN;m_dhA8?KzE(ahNAC_ z+S|C4jNkayo-NOP1x*wzHxFewW#dGKR{;m70`zL712w+JECe`RDqVC@k3S{)k*Z;a z>S;@>D{XJ87WYb{Km?Kuz56MC&u$NC6=ktG{Y-x)U#3Q=(w6$-5mXn8qRDtPd7ZfEPCphyy1njw_ye*Kq2;a#M&cAW3o=2?>57wRP>`m+g0*-ucm+j_&I_OGcnN zp6#je{T7lwxe_`>U5uiAZjiB4>O?ifgGmKxQ`Nn)6Rv{fF89pR?1Xhk%Q#CZ;b#z8 zI4om#%W^2biI}_)U7gW>4tuXpj$gq4%H~`frgU4tKXo$0sJim%+NWlq`$*?y@P3%i zXvZPCcm#1VX?s&k=xQ6e(l}aMK?BJVY^yYI2mRITZP$(c44S+rJ3EiXZxET9o7>=# zP9ic$Z^l>CXrNsgjbbpFp&Sp10ci#pWCHa+Y<<6zLE!jCL@o2CY?_tIxC6OlkNEc% zcynIF!}Nx>DjO1xmXukF$Uahe)KxNHO%x?S{}fSa<_W*-V$pk&DLKPYNR1<20YF5y zBm!QA4V@NafeEoyJLbH>B3$;848vz^_u?_ACkOd5YB!>s`EXqbkD{xj&tq^%I8(+S z;v_>$AB%pNM0H z&Dr9C>7NW~*U5IP!Ox<{4f>;8W2X~U_3T@7wiKv>FpO{gV)vFV3+2FhK#t=ZA%9SE zPsM(^%Okqu~>2ZZMAJ#FsX920e@UNd-3>!=9R`v)VBd@&44^g6n5gSUjZk8w&%cew@#azbg{6a zz3ype-*AF=C~^l>aQPU6onq!u;=&WA$W_|1l(;^~dLq@+XZs0b?w_!^OWI+}6Wc#P z$?YfWW4&ZvWcvsDZIkS5u_Bz&c0|LavPqK_ZR$nS5rm4yhNI!trc%De%5Sssc~D$y zoI5+RM$ml8h^-c(m7~W}~jbGf7%G{UrS&j48S8&tC{6j{R^9JnBk_%d5 zo`8Ad^8DNW0b24kBnSCzCMyH`djX0(cFqk-1uxI}_@87gS|huJ%Hd^>9zGCj(Mde9 zdsR#6m_-3DN0eQjK-A! zbj5ISF|4Y_+@1Dvb%XfxIAubO&@frKyjv3RDTEg0w_Eap3TP78;QN}N(wKZh^36T}5Bc6WgPc>+|Y;lA5~NU_%^8^R{A&|pN*W@=4=b|&VL zi;RI9$;Ie!o>A1}nz00|E1lcykjxEYg@Lh;IV?HQ`Ji-MA!Cc@XS4jX8Y!O^ay6w=} zy5L>lRa)T=R?S^v85?1uQ{NCV84az{X}J%UKV zjiiW)93w8VsK}z1K*Ln-od~L_dzDZO*zPZcWbTW9n9X6QeGb8f-X6E#wU1uI!1lfX zUgF6n)7XwNIWQ->J^pi#dBXIEbF|!6jD4j63O7yYbJCcxm^Dx@85h;_SuEu9HcIff zi+Ppnko@#$>xW){3ILq)6BAYk>;gu4h>@kYY=G{$EDw}RHw#86FxFmAMJIj_j_ zcB*5wIo~yjS)FIL)8Vxwg;ISH^ZuOEGh^hejG#G5*PYus>;Qt&kzq3wRp)t@Yh~lv@0Uox5tB*QFh%HaqTmI zeKN*A$IvJ5E4_qFgXG{?9ou-l#ma4~ka2oll`+o=VxoI6z3M8j{T80w*vbzz>sJrl!U%Yys-n zmdCO~nC`rv{k`YheUq+alcah|&rEf&boX=5zCeihe4ra@!`(ZS;%Hp-(SSwWb9Ec2 z<#}Izd4Wf$kOyq}e9Mu|n{cF)#W?y$)YyLdv)XwS!hU`pFL-?8p5gTiZ%D;{%dxf8FqwZ&ik*f{`>;MI}t z!-nO^_T&uAC{R`>even>&?OV(%q<`^G!qWXrHQFPrw{(*GtclyUiJy|PB_o6>Jz3A>j5G6s8xj~W%^vx3L#tO6?-!8I@!DXZQH)+7JTPb9lMalx`GMC2D9RZCi0+8eB z{H`6AY|Kwy>j)CsDJk4PIm??A?y{$r-(WU($PB!d$3?^*ktOH|A53rH8)ua}0df!= z^i7;js_ll_vTR4JCCY~4o7)>mr_dPC6fRt!PyWQ*usO?CY&l{)#-OUJ35*{UQW;dl^FARKF!u)^2WjguGi+1iRO(|NApQg|dXXmFz5q;t&| zmw$&cx3l=RE%BIo1ZCxZK&L8Ruz_4|IYr7PBK%FUBu^*bjnq6K1WW3|AAc@qN&MdQ z@6rBr<8`4zG1SBGObvnqk95hfwu}76m+R<LY_FKB97gL* zNAyg+Eyh*9qyUX8m?R&4-aB7H3l0eM=oQ@kt_%S7AD_15mezlZi0E9FA^*@>fqT)c z7wVOC1$#*nuOiK7NSZ!CJ}}`b;{52xci`jzQKNfqyUf`easJ(XjL>2hP%f{*eA1!xD&>=46XgF?21Y3# z1u1%OS$$3Y>GP)jYr>UHVTkJ){EsWV4Pse%@7-T8maMzKkAI$Zj?U4y1uTLM z_~@tZ$pLx{?BnnI?+9nm|MBRe*ZkccoXlz(r?Y6C{6h`o_{P6KBBW#b-arG80iNY} zRE;?BU6AMssdhnhJvsqI1!L*qChz%9D{ul}55JO8gckZXg+SB>`(7P%5a&sxEba8H zL(t@|6D{~4!_^PDpWR<~i(mH-4vW4ZSAW-m+T8oEq9siXhFcX+`ooN@zGY3p5`R4h zfgv+*C?LN*>b>n;>>n2L2PT8~@gpE2$hJ94KM;@r>i2%*CH#dTZnAN2$R|prP{Ne4 zoS`zZ2J}>;^l}!@?#vx18yyq^U{s$?h}diwEf?4engBfMD8=HN&F-ru1b?XaZm>JZ zr;EsUIQ8DU{rzsQ=Q_E7T^FSHCyFkxj^)vX%>yzhfDtcF`wB3y=``z|KfAE%&f;w? z-UV-Wz>pi=!B39vbS9E~4=lcQv?c8*RW!m07`I%Bn!s~kI76KqJ#+;bB!m9!wy}=L zQT>q88XJ{zV$`r&U_E-)O3#jdaAw)345$i0@)EMtzXbI)b*1zL<#JRi%I4^pJnzaA z>415?h^Uy1M(GqI))uo53C~z1^ob_!@vIU#a(6j(xll`(y`rhYE+O#&VUD=$JI@gN z9UWjmH$WWI%furrHcRFR85D2R(a4LB; zC)^%1WYR;R+sk&jMbR8w^*ZGe@UhYRvoH$BCyPA3 zPWo4)_}W4!Ex{DN>vag5f6zTY`l(ycmoTEZd+Hp&Mp2=l2N!xRIRlMxRT)b^=|je< zU=}W{+$zTF=7}hT3(E5XNhNaw|VZ0mkZ8=^(yZ6$G}@eVjCf0)gq6 zUim^9l|#DreWmOo*O1OKA%R7s&p!6?RRtMKJIu}C069Q+>h9Wk%uzMy* zkZYKej%VPS0G!AaWx^p3(b(_lD-Ud6V3AIqZ+g))4`&6)mQiTxT+rUNsNUN<11Y2qVcedCLn; z78FnJXs&PRGfqRt_~#Ea6o9n~l&s)v>~>|Z{DLdLn(~K*xbdFDN5VoQ&tCP4Jwz%% zmJ5pw;ZD;ZC`af@bQL}Z9C1jIKxJ9N(!#1iT3ZD@EhdYcQIKqmY9sXb!Ap*@2j$^N z0ei#iQL50e{C+HbY(96GpE~D9@QIS&T*iB|)RL5{sC94DpEeZY1Egz1`$S8z=IqcU zRdOOBT~l8l#W~odn~--6_WdS_hlC?&fIen-tHmP*pELoL5%vN|{+xVI@E5H#!+0A; z(K%s117f|k3xyOQNg@gbf;m7QHkm`hGT?3OObBhgH**lOKo;Dp^(!-d)QgP;I$BcE zP*GHuRWhtBfrb|Rb6^%YM@Kykk;9$y}i@9Y0yJ|)1+;!-B^dfqq zCz<`66*Jj<`Vj7|&8uoB^qOw4&NhtBqKERrRP9+Ff?A97;^$KX9DIuGWomNr_BHBq zs#C9Cn-d;)&MZF|$t_mUl_`O~(A%k$9lxjO&BklxMM3AcnSPDKD})x4hL(3v?Tid& z)99hqfhGhO)d?*FEdS}2Y*U@nb{wRKDYc7>(ynS$1BHf?v3UgnHQoK@!J)z0M7Qbu zCOYfAX{p>3_1`Bv!$(5PF9prvy%EN1GEe7s5qN+{4RB@N+5Y~oEh4iH+R>9{J9>xp zhJeopdoLJrb87y*N{}mW@vaETB2oeMz89oT>pw@L#W}YSCJYkLkQGU3JgQ(<(3>vH zzp?&Qjc096ko9G0TDYgJ0cJF^PuBOV`h6+X8G99|)z#a$Sa1tQ!`W|?OJNM_{0dX< z3~!R+v<$TzPjSP2IN1!pxEc4)+EZ@Q0eCguzLsyxk(ruO{@_r(*@SLbp7jN>c`o0V zPd<*hOLlOa%;J$grphy`pXHbC_z&5vmu1VrNTC8P>C?(a^ z$SBy7O9-itV4zLEKFJ_Lz9ezf-*0MRa{eWx&7(g}7nh@S;3Newp(0`+qvRouv@f(K zmeBwvle71-D>KxdDpP1cuBCawmujp%p2o^q5`Z`?jFl~B$o&(x8x&7CtN1!jVahBV zJb^G>x;BeMs%zm43xpAB8^vA(Du2v00raNufAMSq%D{kr_aga&o*+Ops&#e}9MtA? zMCBKINWMes#!e^`cQt_rOOH{&#^Pn^-78tme*VDGepfp>b7BD$Oyx9r z&&(kib{Nq}D8pIchWx3Jgzy+WiuQ2ypq$6>Sb2|elOW@<<}IvlP19Se$EQ{=i$Qzc zJ?Wkw?W@Ind9#u*GPfCB1~^hQ7_G}(M<$%_X*lf%z(!S6{;Vt|MJm+D!=sMD@bj2K zEjs&dHCqwv>=1uzYzKQgk#4{XfEkTQKknh-8=elC&0)*l&ER-Acv#QLfJby}7IQQF zI-DglFt0<`8(6o4xvgd6>0*v1&$eEnj9}k=bfgCdH(?n7;~41zNjXfmZDQLB4(}=m z*Y|Z_-dmpSC04AFSK#FIqThRW1|frbvWb$7KAL=pM+99Zg8{|&5f&$Hha#P$&bKZGNh~>G9!UVbN7k$ithb>(>_Bw9;t8(dI&Yi#1mEXH-o=)7J_#saC23P50 z20ctA%?OV*v(sEbSFI=>-Ntu0MOpM#Ie9@NqrcPQ}_Uy0b)n9DcQP);S z^rE9BS9nFO=<`wy0LQ>FIqD@ZqCL0YQWa<{7N9iCMWdllWG!RnH zzxxq&?$D4<67x2(bWRpf(Bvg#tF@`U1;zq2{kVpF8V?fgUFukgB1IYQ2Dg(wnF9;M zg|rq1L02G`8}mgI%^Q3TMzhB7_fTBQ+k?WQESxqZ5^cwJTzo+~HPa%@0w zHxKowqAzmYtPOJBIp)-5nuEiGgjNuHTzc=L9u!ixQ=&z5jReZs{W5VY^4kr@eK!q_ z8R_=`NZFVO8WEIi=B}7#Ml*Pr&P`#%O(U^0p97K%9x|&f+GH=)W`6moxPBFe91x=K z(wJ8btx#rOTj?s-G|J-Piqze>kc#?lvG_vGbD*u=T70>|{j;jN%?+xv@AfD_u0ZEn zAFz0zvcLZSYlhkCziu5o-MbL&vZnhjamC!;Mc)G5ry!kt$VMN88#)c&f&~dzbJ_!c z91ff|!b6%h(+Zv!S%GbS01;RcM#_J3A-qZ+yCM4@6p^-&M*{E7DShR0?F&N1KMtgwzBq#)d^-Sz~RVg%`(Df0PhUV zJxsWrOiCouEhNS&;6V%0o;0%IQP~=`a2k$6v*UV)p+$R9v4jSJ8G#UJ0%eDI7F(ON zVX%&w?-scQHbs%-cF*30@sRHV`Inu3nEpt6gPAn=Dhy@XYEH93(=_fpW4=w_w|ClG z@c&Iq6Q?9URsvl?n+Vnqz83kCfW0dj$&#pmth@mk*e{bo431T|i2z3Cc@!y?GY!Z^ z|KjvYCgF&sP9Nd7Y3AFgk9pkd#8N}kbnxD|s?oO#6et-HAU}z?w_MDrYYmn#t;nWQwo7|`VwoD`40$m8A%i8)>m0eg# zCv_Zsm4}^%4whxvDgvtanss~O`C@d_9++qJRD7-AWY_pPvtup-(kBu~olK7tNcB#B zPDIw6e3}d(Z@wPWXIv{Hni7dLg)GR9q{}gL0)_6hnW%(JZQ!xbd$Z+>F9K5K({IaD z<%dqnUo#+f^$7oAzGPx%b{20w$%FJdoyVimUC-c=w5dIIbM0==Ox?Z*Bp65_y=@Ka z(pBrvN1qEy;~3HMd|bn?k%ub7ma#}{PyS|al(TGFEz+4kW~v2D^8vmTHM$zoob%?5 zR=?pn9YL6NAUZ8InlOC--0$q~caQt8I>*Nshv%p7ULWo{XGh3;Okg?AVWZU@!h~BB zP!BoMe!=6&MI+|3=^iX3j(f}Q5*~(GOHv~s8Pwx;Ju@tgKfkXPln!jScBa$ek6$rj z!@E-@V$83w-n}jCTQ^rjLZ>yX;RlLl>qp`YXtN0nbYFU(gQg z=D=XnSw0Vj=*XE1gP*vexg;b2cESq?L1@#7DT7*;r{M_dMvsuT^%r5i=qWOSr>|;E zD>hnAsmji-f-aT*cj@qWWdKYG6r9XLB$|lQc^f5mMSYP&P717zFw8LZ6HRvkvTQ+i z4Eikyt?j6rf-DQ&+{Sk;0QY<`7?3Zo7NDYl^p!MiC0gCV7@yCRDbM6fHX6-&m>Xjp zgCJZZ1BUk!-%q}CnV&|2F4e__dHxdNR?k=go!)OAjS!`@F)aag1@3^N6r_?sOk{xZ z`tSwr2wKkPGvLP9c^f{=REE36c(yAWUbzmOrELYNEg1^jT%?7bWc}$?Ugl?wcZuF2 zMIR4yY=O25C$7y`B^hYsR|_5R@+4Suyj{(W+_rB7d6E||kRco@G8E+V)19XI;6V$;+(OW7LYb()8hYqnTeQrsPMS2q$|2|2e^qlkesbbE%%U1)Z3S7qBwgSzKO6 zr3F2Gmrg?qr4@?nqK40zDUKb&(G^X=@Bz3pB5e)tBF5_t)f7sI7o>)DLI}`xrlu|v zY^X?q1)v2&6jy(0Xrf%kDNhS1ju6KIsBz4~%(ckwUYUIN&?Vq$6_~z2vMu;h!VjVVoa*3@9!sdBdS8*Q5Ww1UUXw3#AzI=8O~ zaA>jVfupeIGPhm^SOVMJ&N61-FjU6t&}%Zf0x}N$gH;l8z>dIAkMX)RwFE1}6-MC$ zt?4=^Y65q;qLPozDtG$yMHM^Rv^ok7 za{_g%{=2qUh>;?VLg`8*!N;_sFH8BwB|LG<)w!&yq8OW#I$3wAcMg>e+hFG_4pt$t z?pjHI7MJM36EzW;Kwp|HUSC?hNk*d#1I6wsF?I#%4d(*vYa#<@OsK}7qx*)j!|w6% zY5xGjgj^8jvzQQ~bwS#ZKNZ|4H9tfoo8;(<{X!r4;=FUx!%|w1hvD^k=dB8gdiK=G zuzxj5uW#mkaGx3_tgf&TT>MA41^2&;D&OeX2eyyc;W(WywFgFD0qb|G?&ab`^dBas zaNQscQ3PeyG4u7ipMY#TR<4~&cnYJu`h!uLOy+%%$I-XipHkM0HCUep`xw($Z7a25 zG3G1GS;usAb^+=0WRRppfPDSmzeeM17@f6%OCHBLaON+f2Kl}D-@njTtc{ce*CAwL zJ9-I%dthq)%a|+(_fThu8Pgw2yiK6Vi#6k|uw=1?86AEdb+XrspC@rAgFYt+J{1j?8#|=|M&=^kCf`)>VM++T zsiY;tF)B<#Ix#tZMPE3#Jpi@01pLUw%FNOVWp)8}8KKPLmoyBxrr|n%4{fV}?!%FN zHBTqWZ414A#+OCIpasXh$YIF@Y=jfjIZei4@!nqz>&+*GNeRBOw5OmKlapVQxqy%gNW*G0G7 zJy!#zN=_esXFETws#sQ$P^VC|%~(00XREFSY59|~J=3R6@j(gX1@HhRJp_cXyX2`l z%E%RpNlOSxONmHaP#Nc}$iPyri01sqxg*P>B%F_waa|pJNM^rn|L%Hog?R+V`ENTv z{4Svb{?gcd1%`C-VF30Law}10hj8ett37G3pHQThT}3e&DIH-&wTZ$Bw`kfO$r+F1 zJEnRc0p^;M<#L{ZJD`)^sL7pHWxGvywkePlus>RSMkI%7Ljs^-mgJM~L?V7D-$pi$ znef41i^qM!5`^peB%458VftM>r^^{Gfbr!$!P#CW!0ob+TPTn4qBH1YetVOEd_wys zGRmg#Pym0DA@omnFdjkXJ-*f0i?Z+Nct6W77x{bwTN6+2$g0~|(Vq8)zU^c5Z67D& zY<5S!ibr?;Gd4A9Wcr5ukMbajQ#E`$Ldju$H14J%3o4jI*lJyq(t(wtz{kk=g}8h3_f_<^#d_QNz1g(vXJ>S00SEKV)%O#S0Pf;0KcMLB&3^CSwxSPP?Wg>d z1b!uG3f*ZbQpHf7Y%*aZ%&CiPIvyuO0G-j@UIarD1m2=C4KeSC$fJbYA7ry(e;f~3 zkvoRA1uYcl^r8erKE$&$hRP@`!4zE)*8hST^KM|`RQ)u$W1z~SDG-2j2z}r<-5_8@ zMB=^3fQdGcLP!pmLYdK-$dAZV=25Bzso+duxFyNVbvzp)Q6zKcgQqOB9bw7SF>WN; zo2$_R(@!hTX;|lM&bR5Yj(#;RuVFHIEx{wSI0EE9G;NcC<$ejoBYTfkSJ9&%;A;|{ zpSKKs9ywS?}=nAu{7Q? zMYpqm0ituSyJ8)R?N!1y*vsiPqvr~%r>djMTW+W=p96*pEFxc$51>LW04m5?bL5P{ z&JU7m^b%yI5mlt(qRnT7_hRW0@xGkB?X|EH6M+e#?{$+J0UrvEBrMNhde={{82Usg zm+&ryDEFLQz91#`+-kO5!;%_i%cV7DSK}Wt&ENNVQK|cI5s9jJi7;+bB>$f%{ts+U zR}kTkv(9Gy!KK7zO)D*XNc?TGLCzb(5LPAO+YT!XQRrjILSB&2*3y{+h1>w=gy+%r zSD@Fe8833uztOFFO`EAO`q>8x~b} zaNHUf#`FjCI-J0mJek zCG#8IZQx>Pzf!hQ;}qp_+TP;mu1OnHjJH+WSzPHVG+aa!Y$3--qm8s|QF;GnI75FH z>G=Y*(`>~5y2)h@YQZ4TuP~P4n}T49&&T_`JL&#%hN!Inw%dae7j6!SP8^uJZ>*3G z=8>e{l&@j|l|Avrl9wn{izq^84I4^mtJ~q8MzvD?cGbKkjWvJAYt5R8xTg+Jk$Ptt znytuY!X49cxRDRy(V$N`+f~#Kb*Ln`+N4r1!k&EIecS0>V5HxFb}MyZ7h13GW)NVw zU8c;YviU{naw?y7iFf^*!g`W#eBtpyPW2%%yEM0Vh@X6Ly=?N|((VE~3v=KP?M$E8 zvKUhA+{%i1p9sHf*r))FU646 zm#$Px@-94Z-D_kbOKu%sQtMteQ530Ra7$BGxvSD>8~&18W}Jm|NN3<7Ut{y-*k9oh z1b!c~Gb=bm{x53mDH;ylP53I5kqeqIM9dqRbt!35YJ?W1-KU(BzeL0mOL`O6q&DTR$+8? z)dFGkq3Q|bESIWRRTPx1?BNQ8#``H`brw>ZtxzpdZ~s@J4_J|QL+lF?%SGLx8WXw4 zs%W22HE}Oc_Md^}(r|V`iVjO@5#V#;&`kuksxgo;PKY8#^K606mrzZRzCsnZnkUSP zb+>BY{|f3`IKyv3^&cL)5bVh?A*3@T(*ctiL}pCl@mBKV1hxdCySn zQZ3AOub^F@dIdobkIG{)EQ=oWU}=wkW^u4sQVD}eZ*K^RyG4>II>wD!f$zfC%Q)1x8r{F02rKC%Qz(_4P49Sgt>xoklBj9)(#bY_ z4NI-8BvwF@47J|SU3UM=Yg+-cZr} zP44+m6CgyF$%rs^1JWndSAU;Qr^&F*=!6iN0aO0mIk`YL09d&$Evtjoaz6PQp{~%s zLuZ4;Fc+PRqy2uT*Xy2NGy?Vka1royKY($oj5}I`R*2G=1K2#vqI?{WMr*=|qtK-= z&l43DRB=Ahh@m(}U_9Mq5|VP{(fOn znkxyw)(IwySx_!SMS(((XXs?YOCy~`*iuEr0%!m=$f2|8 zEE_HcWD1ve0nMvVhcHC;3{c&P^?#Iil7g91U_K6$9-RTt>{rqW6(x-;Ij$yFk`rb- z0P0(GTnj%6b&YgZOiKM<(nlYW<_lHLs=QUQ`><)O#sy0AdJ2^(f}NwP_Q9^~3i_xd z9aAU}hft-Rkj?cj!gEnR{9mJ(l9P$AM>=Yf4c*EU=rjhzCB!?31z4jir@hj;!`NLl zy*v~uf1KBo-Q>&UDw}yeaRm42DvST6`igvP=qms|UMLrx0t>{5;(nBh!u&kGP7x~H zfbyqb)z{%y^`{2wE7D+D+NfZ6fEBs|lv;TTES{UoU>Qg6T#;PS&=YQ1tEMabk28>v zR;MY%{;KK;9hVpgdNTO?6qIo^Mw>|V!-jpcY;Q+k1)v$$1(Hb9arFg?W7}|k`tIbQ zfARCF=gduB#XIyg&hy)BHgu@t@IB@=v+065bD)!s{w}t?8Uj=Zo38wFC5S8Di{eRFA$P7^WOTDi_KBfhzfW(?ZSs5MMo+dK zG`6;)t!*GU0;w)X^7CST3uk3UTLyBfq@-N4cjVES}s)}QRyc%=S6PUb#?Cu zuZ38WK1LZzRztKre6%BiLN<^f4bm>2{@guSE>)c@rvvF{(<^_bI-c>Ta`GNUA+ySi zJaXm{ow?jmErGo`Lug3w;s5kw(8iHnHYX8~%$}bvdiNF1M_ai790STWH5jXT#R9L_ zCn=78QwhER7knNFt6$qPg=o5Ksm#?Cg*S12Bh#}RN zErA4IEiMT+xaT0otGT$Y8w-gTYzD%S`a6t8cP+DMO0l|JsW-HX<@uwAJ25e^9l3HjV#hLCYCpH_tcQ z?d|{GdbY9ka!-8sDLP26(>cUp^pJ1hujHYmtQ?<~(eAT>c|hqn*c@%vlru3d0R6Fl zHOt135&A|;XqW!3asj-(yzXxg`X{F+fE%nbwdg)d*G0yl7}V%GaI?^X0Q2+?32T8C zYKZe8hnPc{5U_w`T5AC!{~AWkRNw5QWalS z8c>zB*{&jN6ydg*$Ps#D*#7WRPIL}9!O-;V#mkpK^c5pQCK_VyFAYFN;&tukM?3?2 zY9?S$(W8WR_RWj0ZJFRXLQw4j>b>B7M^8C6fCM;8wa1gGEym-!{*C4kCG14H{3#JS z#pWQ`D$Y?9peIm=AmzE9@&lW?6~?YUHpk#3%BLlN@yDw(I_BuF(xs|%7z zM{Lp&owVF`gmWTZ3jwk~e%!NKfan-mqT@;TXJfN1e#Ipf&?T}N_W3&dH{|C%^*hG> z)9+lY|EK6Ax$V&fU*K2#75`!4L`^-gl!6=vrPP1FFKJn1>>KgP-1(TRtwyW9!J7t0Zw>ImyRiWeb-30-9 zBAuQMmROcrI9N_{%_T+^dY-!ymg1K9QET-d423x^w%Y z(N*XzerVb^i_U|<(<6oij0^NOn_-3l!ceCl;t?3D2!D-89C&T1RHDfT%nJb=hU9<2 zytR*7-yQ*Z>bXj}-FTd!yQ-)<_gKzUVJvL4sLCsDqaa17lHQO-FJ&Bb^cPBQi)mLm z5>*X?Zgq)4dk_`CVG_x$cPyPkLFthvGtl+q>5%?Oj&lTukW3#yGr&*o&@bAs4_{Uw zN}J_`gwF`zU^n^}>J3Qvl9YrMYFAzAUqB)bV3DtN`#Mmg>N2BgxG8!rAOH}`FbB^kG`V>7LpEuCA!jqZP^RXsp=cgB^ zefYEKpG~iO{!{myZ5&m}^8F+4PA;q&I)h8h*0gGu8N^}i-wVP^L{Sgnz}!FnkA2D9 zS#KMx?VIGT%U!XersFfElXI#oaD1lC@>?pQZ%Ek@oeO! z@W)FGt8&Ug>(uH8)fiVb6*w=nIj(AAW-6g2)=NS9;PfPHwRo!iApx6!F&%hB1JcJG zsAA=UWsYtXkS~V!pQya=?#dw1j!#~tlQh3chLtc|1qijA18PBvT}UMeudWh8Defy7 z*7kv@zgjM{9-SRRm5j6Qe&AkHZ*6Lh?}IS1#3WuFogDQJy9Z%IUol{+enWs#G;DVB zvj8-1)(NOfb!Aj@aJnuxLb@9D!8u%hB5b|b*xRstO_>nMY2e?IS=y*sNoTeG=7VK+a1JBz1_X~5nP zz>F88dB`T9+K!hbr|Wd^ z`oEi-PqsF=BgH1^en(M5Ji89hw=EX;JdQ- zf6#|2A(*Gd6Xy54fy#%g#RQ`_^9K?AXg{0Y&C=_eIVO~NOCSf^?PrtuEWKRJvssSc z_0A4{**H!I$s|uUXrVd%(2!lfh^~ zhF=?G<8d}=->muNX2RU`_pw-~U#dpT@T95q{G7(ww{Kpm!?Bz2c$i!+u3=RBRWh4p zGxw`0Spp;uVAJKV(LE#02YMsKk@R9&ztd|6F7Ea_oEiu)(`0769uFb%sBp9BM(Bo= zw_uUPaK;lJ4YDCiGje%{ zmj6Xg&Hh<5#`$kiVhxzgT2ro2Ef(y1wKEkRUUG>q~Xp@f+6X7JeByzBIO&^qI}bR%#tT zwl;A8@C`^%{j-bn1`qpv8a>j+ZyFn~o1^%zh-7}b==a{8ot>V8=Pf(g9!8>W7TUBl zD0>ubVUumv1XJ_u$a6YoDL${{+S$sW{vUx9wKv&}A~Vb~g_*EyxZoBlU{3BZD;6Vy zJdF;ON){}eIRAQoF(YEke00|W$ccv^K=nhUKg>bO*&=cnml>Hg{~P>sm~*Ob7_(($ zHa$2WjToPIPI|D_{ociSxAV3PJ$NtO6XR$c7t7kK-RQR`yF0(r`-81rsty}D6kdI) z04dl6nm~1#jVRoVZAJL4ydh71mj%5o{AFG%2AP^+83`3Q&fY+<{A3QasXvbM_cHn$ zy{^hHoioy~2Gyk6yw5;2ooSwG(oSbzkTr#ozXq!;#+?1lv*t*V0Mh|tMwkXq0xw;q ztgsCZqxiYveSusS>>n7WozP|6$1s1w#U%L%`VR?&dQDJGkm;Tr^j~!@2y@;!h751& zOZ){Lbu5q1z}+wP99`PklRZ~a?W?SSTA7nT{~((|B?(P2 zSYs?{d#e0EaNpG`#&@n||(0ZQ;90nW%OJgoCujg$4E0s0L= z$HF&`=M`r%Nq-WLll~~p=PXgR{yT5wo`Ky58B($#N623e(;@g|=P(;6?}4r|%t->{ zb(FVO5D>*GxaH8lEAFSd&Q>}GG4D7opq-F)Jl_HzxgQi4IsUQB4Nq<9*i)47sKXs^ z^+{`UOg=Klfel(SKU$04zUy7^w1wm@$5;U-n;74&2@b0q*G~;h?}iD*Ht@QuB{!F> z?o{<54;s@wmVY8Fi$0`FceV^1+ud_3+H#Lf6ZTHkSVJBF5zkdf9^7OEghlh{Hb$*Y zwwOf-x4;9V-bccC-KknrWK)N@j|RP`^m?wtwb9)s#YNhS=-Y4TecFrQuSbu}6iSZm zcmekS!UwSfP$%lvon$;1PhtM}-Zfo!Jy4h=PLFNn3)+FxKC|g@h7UvqKEE>{40v;D z(1uw8yeydB(IK$Zr;H}yB#8KWmMy0Jbm)jc$RK|#q2T-z#YIrIGWN1s8j_W1Kl!|D z79WmXEP>{xOT_e>YLsnh+pDYLjclsHY8|(6yzg~#*NfJu^Tk9_5o#)9TE;8=0H#K> z__sF~rg`iI2{FG&738u?wE5p-3K0|VYOg4Jiyo9^5E-yzan z4=_H+qC6WX^Bd5%@zg_wxW`UV!nDe-xWNb!H%R`_r$8W5f!2QDOY&Chrq;l1*95aM zv%A1WD-nnV5?mLzx?YkL9g}H!&>=M;pc(gDnI)ZZxW{f9UmL2`S{zuKiZ9@DUr-G!eaO@q*nDG;a*T8Y!$KRtPM^jhO`kssL876Q&U zdy)Ks68z$=({NA2+z7bGg9TxMF!>1$k%jlED~X>nl@>0p#g_QOz-1;+5k^#$?yc1I z>k64wzANW0n2E@{M|PV1Ffw+ZljVQ#Y=62ANc}}zJ2i8G1p{z++gl9$UM<1}Z5)xn7gI*S0#WOH9em7$_MyA$=14GuT9sLZf6lh||&BIb4vgpS; zT;8+)w~yRBb~6Ia42}LnKp2xfNvDJ%yPU-nNL$fDjoK9at7s2+dq_8=ixytEp}HzG zl+M68Gn*hlVhZT29d%^HAkG_lRe%+V1{9E{S>$xHsE%%kytubKcl!lpbKoeT)C`uw zVXUyfRtkNOi&i?2xL8Y2txDGvoolJv-DO930ux%o+d`^v)+%k6mjqBCou2g=D3E_` z&W5=+xW2Z_GWZbZjv{_@e*ylt?R(Bq0M$8 zzSngZzC^+$Dg@!uU_p=D$3o5<|D{*55S_VBr?hLckr;w2(JkdfI6KXEsiq!+7AC2y z3S>Q(a6J|afJ%9THIO9H@p);uvM~CdWD3e;_^n+(=dyP8276@iEX8g=plj(JcFwyH zEq*0|%h9>YQ5BA1Zxs4|VE@}@|4u%vTKBB$9fenVN3%Pc{0(I-eX;D;*Dn-)nD>0T zm_y2XpqBG&9*;!jVyDQW6r)!D; z4CrhyO5(|4x*L|T0DC}$zon+;(vr5RiTY+XGlavYbVkMGG9GaorPAm;0rrH26#JZ7 zHIX|{M(CZ zoYHgE8cX-RhU@IUz@nlAS-XPBFe$FS1EDro%^YrY5nu){@}ko_Yee4;qb9_nX}>o$ ze4GKo7$oU*P7Cs-xqe&Y$hun8y@FytE`Xrp098!0G--W*9bytj>a!qyjwqC+|O2$^V>UZ)d62^3|R>XI56UEz3_F=TwqCQRD9 z%AixlxGh1^6eN$XR9n56cdYOixFs+O#9{!h=c}^vV4#D>MA>J$!C34Cf0YSJP|Y7t zqP281O0MG(EjXP(r6wZ!C9}CM_}z!beg(So-Z07CyG_8e3S$M{IjbUul1Nd3-yqZg2{z$|@S7k} z1!9VF6d@2f_fxV^gc~;)R~Rp7EYv)p=2J7EYd4!~{*1Zsw#q2gE;jEV{C)!@uyZ8W z8i>6~V#?KxfwI#Pi+YyZ0NmaAdAO^m24=NfXz$%q7HR!BA(v~$00U~ui&$&KrxV}> z)iVwkWK1SXW#l)N+~(B;d})i@Q~wt18~Ym_DGPQ+WufZm8XT57%3arz8)%B5h*3$O zz@XdAcm^)`#gG`3j759p!iQz=3$XS%41G&TBrBIjRv?L#1qRe|nJSk)bhB7XS0_m3 zw%r!&o^_J8=}CTFgN+a7-Zdvy+tZWzCDQKHEZ3mhzZHrTp}x>oUdfQ8xBP~wRO&TA>TTy&&a0De*XRgq4>VDM+g>S~-ayp|m{TDzVvtPd$~TLAL1c;9Vnk*9 z2Q0t>t+GnEKce|@d@`&YeUK8AwRb?sGfWpD_R5y2jLEclzP+4Ig-G2{PU8VebkIf48m6$~ zbe`(c80uXXmpM#ef@zy43H4=dFULnI0J|&`wJZl!#y$x?ht0VpQc7i!+zGHybj+br z9~UxBmO<5U&Sz=zA?CMsE;J-yFAwLchtQE z@qm^?Bum0Dnl+$2AZ-VUjX-HZYa{CJc)X*)g0KP)XhvK{+=_PC2GuGbyApu-oN(OG z{s_Gq%S=Je)GZdyYnnY3J0{&3s!+L{gzGw%bwZ!ZSsN)(8^AC{xG& zdA77^yU2RCegzhMx{Kb@)zxLdv)&suMVQMqewx46{IL4tY?!c=QjGIn%o6VXo=g_w z=pPYn)QC2tW()rS*$IBwf*%^u_S2_P6Jm|?_exIXx1{Gi4^MA@8NFw7LH7RXQ_kDl zUoM-es$dINnRf%8)nwgp^i(rz6+AVFL5lU(**@uhjy$$Qecg1C5PnB{fUtQ0nj$(} zLGf1tz*=GV2>RrDIWS01AkImMCp2x4ZT9%aIL9k~HHmDD$ItpaT5W2Q%t9dE#FJuBB&s?_BB zLjM6VeLwXG+Jy?#1kjd+(PVZj4RYirFlj`nZ`Haf92&((G`&}o8fmgyeZ!E9JXK3^ zy1@q_XL^&2lNqG>^S}_xmF2+NuueqQ=u9pFMZG&B_}_m*J8&=^dK9F~4I1@lT^loF zQrW`lFXv2XFPB`+6vDHdIKW&C0f&?9)|EdF-R8~nFLYPbFdODb(;OioInK`S(F<*1 zHlv_B4Xz~ll>1&d`2|Mqz)wQd>Ft|QwQBWvEWJlQZ2)dpUg$|+e1+)=`7le-M=ZAk zZEe5wb%nkhsaD!vt%_^)^o`f=i;qC_t;!;*;B#yBv+;5q4|JGf-GBiTY?n|_wU8IH z64X0+4zkgGp587QhE}H2>;2NwM(g|^FFZBGG!w3A0GcKFVw@PkuDnOKsgSLg{j~8? zrqE}v)P^2Jg2mejZTLuUiUHq_MIl_WvR_xD_&PV@0_az*Fbz7~mkt4qX5q1QJLkv0 zVr~x4i6!xDbVr@3;qcI=^>v;bIV2?s;ERGJfKQAL8pbix&5!g*Xvd~gSf{le)txK= z4+a^m1_Hf+d7s(!3p zXb~1_NvK*9pxm%TrWMwlLlCfn40!%Up@*zcg$cy3Xu|`UMt)<$j{coT!yH~=u#VM= zOlqZAY-tp>8vNx$UIpSjfD+v!ym-PbyCNiUR2E)M=0Gn>rB|~1{EY|AxIbPU zy5Rt@B(7QJ*q6aFJ{0o>j+o&9?ZE7-ub-#;7`-Ws6if%L2iam0R*>4&kgCusRmx&X zEi2*P0`(Uw7MAA9{4{NsYuX_G({oXB#W?j4L8o0XJy06dottu|t`C>99Igmi*Ht9f zRU13+c{Rk&uDgl`1Lw@^sb`m0iyR95ae(c|*MWtyJxXpnH<43G&DDq-+U%9?9qCF0 z)zF`YNeZln&Q+3zl}ZfAMB2}yN7}55Rk7OX=mEyed`1)cZns3IEwg)9@3aoL`v94G ztz@3Mfp(`Atx;tkZ^J`sed|>Y*8F6pt^t?n#8G3d()F%)x$9kRSOS0~D8)j)H<^Vh zETY>vDNG{aiK8jut25{>sn}Ni`+Tc z2cIA4(lRBLP^9{$*TQnUjvqGrGmBh&^?AuJVa**sBRcl?x6mGi)>IQ3wr??^Oq)|?}SR4 z)Zu){tfx+w3*A$KIX-jhWv3CO%#xdlkRB9AQgFpVcqaP%{g1dj3`=_cWLtV(*i%uu ziR8kbe{ar6@09Id{`|=k(`);bs({J&xqCz!5*IZN`Gsze^J|3Grs5rr1z}mr5tgsb z=$U?pVLkBgPkdiy3C3g%(Z7V557|r}KLEN>`&=#6nZ^=0>oEApxk1)M!G?9Vu}jms zVwn@ZC~^()@dt|NO$}*yR7FySMj>tG39nPpSJo}3$lhj{`^9abWnZpa?K%CiQXs~Y zJFrG$UIMgNU|{ehYf-O5{oF;)BKKAXC>!$q{Owd+U4R}9Kl4a-lj-zw`5vM-O5qK8tVd#FiJ0?b^qIqdw@CDVA@l{p7EqMN5K3wrl$@$LYO%mmP44+@f6fe5Sfw;Fm=f#PdPs+znP}a?l>b(|Lw`dby#Ij^CvqFNAdYE~M_Zelo6$H| z`?|eJNA#k`gt;M~L+3O#>Ls6Rbd}s{TLPv0;1-fum+l&i-Xg#pjWbBQFc?7fK>L`q zX*CEMNFmPRPWb>%Q5}P@^N>q|W%Gr>rn77SJAxak_Ge^lX+gaei0We7OV-GyGfJ-# z7%|GnWOT?)NrV)c7lQT%k-hw2=%Iou(=>xvtrRCcOa2ZFkp!D|bdg0dmVt-3v6c=V zC7iRFoV$@U+y(0aSm0gaKw$fInCBy(>=Pi3_M?|_m+|bg9D0vp$pRd0_fZ8kh z?2&EOB|rD$;ZV87lo#@P~8Z_^|!43Gc&QNB5v}}n&uczG1T~?K$!)hY6dXNZRMJ+sh*}#Q&|-$ zHuxm&QLC{+z5J>*5yA;TH$D_=7y<-VCNS7Nw4VF%~k-n+L5Ac6hJ6=>@3u*Rz*mHb~$O1T=Ql3VL`is}r6k3R`X zYa;FHR=Q}#Th*OMMdOIg=n_{q4W4bL=~{dl&U5t$MghAof%lMhnW)B4vK6Qa)WjTXy9jIZslX|z zlL-ScT4Fw$Bvd&)ohHtZ@bD5M6bwB&q_Ux39E8WpFPdg;KVASXwTd}H| zAeL#;?kbceMc2!{8W0>U*#;y@-$X1~(sgy|^(|mS0)$_6Efp41K?)9-x$gVfm8S|x z+OIP_(hTT9!ugG8k@JIAu8`VGoafmfMK0!+mk=lPW`oijq<84c$vs5`jH^6Ibdt?k zf_Pnwp=?vGKwwMnMeRf@Y-h}YJ1>qB6dMQN_IR}zjkLPdtmYM08EV=ca*ePa(mVp4 z({ek~j!q$MK3zzDlkj}?YA@hpqYRK!`#U`z+#o_22`@RJy9NfAmf3|oMM+}maf8e4 zbUNaEA%_8XV+sPXvIFYAaDPt}H2Fzu3nA|~_p6+vn+2_rUd=?14hL&jwiNMofzA-p zZo3Hwy-kEK2QdcmBzm-}X%ykC#<1lCk6$zH7B#1L7SF9r!Qwy+r|&B1!t}ZJ<}s_k z#&jFBj1A%6hKmsdX~`pl2S@;X3^oN=+c24>ANVrzWI%9?`v`qf8j8tmv_9?$71@;N z5O`LE@WaQihe)FXbwBU|Q8YuCRVeciup!JNnhCBLc1W(y_;c-tXZWhy5hhP5oggDi zP2aB;6I$;AsRNj45!1j;l8)&{O*AaljIICca+W4nzaG?f!s{a4XiUK;a&dc25-gFJem)4 z3XYsN`4o=^KGq%~AXU@!(IimRlG{r$sftIpaJc^#E zUXA6SGiPZ(co0}xpIT@4AB*vn2gbG$~WF8&w){d61uy@OtSzNG<}^%2baxE655r(oqW z4CB}Eo%&fh4v_9-0eF?60{_G)k%mvn|Ce>R5&fVh+E2!V@wDOZ+X5H&DOjJeBrWc* zn@uZ_-m#GomEoP&Z{PoJc~&_4pryCX>3KfY(-<0Fu(eSbb^MaY5dp8^deJ{TKgSw@ znM7W+x;i(b0eACpN|h8bjVQgO>}WE?C}YZk{u|Zu+9PjzU%}YXRy96uo;%bR!jW`99@4X zV6H^c5c;_^D@#uC`7_n^oPPQ#(o2e~+Z4c|31CyaehFsfD9z%qDE!ahY{-A{aQcY& zGzVLTYDGG~3jKJoYn7>3D3_r(7b0+>LGwE$HsG@$M*mAxFm4wjKK4ztUCS|lmM}$+ zhVfR#s;!7qyB7!iC2J09&ZOt3`*_z*y006RRUd^9$}9Y`YL^ZdT;Ry5P0Cc!m$B;Z zVc`KMn=3=sD3UASa%igUHaJ}j(;@1_2=GmzGO=u>f2tXx@@X~!hdS!zP$uBS5g9$v z`imk?9%S|nBqGeWW0Aw$fW$2@hDx&c@q8W+-fK3d%Zw@W{oWIi$9n>M&~q0k28b~c zTGiScFa4!Awh8}-%HjgG^gVkztHXtOJHu1W;~5^W36+z71Rmp1A%n|hLL@g~h8ngg zf1+FI@P5Bfl4+l%i0pI52`ZNeyQwOTQ|9!2GM$^5a~Q)K1Ige}t?E&up9wUL@+@K= zNI1B9+`1=P!Otqw3Bf~tIHkxXm==(u&oYZCeXPO$P|S>Yt@lxW~#pA$W2ejUkL8(^xiPfDb7-|Q*()sI$dQ8 zBV>cz!-j#!F@n?F{ar7bHyk@fzAuN>N^|K%sGcS9`@Q0kflsYIy4Szmngiu4VwP=_ z=PS!)hBCV=R;d&GFmzB~2aa))pk*^^r0t~L0>OBem|3+jHCj5)lhGCQMp=y9>J2O{ z_V`WA$%QVM1kvz+PTIg%`b}^c#Q^G=# zBbJ%stP?VOu^0;{`gC&}?@qeEoFOybe@kv+=XKYOd`%X?Zs(Y!hrO`d`mi88Dw~1F z!Qdv3#+YI*fc;aPXU)Fwz`6S0hU{A!>X*Si$jRwM=w5!ucm}gGb`Mk!Ve^wCFgt@I z3F>Y%7ijcey2bw_OaoUAiG@{g!^oR@ye3cvvYw5#cj7Xkc8ctTv(9JxUV%A~b*{=K z!&9A8hDV{|@PwcZt(q!43QZv04Ms^kSxk2|wF&YO_39hYVvZVxG}LY@ub1sBFtkMB z>?K?e)~om)l9Gv5M+c=jhzllGyQSgB?4R(tj@sX zO)6E)DP^XV3TBi*6N+sF3@_Fxg5$gpyPCsj^j~ul_sMh_aNh~3VjJ1 zk)5!!z?D$ak|ICCrZu$Fb&h$lMMPZ31uVu0KeBOwvz%+*1^#k!EcW?Iofe;!moek1 z%K;^=aX&XQ=c$o&)TUo*%N942&@Q$WE)TPe(VeJ8G-y+$7nGUJu9!YCigV!}$&!~D zU+!u9Y^q&}1S9Nju+NHW5uNS9G6&3{lfTi`(}8KA-c5wTPc=1>uXPEu1|xNLetL1b ze<~(claKllz|QDOPvl~tdS4^ihA=8w!~{eu(stVkJ8n-56D-(Q4rpK;2L0f-lB@H( z4JF?&BBz`xD@piJRREKJ;_VkBsIi^u2rdr0WL81kynZWH7tm5EWLk<+n$}^JG;khe zCEpp@P7@2ml>#(smEtv9j?<}cpg>X#$c`14djFVktTynVwjb1we%m%cHi&?5XG)En z`4aa{W!gS*O_kP_!vE9(S)V2|p?RgLv5VwSn#K!VXlQ9I8$>j$j^9HCH>Dp67v|in zsC7)c(K2m0U@AI`ZyeEI%C>=dh^<~-3ft2af%qrmXpS(cv@8rWK^5v{a+R_2AgCE; z7IpB_7>c-D-i3CQ6MDQV&O+yqY%a_+U>0YQs=N!)H`8L1IkeCV!=Ye@N#zMvtKrQ{ z6IDgN&@vid|1VxqU6)TM}vAe?~u6Hl^vwG8CoyF-2`$oshwi4@$Kf$$EM=f z5>%^I1LiP%yDv2tY6vzvPW3ir(|J0^)EnFrz=;ev6I(Ud*uO_CC8xohHeOE1zBhfzLX7%ZK9I~Y4%uBstEAkDgB(_IbT#RJC7m|F z`xHvNexn0ALKtXY#zQvcNSSg(r>wE+_rO!Yf29gu-_1}zV5Nz}Ia*PM zU4Sk@FSxO1*U!L*v2uFN4PfDHCuB7%bk+0ZjEb(lsl=*qB!SF@;+`?gklb8@ch+6T z@-?w&ULuEK)`LoO)#qqW9EcI53wmTJqbkVTYVAZSw40-vn5(jD3bglVpA7uh5yK^evG zrBHWh#^?sYkT&O*h<((ch^zZb!C!AB3gQ&B+*VrR<=I(c^7hdFc{%Qdvf+lh!ND7& zBxpmqBNvmRGHn@q+VX+?YKl^Ezb$=GvlDct;#-YM6>>B8Pfy<*b$1_FH^s^*jg|%@ z(PstGgrB{2deZ$&eaajN;qj$OsxYfH{{n*;O8(esGWcVYUG@27{ldH*%1^HM?(FRJ z9DInF9;|1hJNF?LB&n@_pz2d<+%0)l1{rlXeMOlb`Qtn{y%>mnW(6$%6_Emm-VBa< z(lvFv8Xh?CR>ANeqlj9!kIL496)($~pN2m)(R}EH*P5~88^hy;1vMWdf1KwD zK!N93<0yp-b#5G^+0zO=-QWokCElG#3`5pg54$-RVynE>#|^8bfg`!{Qs^d>6j@np z%V)d7nFi1Dt0AG<;=dv)N)UUz7|nfD((>7Hl&dJ8l36O$$K^Z9YMq^vAyM!E6rpjG z#R3uB+8jeg&RqB`{p1e>Z$* zUAzxP3H!|lTE-BTJ4!2C^gj8BDGDL^L<2JulRvoY4wp~xH#4v#G>f5rZ`tJ6Ap7ZF zjSfX!0C%^7oYv|b8N%WLwDge5AWkI38!aa9C)w=;_jZjRr7P(kJ2%vm*6}LK@_D6T z>@OMqjQJPm$!rWE>7ZrPVhUiZgne_X38tpYOeSJg8R=MM$W&e4E%+aCysPLb=aB!{ zIU-n_!1EuCt^yK-o^%`Mk@38*-jwVR6C|u+>S)R&T;py)*J89M`e=?N)*DEyOB?R7 zcH>Jlg}NzAPc_ceh7F^5Vq~P5akddWc~fJ738Hg?z5&a*FVa z&X1Vvj=Ip&^A1|0+|m1Ao&c=UMgF+dRkl`M3jj+Y@Uy@}g-tt2QgneZ_H2^PD#41A zQWbinQQ}n`4dv!z$XXA`ZocUfZtLjy-MJAj=Q3?ose)66rQAoX^rRZ))!yuagWs5` zvI@)8r9;&zu(D+z(rLZgXZhc@+gn?*D>HWn=mbY8M7aX@BPt-QNkFhtinI7w3_B%V zq*r&+PlNXQU2fOIRC^#qWV4OIwv#)WwuWbg%^A-Fc@i+ax*SXGpknN!o%%xUOv#l; z_G(kxt4Wm2AP)!2bUK||S?Jk5;%;Dic3!xLhC6B-hsPCBhYjjU!jjC(A_{Ozm>&-J zN1=Q0U9NUz6f;(i3-iH4G3Gg*UFtq4wXdrTY!r~N1P>v{^dq{z3?xW#q_kIi5o^&| zcJNoeV96c0Kk8&bSihP5jgfOdva;$MpLLGUPNLt)@qPbfbL)4Jb)!X-3*UK;`{#t! zt6|~T7<-zim6HGr)5(Wy#JD1M#?IBs8UXxUrT7K0>Ppw#>lrvFr79wP*kf>Z>D9jtEHJ_j5q zCAccQQ{9qDyb_zr3>EXn?&yeeDWa)XJ~FYwAG|h&PYJDHgR+tnQsv?*J5jYzZwY}Z zs6FABN2&2Z-w-cCG^-}1lS?qa=?m5fig+WZAgQJ;)>^H%d;ERH7F-0X)%VO!2dUV_}*GvIj1R1d0JvnY#h zZEdCl*yz^NgjrzE8O3)AOTM((v;rP~PW19ygk!u;CWJ}=Lm4sVk)eL15}1gPeGGKy zdX_Dwyf;DCF7FifwZ*a>6RPB>V}%_cz|ya71>NBj8Co-8@(C4On51^2B!7XzlZzbC z7fX4kw=XWp=+8A)v1)wSMKfzK`EQ#M{|+(TKgTI0$x|y9USb59<9IzfB)<}o6!%-b zLu%Ml?a=Vgrogu&#YuZ`fo5ol`a6=JW$A7{7W4O%<-FbK6}jyfFOf5i`u(fLWYF&m z?ov0RI`Z_f%9shk&I*|!*Rdp3Uul}Y=pklMd&t%%W@LEG>?6IQK9+se9~Fdr4=By6vh zQn;hI3wepbES=8#D^P82q>R)z(UJF%wswIu0~J*p-m_iWUG&f z2uGFVmkIk=>q@p$Q}|(`VbQUx;vyTxsoz;y@z)=_uTIaq{cXaqSruSMN=m`90exfW z^<>R-mfmyaYb`7aUIJGpo>0{xm6y{!*+2jFO!F7%$xEqm$OTmC`3pjoAharvnhJ3$ z!#g6QhNI>{vR&P!^)+Ntp@Nw@ zatOI2mp0AxJC08GmP^AUZoFbVT4D0IRTUemlEr>gW8s3++-Mngf)nAaFc1EHhkSk6 zkS$4C?mu1&JNPWYPYT^viLD+~NPmN;Qe2^I78qJc8`$B6_`BOE^M5n!s#Kp^A%e=_ zR9*DTimdYLp*#V7-EN=~w|2~xkK+Y1Wk7rgd{!frARbK>dRI9X1eynieu$*=4tOYz z0Vxi|uzu1aF-$%ajlRGogc>UfH(h@02!(@fb6mTkl|H5{7H6l>v`cuUWIUbUwaqlf z{HbB#J?QSEtpgM^HAG!g1*>*f986Qxa{0s63r2g7_?!%Se$ek7{b#p-eDwC{BH*O0 zHZ|@V6)yXD4@T)YotIraA8w>~&+5*95&0c-$FsVI21qBQ9^o>O*3t3c<@ z>!D(fYM^ADw@4nrA8%ZUGdRP2E>FUUm$R)ID!kT+2p^S!g1ourxP?ZIgq1~{)LsC4 z%7awktH&~}BTe)U;=y7JW`)s+7BpoFay9SL6tJzqZx&eMY}t;Lawc+Pn#UvLQxaz+XIwU1<*6K zt#DD!SxKRt_ERH~Iw&@Wr&nFLPY2{W?XmZUyEj-(ysqA0(RZjvnFqM;`OUK68KcVF z?^koIm@LjjAc;r02waHb@nw3wfWVxLTACq7 ziFqT(?#a`lm6r+P(6*~A^8nmc)vC;DQRVWb7Jmz?e1N64uy(y`u8}B9rxda$6o#y? zUDv`jkliauN!jKm_vA{a=qs&k>Qp_!J?TO!=}-q%-33+Y%JQ$Z{m2+bDJnTC=Zznx z6F>`8zppd2nuDYsK&G^WB$Gx%g27zuQMqJ{3ao2zv5%C~jM!;v(y&r-vm9OnVh_a7 zlgvBzgMfhn_!WOUD|wdxY0cx4vnl^LAxrD}S);h8a11;?m6Bs#6!^7ZGkV>`3j2f-q5vs7~1^6e4^AjpBM z7{^ugSJul*KeqPHu%yqRItDH>xlj8DDP&MS1<{AAdHrL zuF&qLuhb?RJb(6lEhgC#kZi2kf|1Wqi-9J?1avHYbQmy6wnIn$L==4EL>ioP z*2FdJ%WJ4=!BP7Rik@jQAd?fhzm#%7^)kmW{6b{*7o}Q@AOzD`BZ74?R*4YxRM<)@ z5)M`J{dh6Ip{fq}NCv?@P&=}{=I_U*9$-%ovZXr>GG!L2Wdrl7$nMMO(L&7Zg=!g> zR=j`GeccFF5VBwmadVVVvvLiSlQA^>3lL;oJ_f$|uf$7$U6iE}HGMp$5$_5@v_XOM z_jm{dZ(uEh`f7L2w5!8!O6u1Vhy&H4H^Q+nX33D0S!B#4!Ky0pbec>|-D-tw!$CO> zs+hW$uqYKH3br;YLa8jsS((s^LYV_AFKL%J#S%_P}4dIhm(e=1uP8TaaF5WG-ht)r< zvWzt`q$(VsO}BQ=nlG5o#Iy3xk#vds%q`{gW%*Cow6^a2&b$ACeCty4bGlB*2?m86 zz~}x*o{RF>^_4|)cU}?3!0D&9idb%alj=rvKd4NNtkLV@HtN8|WYemIe?kxlhU93p zhVZbZ2}uf78tzO`Eb)`f2$e17?vzkwx+?ymnXk%}(A`O^R_b0_pcGK=tQ1piEY42M z$w?JqZx`BBppQ4z3bNi#a3CB3I&>Mmihy9tG+6}-0?0Av@6##s!cux(lZijfRG8kG zR7Hou8sOqPsWY3)FP$ZyU0W(^1DmGla_m4st8;1#M`KI!);?@jk--kTcREvTYGyW9 zL4ylViAjl{fsZz3vy#(UF&9ny{(L<2EXfxH)c^}Uj`KMbdd6gIwNpQ8ILDpYvTW=q zzy+_KH23QGUGEUAr?0x_z3RfV*1RtCT#Xj_O`rNvl*d#RAXl;CT}+beWE+BZMG7cC zpLfpQomJl$vxmBSBd2>ii>Hfe;r3XI_4J|OwI#OZ^r!B*Yh!%WrPu925Ky12_D%Pq z*Q^(ghw9u(aw{@Ol5gH87#O_DlrqsOv9Qyl&3d&YTt7ao82;GJ?m#hrD608fzH z&L7J$ys1tqkcC+Y%nmqJF=-W_0Wy2WM=(l#J=96KTrcl2d?69&!E#qFJT<0i)wPQPCswg) zkw?eh+;b@=%J(@@Oc9X#hzx)HWy=P`qbA@ zdZ?ccCGk_M*~*J-_gINS1$gB;%UC+xa@hq{PeNJVc-UuWMpp)^4r}roFURqKjjo&> z>E^80A!pS)>>qbeUSAwG)KQe(&>FpnHn!9#3+CWe-%2kCi@@Ju21ig|K({=HS&v_v1943^$JB%VgAu zN~W;xnu4+eYb^~8wW32PEy<3ksfmz2{rJuM;T54XFsc3sCneQl3b4pMskxQP#(W!3WbXb*8 z#^kPq)O*&;SU4TGyVu08+J!aIuuJCK=-?)XK-Ej;I>$UrrdXmUo9G2stzxN#%r#b1 zDrT*b@Io13LbX`>Lsmi9Aum#`u*!Njc3KwM!=Vb)x<2DLyC1f8d09X13LMyq^VMm3 zIxSIM0n_GE2bwyEkO(!hY{3#Uk^al1fvspSsFw0BKqnqBV>_IyY>GNrdT24rp_49_ z6auEMPsBTq(*Z+|3AyF7}FnIcRlz=&fUBXDW}t z#;C+mGbQ65VYxpR5~o`Um#r42_GJeATk}xc>eH~fBF!sLRtBp$qFNQtHKI3~ruK-g z%)wzJ`|><{X0R&%Z}&;rp_E~ZaK)l}^v^h8{G!?fF}M@m6S?G5SjUW6SoB zyT(@9JmCUc3;K;9qT-Q#d3x)dndP({GPEPY z$JE_+Ym8<3$QBRh@nS6+5gxT<8a(UK(d6$e|4DX5>!NP#@Atl=p-1C%NJN&)>|+Ez z*+kU1Oh@Vb&gkRuG68U2xb;^kEu-`r5YT+~RI%2F3@whG@`W?-XO%q7r+Qe(7vcBS z?S+$b50AZE)i(XH;6>#si$d{yzMk;7+JmWf)%%a0xSH>pU>xi7_QlP(tg_BemqJqXYuUrvAk2)$%HVdgZ5yFF*eEb?AZ?d z@Au?U|95k9>)F%qH=q7xYv<|Hovo+OcDBjyTi-uD?^7 zzL{fUzqbUWutP}fJWDSZ^K6#mcfGTNUp9`@K{CmcjiVvy4D$NTcB9TT9^51w+wINh z^gMcfb`1aA$YvWOf}>^+7+IMNMvGw*tr4bqoK4y{YlWg-e;?BNJKw69r>XS(JSX#= zT(@sts>87>@)%R=!Kn7DVRE^+cE8Hfq5H*@tPSY0`z`t_#FIIi`1MbwdHk5xZ8w^t z>6>i}{}FETIL!z8r}BOSb;#2XiSIpdF7`WIFX-N;L@F~z^i2<}ql7Djprs0wr-Y$_DW$Le6JI&4?VXfiKHrUL*u7X=Ef|G#_{A1 zz%`y-FUD97E}al&4wyQnM{;}vnvqj67U95=hRV*?7t{KBx8GdF5zX%uf98>NkWOJ^Oi^}o!8yKvo&Q4yQ9)< zjdqiOBazW4|FIZPl^wYu2b|2J28%TT4}>J@@$AK*zvDTLo1z*4d6e1&QsUBFRe z9!?pUj9&nH+un(|D~YQk>UzN{(g!UijM4(Qf$`+y6)aBQ*{MuN>8_(_yPA_P;?wA)SFlsdED`D`#rEAPk zC~sr43=KUg&s6mAse<{64;lPM`>ay;BvTSgYdOJRSUJI^$BcFtN=s{eEGn&`#7hb= zR^k@%4j3W&QDd9lucp?9#X{<_q$1c+8T^y%eownDpUFdCoB;-_C^-#=8S;idvtnL!=0pr>MRX$AMNSqPDJTdcZCfBtM z1Md7_tnLB?y}>M<&Nsljx*<3tUg)c(&PmhlWq?q1Osce~M~!8S?m#RpLbV2RxRR+P>$ z$9g(rpF2*Lj|_pF7~7H~CYt1cNU)-d!Vkb(giZ1@Vbp2y%Yp+(2%$w|nU)Dkt_Q5r z$)y^XsAkRsqn7~ZR_ih5#b!_UsBR_(t&=*F0!|1*hPaf#I!=clCG*Dx!IqQ{+dJ(i z%oeAWw;86_DMdxREX;2y#cLKu<}&&3fceQ66W)&?LK$FkMmnG!t*A^e93PpWq^QFP z3WYj=fHa?LBq?fae%#({5}2L>*bISgfqpqxdbw~AD0K+(17R;IMzzQU4K84W!qq9+ z<9UWfeGmXNMt+=(^JL!8p#d~@gdRQPd?Psy!rDCBQPe+hXl8EfqaJfr(1N{bT(dR+ z!D6IKXH2jbS;IZIKB#IFn9QRWzP5TZ#x}7mt^iD)c~dPW-;`zN%^fW(&RaIq*gb6u zzmaYpJ^CHooj-Di=c1{a=*NXglv9QPbNd4>TU*ziOarfK%?MkofJ;fr*Q(fMReAo3 zwJ1yWvkF9P9n4ZOFb>lRi_%=WJTd6wh?qE+<+?Q8kE~86WF8I+)AuOe(T`*#uo8mG zUXy=`w`L@<61xh^=^VdiX%KO4+PvA8LW|!-fGXz^e%EHLe5%|QWE$v>tY;WBmJ8jI zOKAJ$>E>Vi=eryoJ_|fzR zH_13L50HJuG)v+f-AW~k7%!n*67#5|S8~+NBbb{>t=e6I3Btrq{3!agr-tp-5RM7uwmFhzWic(71D^}wOxtp6}V|caGFuG^kj-o0GB{$zr~<4yaKCs z_Xy&H2x-*ij^jC@Ho1;Wp-cbuAg4%>PJfs+9;yjR`jdq04czmMm(zqrL6LvHZ*hL2 z8JbnYu{pym$tT~<>3nf9um-#EXz|IE(mIVjx|d8x+6W@C9cKYWt_3C|H|)dqz4Kf;3`aA zbt(amo)m$p*kBaWpSnRNx7w`1jpEwrtx;v^vo}f$%^Yg+r|t3e)fSyYin(C}hdQrT!>i|@i&4?FD?s~-?s?)0tk22zuBar9 z+t;OL^~}{3@mf9+h^~Y48xNd{0ZGYRT}yr2Z+_E^-mjvf^CctkCN3%92mQsdl_FL) zkn@BXQgvEA2Z<}?h#l?Q@?{kvPvN?1^AHAo4kwg>O@+^Ei))q#!i+%*|Rz?s5bTCD@*lAa2Orkj<3jKB~6U3@>x0 zR#UP}iT+xg;gLTn{LVuij_$dVsGdlzxQwX&ZFx2+KO>}g98z9L-5hKE9GEZ@mTjmM zNdikvfyyX>8eM%Zp{;5uj~`a%u=&$aQcV$hG0gzA`mI3!9@wqh7-Ls#2x`p+mxp;q z$&YrinO!V*QtgmZ^NfBKPqAKFBEuGE>-K{aK-DTxABc*JJ2C6hFIjWlD54nVLte&w zXpZG7Vv%KL8x0T^nvslTt(k5!FuCL^m@uBB&E?W{G$A4<5IIHb)8@V~E8(|%eZ1** z&j{Jj)7A*jGl5_Usa6$I?7Hr<uGDI*)J97MG)R@FuxyY|Gyp z+fSc1ADD)R3+i?0Dn!Ck^$~edff*4Bur7ccL#WkJch$F%QvD?Qe*5WW)ajkHxBB_w z60%f?Mn{m?bzN`C%qXOR`+HiyWP3-cUm|A&`?Blo57t9{eI4yTiGLNALfPV_P?Wvw zPUf>a-)1Uf8@Z1-$4~qIL7j}*xz-%i)3l9Tfi|B#0n&i}Eo?%q4mmh%UfwbH2{78U z%X1V8kR})FXup5aCI29R?-P7Xvatfo_VPCEvVwKB#3d$X6r8f2pWpF49IO6OxjotW zh1DsB2f*j`Yw?AvP`T4g`BqGS+x*@BR@nwqzq`G|^t)TCes@Q*I!7pnWV5@Lsa2;o z9cBkyOhHnD>l6J*qi-%3b0`Ec%qHInxrmv!qIhyQzX77bT! zB2UonOj9(%NfI%Y=IYgIc9ba+T}9ydh4~2T&jFzxv}Q+HSIRQ=VjqDG6)TL5v?%? z>1JrMX52mR^6%FwVI8G<&JO~`a5x)yk9khT`Bo-{+{f7b)c4unOL!t?m85z_b1_U5qvAIib zS@vFmFa9_Zb7=|0U}w=p`tIb-$?4B0gdDvF_ez4`)K5;24*Dmj7yVbK?@kVE{T^I# zERL#ia@<#IF?m19ZYR?1VmBJccjWTNuHBi=(rl*p10hwkm>FT87Wq6Gwj=*q0~V{2 zo09sn_ee6$@to6hWW4ih(F$PI%ErJSRe@FkPFO(ZN_Owvi461vEz`35XUy@-ZDCjm zoqupJ%>?Vg9b zjGQqmf4DmTxVWNoq}y~Lh#Cs?F>iU%Nl@53JVBxF@PvfF)AQEB$8=hkzr#~0NrK)q zFjsF>d;FZ%oUW>xQEBC6R+-$5tzi{DieJRa9sLB6Sw@tRG(^rT8zP+nwIA3ZL9pg5pu~TO z7eu~>Y@IqE$ebRb=*`i&Sr(Ra`qBCz?&H#&???3gY@}N7gbuP#;7PL(GQ$ybawKzm zvMoI;X%-Tt_S0i@`|X_^p|roqp>Qz7@nb@KTovTMWzN8`KzdzRTsRB%ze=wcGyJ4o zR1l(f{!@QnaflCcjiSCyfa(1i+cBZ$N#||1e{^yHAOymvrt&i#0`p1Q7f1Gu^UR2F z+`TaQ2j!THx>QImhSHmv?9FcIF6ga4X|-}?3=s3uM$CQ_V-yWuh*-NRgrR6BZ7^)X zOWrn~M9FwMzjIuwrqr^|k}Fnuk*RWVEJ9LvH`2fFG69V+!HJ3R>ShF;CfbQM={qLc>2%<(9uETTe6g zsOJO<`e8a`2R<~#sBA*cTj`2|F8<+K24BB_ zdK7@lW+lH8lQHSwTa42OTC>aj&J}E_(GHJ2iJ>Vlmw?ynRXR$vc!E$96JJb=Ey9RH zU~2(AEE~lPRLJuABpxe2Kh!X&v%jnUhuPJgR?B#bKh-OC4Jv5d7&bCYSJOLN``=5* zsKXds4be|}mr#t`_zqHyP7-QPW+j`yBfWe_$j;~vCY4eux9O(tHSh~#f)zRgRx<{l zop%?9ni|?r-r=W5|JiML+8P;=N(N<^xz?acTidC}@-<;vJ*cX^0A+?juBsYHH46Ra zUH{NlzP~$U9hAW#K+v^tJNj8_7er^q%lA>R2YKowu@?P#d z-`qfC(c(|~#R)<{m>UJ0FLLg!MqLW|t+RqNX#&3)cs$q!Ib^gL-$c!tE#46tiHFG? z;ya^c0$v(|-`59$%I58;GaAvjuIPPACYOXChrm zM6s8UC0X4I(msae%xK;>f+enE$W8|$#0ZkBLKYLT>gpLM%;pDxqkw} z+uP2?{^1Jvd|_V?pH;&-El@%vp383 zK$cYK!&VorEDw?;L96@AnTd#2HC46$Wv6-G{ps}0Jx-JLzw9)@bL`^$UGJjeRDEYn zy?gdMo_XEVX0UOsL5l=!W(AW{wZ32FGLcC4^o?dZv^k^b+sz+7*2%u5&8X>b;SB8#%&TENWj-;*t^MgYXq2THbY>ekK`3@sW+_;uZ9f-*_2Jr7 z*P}({bJU_5Yu)RiT=(3TEm={7;`NnWdw}sT8sOh52;O&M!fH4GW*{-wYC_)2F1IVE zfEk+4asA55sTk4fksYue`D4~2C2T#4{E_Q$oJPEL6db=Em4~pyeRv!k#%{H(7{~6K zoFke&3JYkD)R^`tEUew!Yb~2EYh;f+>SCw^r*=*~} zW?AQ@DYC^}O@vO}OdPH%GtkQ;g zB{uDwkjWSoPA-)abrmlIZDiJBbomnd0xez3e`7%~NzX5JIg1ru zm=;c{biQVUK+tTRH3ci8lzO|*BRkz-Aq%Ey0i1r9PKfBzJUXL+^vq=O1p{|*x-04x zP8)J!&f?p4dC@!*s$@5hBBuVAH*A+fJWgefOu)h7S%mq9;X!!`+HbgQ5;bKroDEgW`J!Q!ZT1 z#aP8Y=eCyul&aCZ%2lp(v!H~mMaDygW+#^S$fGSRs~eg*lDb)1BDB424q1k0&-zXoVyrrJAPudQ*#S$ybC_8%c~Om+J5@X9Wh1E)4QFHwC7AUAZFC>b@$Im|L0qMTJ_QhY!h>M^25%( z&Vlq#=Rp49o5R!Xt$UpV>7UNw>6Q}t%Adm6HD`pF2=yEHEeBojrqi|8sIjkp7gBe_6m*8m&$)HOMYq9cd8#P@tq&fb(>Ty>6DqUYeb zR9C0&V9)Y3=3L#>C^3hRM+dTkJm|Xa!$m+qeL}D=J8iwSB->b4&45*Jx^ummPfxM3 z6z#NcPGHvsrn6Xg5fsWk$+e!%VlA7tV8MT4d*)C?kzW-(6sRb~x0OOeigMG!6PTYC zK9!fVR#Nk-$;|b`7n#)bpPPisx1ppYq50Ce#0##bG3($jwX!>#z+g~)!I1KT<@E)XDD8w6p3kT8K$c`z>a-1k_+F*t(ugDxX#P_|y<|No zrvDIMR@1BP@O^@5H1;Io`Nqj&VI~gFhCOc0-f+wFVcxnSyZSKp5O|5{8TLWGa!KJWTD1N7IaVVH6MhWI2G{N1j(SH zwqRqWBNhske54j9NY#g2s-_-Z7FkS>wJj*C2TujcWz3hLfkP+{!lG?h-DK2crjsFJ zk0C7}!X3I*uG<9H@B)4aklvDNTE8J!w{i)HTDV;+8C9c-8a$p#YVZVAQ-g;cH+*q% z+E-4!VHHjDqz74|P?|PfyV@6ECam=(AeY^vU?zTr1-ej+9__S1&;{hzj2hr5z5(e* z$nVW2EnF#C)Zl)#sIA%L+6dYrzck%fwLryYQEY{*vQ)-+F~7}&d=qgm9oT%H0r#Y! z)Pf|IGMH>zFHgpgSr#W#yI@}a=JX+!nTDfJvpi3s_-)D}-)HFuPzVw@(O0&P@f=V( z6_{hJm&-X6*?TrkXsQATFPSc85NR{Ib45d^L+p#DD^2G)>opyv5I|3`&nTIbrtRoB zf#7N|AHtTK{lpU*Hsdc^E53akPCIIXMirO{g$L1|SW79(3&dA57CwS`p$T9rLcRpSLr+fjk(D=~vrD5ms9O=Zj3%FOajhRJLt9-!qV zk6z(^kgLe@rM1!aM(uS+K>fx<)<;rGOUKkuI8SE@_hr9gqxIQn;kJ2?c8$qzyt*O3 z1K=1ESTzu)Ob}s4`e=*krIYqBy-sp9DxY%q)taki1*^5xdCw|Q^Gba=<2|n+=ZUs2 z)(iSG3Iv{qmEhK+Xa>b5bYhPziE%pR%>TfyCaXiZ-s_ zft0KKa_fpdPoV==Mq25%z+bb-pv;1m^pafndEgnTIa6r*W&^jf$pa*IC zFtem*S``uwTp74?O=Fa6FsEO0vPn=4>O%|B z7I2uQkz=KtLoHeA3rJ9M^H)%3)(KF`UD7=JToT65G`A>E#o>}OT%yKOQbs(h!1%dE z46uSSU{orjXIBbn(yB_6>{diHR+CF=dea0kN!emN1iO5=1q+&m$O7jgfgjR_^w-5~r_~xO{mWzI3y<5+YLru(%v@pYoc| zMFO!rI!So=R2Ei)-z|eZJl!i=W#fxI8(tr?T#gAwVBu}rjj|abcVx?Ar~?NU9BM=n znZo>T;BHv{lFV8iZFNPiEr8fnij#NgyO)dSsLBoo>A2k(>q~36mkfL<*sCwE*siYE z4rLc1#ew5G%UR#f;^|^qc##Vx^@Lq7$*j@-+!xCbhkMio9?}m^rz4)d;(cu+zG47iL`l73_V^zB*a;^@bt#{hZ9=|4v|l!X)Z>qyqUc9$-&?`EB!e0x(-F;69^l($=1XlP@&3TZgfF z7AKfnVTqpUWFnZ%nyS}fAiUobm7T(rH^pEVK*8|30xwD^SjqXTpDIOIVP>cAF3A3z zTtIr}?Zv?67;@@11q`wO zjSLy=u#&$Avo_FwV%!(4lF`3OMx$(399|c~^!Kz6lgVIqH=S#x%yzX8Y0{ieboMZL zIrqInB;D)mfhvDW*5EsTM+{|X5L-Bx~&T?owvI88L%@9E~ zFi=nSgfmrw%pmKN5p!0QG0FI}oGX^#$WH;lk3gMdA}R#W;k_w|kqdl`eMR^1s(n~z zQMreQf#G>!ZaBVu3sp6nu!hX6p|D^zb8y{z&Q@E$O9XDd+b($b1l~0?=x;_wcoP3p zt-9-X3AmUoCOmS5;}3OL3Qo(ITq`mo9|Wo;V@v>(A`%2#J7ahhilKl@c1&L}Os0UG z*NjB*jjD5633%w;1^|Veorwr2J<-)-g?mP8Qo1{;6X|^igvsHPYnVM_Ck H0CZrA*N^|zlzbT*pTD8y)HMaGt#*=V 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]tND${ULPH>=K}oO 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%0A`oc)=p2YN`4dMpIpd+Hc_s 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
    =Qb;2MZKCq+_-(8Y;r8 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
    T;rnQDvksp5bUI;l-z4$idmx8ghA`;-d=vaChlo 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%0A_L#H9}3GXV-d(>Upt|%4Q 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

    *$Zn6*@M%i`8--bI>Q8nsd~muhl(%u32#w%JIV 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

rGe+egx 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