git-svn-id: https://svn.disconnected-by-peer.at/svn/linamh/trunk/linamh@1108 6952d904-891a-0410-993b-d76249ca496b
This commit is contained in:
geos_one
2009-04-18 20:23:02 +00:00
parent 70e08f2547
commit f5551576e3
17 changed files with 1520 additions and 0 deletions

View File

@@ -0,0 +1,11 @@
MC ()
{
mkdir -p $HOME/.mc/tmp 2> /dev/null
chmod 700 $HOME/.mc/tmp
MC=$HOME/.mc/tmp/mc-$$
/usr/bin/mc -P "$MC"
cd "`cat $MC`"
rm -f "$MC"
unset MC;
}

View File

@@ -0,0 +1,87 @@
context default
keyword linestart HOMEPAGE brightcyan
keyword linestart DESCRIPTION brightcyan
keyword linestart SRC_URI brightcyan
keyword linestart LICENSE brightcyan
keyword linestart SLOT brightcyan
keyword linestart KEYWORDS brightcyan
keyword linestart IUSE brightcyan
keyword linestart RESTRICT brightcyan
keyword linestart DEPEND brightcyan
keyword linestart RDEPEND brightcyan
keyword linestart EAPI brightcyan
keyword linestart S brightcyan
keyword whole local yellow
keyword whole use yellow
keyword whole has_version yellow
keyword whole best_version yellow
keyword whole use_with yellow
keyword whole use_enable yellow
keyword whole keepdir yellow
keyword whole econf yellow
keyword whole einstall yellow
keyword whole die yellow
keyword whole einfo yellow
keyword whole elog yellow
keyword whole emake yellow
keyword whole eerror yellow
keyword whole epatch yellow
keyword whole ebegin yellow
keyword whole eend yellow
keyword whole ewarn yellow
keyword whole unpack yellow
keyword whole diropts yellow
keyword whole dobin yellow
keyword whole docinto yellow
keyword whole dodir yellow
keyword whole dodoc yellow
keyword whole doexe yellow
keyword whole dohard yellow
keyword whole dohtml yellow
keyword whole doinfo yellow
keyword whole doins yellow
keyword whole dolib.a yellow
keyword whole dolib.so yellow
keyword whole dolib yellow
keyword whole doman yellow
keyword whole dosbin yellow
keyword whole dosym yellow
keyword whole exeinto yellow
keyword whole exeopts yellow
keyword whole fowners yellow
keyword whole fperms yellow
keyword whole insinto yellow
keyword whole insopts yellow
keyword whole into yellow
keyword whole libopts yellow
keyword whole newbin yellow
keyword whole newdoc yellow
keyword whole newexe yellow
keyword whole newins yellow
keyword whole newman yellow
keyword whole newsbin yellow
keyword whole prepall yellow
keyword whole prepalldocs yellow
keyword whole prepallinfo yellow
keyword whole prepallman yellow
keyword = yellow
keyword : yellow
keyword ${+} brightgreen
keyword linestart abcdefghijklmnopqrstuvwxyz_\(\) brightmagenta
keyword *() brightcyan
keyword { magenta
keyword } magenta
context linestart inherit \n magenta
keyword whole inherit yellow
context # \n red
context " " green
keyword wholeright ${+} brightgreen

View File

@@ -0,0 +1,25 @@
--- lib/mc.ext.in.old 2003-01-30 17:48:33.000000000 +0200
+++ lib/mc.ext.in 2004-11-08 16:51:59.429212632 +0200
@@ -143,6 +143,12 @@
shell/.info
Open=info -f %f
+# 7-Zip, Needs to be before manual page definitions
+regex/\.(7z|7Z)$
+ View=%view{ascii} 7za l %f 2>/dev/null
+ Open=%cd %p#u7z
+
+
# Manual page
# Exception - .so libraries are not manual pages
regex/\.(so|so\.[0-9\.]*)$
--- vfs/extfs/extfs.ini.old 2002-12-09 16:16:33.000000000 +0200
+++ vfs/extfs/extfs.ini 2004-10-25 13:56:04.000000000 +0300
@@ -7,6 +7,7 @@
ulha
urar
uha
+u7z
# For arj usage you need a special patch to unarj (see unarj.diff)
uarj

View File

@@ -0,0 +1,12 @@
--- Syntax 2004-08-20 22:52:37.145034864 +0200
+++ Syntax.new 2004-08-20 22:52:19.000000000 +0200
@@ -116,6 +116,9 @@
file Don_t_match_me Mail\sfolder ^From\s
include mail.syntax
+file .\*\\.(ebuild|eclass)$ Gentoo\sEbuild
+include ebuild.syntax
+
file .\* unknown
include unknown.syntax

View File

@@ -0,0 +1,33 @@
--- a/src/subshell.c 2006-05-08 23:11:48.000000000 +0200
+++ b/src/subshell.c 2006-10-28 15:40:46.000000000 +0200
@@ -745,29 +745,13 @@ subshell_name_quote (const char *s)
memcpy (d, cmd_start, len);
d += len;
- /*
- * Print every character in octal format with the leading backslash.
- * tcsh and zsh may require 4-digit octals, bash < 2.05b doesn't like them.
- */
- if (subshell_type == BASH) {
for (; *s; s++) {
- /* Must quote numbers, so that they are not glued to octals */
if (isalpha ((unsigned char) *s)) {
*d++ = (unsigned char) *s;
} else {
- sprintf (d, "\\%03o", (unsigned char) *s);
- d += 4;
- }
- }
- } else {
- for (; *s; s++) {
- if (isalnum ((unsigned char) *s)) {
- *d++ = (unsigned char) *s;
- } else {
sprintf (d, "\\0%03o", (unsigned char) *s);
d += 5;
}
- }
}
memcpy (d, common_end, sizeof (common_end));

View File

@@ -0,0 +1,40 @@
diff -ruN mc-4.6.1.orig/intl/Makefile.in mc-4.6.1/intl/Makefile.in
--- mc-4.6.1.orig/intl/Makefile.in 2007-03-06 22:31:02.000000000 +0300
+++ mc-4.6.1/intl/Makefile.in 2007-03-06 22:38:52.000000000 +0300
@@ -156,12 +156,7 @@
test @GLIBC21@ != no || $(mkinstalldirs) $(DESTDIR)$(libdir); \
temp=$(DESTDIR)$(libdir)/t-charset.alias; \
dest=$(DESTDIR)$(libdir)/charset.alias; \
- if test -f $(DESTDIR)$(libdir)/charset.alias; then \
- orig=$(DESTDIR)$(libdir)/charset.alias; \
- sed -f ref-add.sed $$orig > $$temp; \
- $(INSTALL_DATA) $$temp $$dest; \
- rm -f $$temp; \
- else \
+ if ! test -f $(libdir)/charset.alias; then \
if test @GLIBC21@ = no; then \
orig=charset.alias; \
sed -f ref-add.sed $$orig > $$temp; \
@@ -170,14 +165,14 @@
fi; \
fi; \
$(mkinstalldirs) $(DESTDIR)$(localedir); \
- test -f $(DESTDIR)$(localedir)/locale.alias \
- && orig=$(DESTDIR)$(localedir)/locale.alias \
- || orig=$(srcdir)/locale.alias; \
- temp=$(DESTDIR)$(localedir)/t-locale.alias; \
- dest=$(DESTDIR)$(localedir)/locale.alias; \
- sed -f ref-add.sed $$orig > $$temp; \
- $(INSTALL_DATA) $$temp $$dest; \
- rm -f $$temp; \
+ if ! test -f $(localedir)/locale.alias; then \
+ orig=$(srcdir)/locale.alias; \
+ temp=$(DESTDIR)$(localedir)/t-locale.alias; \
+ dest=$(DESTDIR)$(localedir)/locale.alias; \
+ sed -f ref-add.sed $$orig > $$temp; \
+ $(INSTALL_DATA) $$temp $$dest; \
+ rm -f $$temp; \
+ fi; \
else \
: ; \
fi

View File

@@ -0,0 +1,155 @@
diff -Naur mc-4.6.1.orig/src/cmd.c mc-4.6.1/src/cmd.c
--- mc-4.6.1.orig/src/cmd.c 2005-05-27 16:19:18.000000000 +0200
+++ mc-4.6.1/src/cmd.c 2006-03-19 12:57:00.000000000 +0100
@@ -510,7 +510,7 @@
continue;
}
c = regexp_match (reg_exp_t, current_panel->dir.list[i].fname,
- match_file);
+ match_file, 0);
if (c == -1) {
message (1, MSG_ERROR, _(" Malformed regular expression "));
g_free (reg_exp);
diff -Naur mc-4.6.1.orig/src/dir.c mc-4.6.1/src/dir.c
--- mc-4.6.1.orig/src/dir.c 2005-05-27 16:19:18.000000000 +0200
+++ mc-4.6.1/src/dir.c 2006-03-19 12:58:56.000000000 +0100
@@ -405,7 +405,7 @@
*stale_link = 1;
}
if (!(S_ISDIR (buf1->st_mode) || *link_to_dir) && filter
- && !regexp_match (filter, dp->d_name, match_file))
+ && !regexp_match (filter, dp->d_name, match_file, 0))
return 0;
/* Need to grow the *list? */
diff -Naur mc-4.6.1.orig/src/ext.c mc-4.6.1/src/ext.c
--- mc-4.6.1.orig/src/ext.c 2005-05-27 16:19:18.000000000 +0200
+++ mc-4.6.1/src/ext.c 2006-03-19 13:00:43.000000000 +0100
@@ -394,7 +394,7 @@
}
if (content_string[0]
- && regexp_match (ptr, content_string + content_shift, match_regex)) {
+ && regexp_match (ptr, content_string + content_shift, match_regex, 0)) {
found = 1;
}
@@ -534,11 +534,11 @@
/* Do not transform shell patterns, you can use shell/ for
* that
*/
- if (regexp_match (p, filename, match_regex))
+ if (regexp_match (p, filename, match_regex, 0))
found = 1;
} else if (!strncmp (p, "directory/", 10)) {
if (S_ISDIR (mystat.st_mode)
- && regexp_match (p + 10, filename, match_regex))
+ && regexp_match (p + 10, filename, match_regex, 0))
found = 1;
} else if (!strncmp (p, "shell/", 6)) {
p += 6;
diff -Naur mc-4.6.1.orig/src/find.c mc-4.6.1/src/find.c
--- mc-4.6.1.orig/src/find.c 2005-05-27 16:19:18.000000000 +0200
+++ mc-4.6.1/src/find.c 2006-03-19 13:04:10.000000000 +0100
@@ -575,6 +575,7 @@
struct stat tmp_stat;
static int pos;
static int subdirs_left = 0;
+ int flags = 0;
if (!h) { /* someone forces me to close dirp */
if (dirp) {
@@ -586,6 +587,10 @@
dp = 0;
return 1;
}
+
+ if (!(case_sense->state & C_BOOL))
+ flags |= REG_ICASE;
+
do_search_begin:
while (!dp){
@@ -662,7 +667,7 @@
g_free (tmp_name);
}
- if (regexp_match (find_pattern, dp->d_name, match_file)){
+ if (regexp_match (find_pattern, dp->d_name, match_file, flags)){
if (content_pattern) {
if (search_content (h, directory, dp->d_name)) {
return 1;
diff -Naur mc-4.6.1.orig/src/user.c mc-4.6.1/src/user.c
--- mc-4.6.1.orig/src/user.c 2005-07-01 17:47:07.000000000 +0200
+++ mc-4.6.1/src/user.c 2006-03-19 13:05:00.000000000 +0100
@@ -412,18 +412,18 @@
break;
case 'f': /* file name pattern */
p = extract_arg (p, arg, sizeof (arg));
- *condition = panel && regexp_match (arg, panel->dir.list [panel->selected].fname, match_file);
+ *condition = panel && regexp_match (arg, panel->dir.list [panel->selected].fname, match_file, 0);
break;
case 'y': /* syntax pattern */
if (edit_widget && edit_widget->syntax_type) {
p = extract_arg (p, arg, sizeof (arg));
*condition = panel &&
- regexp_match (arg, edit_widget->syntax_type, match_normal);
+ regexp_match (arg, edit_widget->syntax_type, match_normal, 0);
}
break;
case 'd':
p = extract_arg (p, arg, sizeof (arg));
- *condition = panel && regexp_match (arg, panel->cwd, match_file);
+ *condition = panel && regexp_match (arg, panel->cwd, match_file, 0);
break;
case 't':
p = extract_arg (p, arg, sizeof (arg));
diff -Naur mc-4.6.1.orig/src/util.c mc-4.6.1/src/util.c
--- mc-4.6.1.orig/src/util.c 2005-05-27 16:19:18.000000000 +0200
+++ mc-4.6.1/src/util.c 2006-03-19 13:06:58.000000000 +0100
@@ -563,27 +563,30 @@
return g_strdup (pattern);
}
-int regexp_match (const char *pattern, const char *string, int match_type)
+int regexp_match (const char *pattern, const char *string, int match_type, int flags)
{
static regex_t r;
static char *old_pattern = NULL;
static int old_type;
+ static int old_flags;
int rval;
char *my_pattern;
- if (!old_pattern || STRCOMP (old_pattern, pattern) || old_type != match_type){
+ if (!old_pattern || STRCOMP (old_pattern, pattern) || old_type != match_type || old_flags != flags){
if (old_pattern){
regfree (&r);
g_free (old_pattern);
old_pattern = NULL;
}
my_pattern = convert_pattern (pattern, match_type, 0);
- if (regcomp (&r, my_pattern, REG_EXTENDED|REG_NOSUB|MC_ARCH_FLAGS)) {
+
+ if (regcomp (&r, my_pattern, REG_EXTENDED|REG_NOSUB|MC_ARCH_FLAGS|flags)) {
g_free (my_pattern);
return -1;
}
old_pattern = my_pattern;
old_type = match_type;
+ old_flags = flags;
}
rval = !regexec (&r, string, 0, NULL, 0);
return rval;
diff -Naur mc-4.6.1.orig/src/util.h mc-4.6.1/src/util.h
--- mc-4.6.1.orig/src/util.h 2005-01-13 20:20:47.000000000 +0100
+++ mc-4.6.1/src/util.h 2006-03-19 13:07:16.000000000 +0100
@@ -116,7 +116,7 @@
extern int easy_patterns;
char *convert_pattern (const char *pattern, int match_type, int do_group);
-int regexp_match (const char *pattern, const char *string, int match_type);
+int regexp_match (const char *pattern, const char *string, int match_type, int flags);
/* Error pipes */
void open_error_pipe (void);

View File

@@ -0,0 +1,30 @@
Invalid timestamps on files caused mc to segfault by passing a null
pointer to strftime. Avoid trying to print the time in this case.
Reported by Maxim Britov <maxim@office.modum.by>
at http://bugs.gentoo.org/184296
--- mc-4.6.1/src/util.c
+++ mc-4.6.1/src/util.c
@@ -717,6 +717,7 @@
static size_t i18n_timelength = 0;
static const char *fmtyear, *fmttime;
const char *fmt;
+ struct tm *whentm;
if (i18n_timelength == 0){
i18n_timelength = i18n_checktimelength() + 1;
@@ -740,7 +741,11 @@
else
fmt = fmttime;
- strftime (timebuf, i18n_timelength, fmt, localtime(&when));
+ whentm = localtime(&when);
+ if (whentm == NULL)
+ return "(invalid)";
+
+ strftime (timebuf, i18n_timelength, fmt, whentm);
return timebuf;
}

View File

@@ -0,0 +1,194 @@
diff -Naur mc-4.6.1.orig/intl/loadmsgcat.c mc-4.6.1/intl/loadmsgcat.c
--- mc-4.6.1.orig/intl/loadmsgcat.c 2005-07-23 18:52:57.000000000 +0200
+++ mc-4.6.1/intl/loadmsgcat.c 2006-03-19 17:11:14.000000000 +0100
@@ -1002,7 +1002,7 @@
/* The magic number is wrong: not a message catalog file. */
#ifdef HAVE_MMAP
if (use_mmap)
- munmap ((caddr_t) data, size);
+ munmap ((void *) data, size);
else
#endif
free (data);
@@ -1271,7 +1271,7 @@
free (domain->malloced);
#ifdef HAVE_MMAP
if (use_mmap)
- munmap ((caddr_t) data, size);
+ munmap ((void *) data, size);
else
#endif
free (data);
@@ -1306,7 +1306,7 @@
# ifdef _POSIX_MAPPED_FILES
if (domain->use_mmap)
- munmap ((caddr_t) domain->data, domain->mmap_size);
+ munmap ((void *) domain->data, domain->mmap_size);
else
# endif /* _POSIX_MAPPED_FILES */
free ((void *) domain->data);
diff -Naur mc-4.6.1.orig/src/view.c mc-4.6.1/src/view.c
--- mc-4.6.1.orig/src/view.c 2005-05-27 16:19:18.000000000 +0200
+++ mc-4.6.1/src/view.c 2006-03-19 17:10:34.000000000 +0100
@@ -76,6 +76,12 @@
#define vwidth (view->widget.cols - (view->have_frame ? 2 : 0))
#define vheight (view->widget.lines - (view->have_frame ? 2 : 0))
+#if GLIB_MAJOR_VERSION >= 2
+# define my_g_malloc g_try_malloc
+#else
+# define my_g_malloc g_malloc
+#endif
+
/* Offset in bytes into a file */
typedef unsigned long offset_type;
#define INVALID_OFFSET ((offset_type) -1)
@@ -560,8 +566,8 @@
view->data = mc_mmap (0, view->s.st_size, PROT_READ,
MAP_FILE | MAP_SHARED, view->file, 0);
else
- view->data = (caddr_t) -1;
- if ((caddr_t) view->data != (caddr_t) - 1) {
+ view->data = (void *) -1;
+ if (view->data != (void *)-1) {
/* mmap worked */
view->first = 0;
view->bytes_read = view->s.st_size;
@@ -573,6 +579,9 @@
/* For the OSes that don't provide mmap call, try to load all the
* file into memory (alex@bcs.zaporizhzhe.ua). Also, mmap can fail
* for any reason, so we use this as fallback (pavel@ucw.cz) */
+
+ /* If large file support is enabled, st_size is a 64 bit value and
+ * will thus on 32 bit platforms possibly be beyond the range of gulong */
/* Make sure view->s.st_size is not truncated when passed to g_malloc */
if ((gulong) view->s.st_size == view->s.st_size)
diff -Naur mc-4.6.1.orig/vfs/local.c mc-4.6.1/vfs/local.c
--- mc-4.6.1.orig/vfs/local.c 2004-09-25 01:00:18.000000000 +0200
+++ mc-4.6.1/vfs/local.c 2006-03-19 17:00:45.000000000 +0100
@@ -243,8 +243,8 @@
}
#ifdef HAVE_MMAP
-caddr_t
-local_mmap (struct vfs_class *me, caddr_t addr, size_t len, int prot, int flags, void *data, off_t offset)
+void *
+local_mmap (struct vfs_class *me, void *addr, size_t len, int prot, int flags, void *data, off_t offset)
{
int fd = * (int *)data;
@@ -252,7 +252,7 @@
}
int
-local_munmap (struct vfs_class *me, caddr_t addr, size_t len, void *data)
+local_munmap (struct vfs_class *me, void *addr, size_t len, void *data)
{
return munmap (addr, len);
}
diff -Naur mc-4.6.1.orig/vfs/local.h mc-4.6.1/vfs/local.h
--- mc-4.6.1.orig/vfs/local.h 2004-08-17 11:17:43.000000000 +0200
+++ mc-4.6.1/vfs/local.h 2006-03-19 17:01:35.000000000 +0100
@@ -13,9 +13,9 @@
extern int local_errno (struct vfs_class *me);
extern int local_lseek (void *data, off_t offset, int whence);
#ifdef HAVE_MMAP
-extern caddr_t local_mmap (struct vfs_class *me, caddr_t addr, size_t len,
+extern void *local_mmap (struct vfs_class *me, void *addr, size_t len,
int prot, int flags, void *data, off_t offset);
-extern int local_munmap (struct vfs_class *me, caddr_t addr, size_t len, void *data);
+extern int local_munmap (struct vfs_class *me, void *addr, size_t len, void *data);
#endif
#endif
diff -Naur mc-4.6.1.orig/vfs/samba/lib/util.c mc-4.6.1/vfs/samba/lib/util.c
--- mc-4.6.1.orig/vfs/samba/lib/util.c 2005-05-27 16:19:19.000000000 +0200
+++ mc-4.6.1/vfs/samba/lib/util.c 2006-03-19 17:06:39.000000000 +0100
@@ -1836,7 +1836,7 @@
/* Look up the host address in the address list we just got. */
for (i = 0; hp->h_addr_list[i]; i++) {
- if (memcmp(hp->h_addr_list[i], (caddr_t) & addr, sizeof(addr)) == 0)
+ if (memcmp(hp->h_addr_list[i], &addr, sizeof(addr)) == 0)
return True;
}
diff -Naur mc-4.6.1.orig/vfs/vfs.c mc-4.6.1/vfs/vfs.c
--- mc-4.6.1.orig/vfs/vfs.c 2005-05-27 16:19:19.000000000 +0200
+++ mc-4.6.1/vfs/vfs.c 2006-03-19 17:03:48.000000000 +0100
@@ -740,27 +740,27 @@
#ifdef HAVE_MMAP
static struct mc_mmapping {
- caddr_t addr;
+ void *addr;
void *vfs_info;
struct vfs_class *vfs;
struct mc_mmapping *next;
} *mc_mmaparray = NULL;
-caddr_t
-mc_mmap (caddr_t addr, size_t len, int prot, int flags, int fd, off_t offset)
+void *
+mc_mmap (void *addr, size_t len, int prot, int flags, int fd, off_t offset)
{
struct vfs_class *vfs;
- caddr_t result;
+ void *result;
struct mc_mmapping *mcm;
if (fd == -1)
- return (caddr_t) -1;
+ return (void *) -1;
vfs = vfs_op (fd);
- result = vfs->mmap ? (*vfs->mmap)(vfs, addr, len, prot, flags, vfs_info (fd), offset) : (caddr_t)-1;
- if (result == (caddr_t)-1){
+ result = vfs->mmap ? (*vfs->mmap)(vfs, addr, len, prot, flags, vfs_info (fd), offset) : (void *)-1;
+ if (result == (void *)-1){
errno = ferrno (vfs);
- return (caddr_t)-1;
+ return (void *)-1;
}
mcm =g_new (struct mc_mmapping, 1);
mcm->addr = result;
@@ -772,7 +772,7 @@
}
int
-mc_munmap (caddr_t addr, size_t len)
+mc_munmap (void *addr, size_t len)
{
struct mc_mmapping *mcm, *mcm2 = NULL;
diff -Naur mc-4.6.1.orig/vfs/vfs.h mc-4.6.1/vfs/vfs.h
--- mc-4.6.1.orig/vfs/vfs.h 2004-11-16 17:16:08.000000000 +0100
+++ mc-4.6.1/vfs/vfs.h 2006-03-19 17:05:57.000000000 +0100
@@ -49,8 +49,8 @@
int mc_ctl (int fd, int ctlop, void *arg);
int mc_setctl (const char *path, int ctlop, void *arg);
#ifdef HAVE_MMAP
-caddr_t mc_mmap (caddr_t, size_t, int, int, int, off_t);
-int mc_munmap (caddr_t addr, size_t len);
+void *mc_mmap (void *, size_t, int, int, int, off_t);
+int mc_munmap (void *addr, size_t len);
#endif /* HAVE_MMAP */
/* Operations for mc_ctl - on open file */
diff -Naur mc-4.6.1.orig/vfs/vfs-impl.h mc-4.6.1/vfs/vfs-impl.h
--- mc-4.6.1.orig/vfs/vfs-impl.h 2004-09-02 15:57:59.000000000 +0200
+++ mc-4.6.1/vfs/vfs-impl.h 2006-03-19 17:12:01.000000000 +0100
@@ -72,9 +72,9 @@
int (*setctl) (struct vfs_class *me, const char *path, int ctlop,
void *arg);
#ifdef HAVE_MMAP
- caddr_t (*mmap) (struct vfs_class *me, caddr_t addr, size_t len,
+ void *(*mmap) (struct vfs_class *me, void *addr, size_t len,
int prot, int flags, void *vfs_info, off_t offset);
- int (*munmap) (struct vfs_class *me, caddr_t addr, size_t len,
+ int (*munmap) (struct vfs_class *me, void *addr, size_t len,
void *vfs_info);
#endif
};

View File

@@ -0,0 +1,11 @@
--- mc-4.6.1/src/cons.saver.c.old 2006-04-30 20:45:11.725128977 +0200
+++ mc-4.6.1/src/cons.saver.c 2006-04-30 20:45:55.545063247 +0200
@@ -134,7 +134,7 @@
if (seteuid (uid) < 0)
die ();
- console_fd = open (tty_name, O_RDONLY);
+ console_fd = open (tty_name, O_RDONLY | O_NONBLOCK);
if (console_fd < 0)
die ();
if (fstat (console_fd, &st) < 0 || ! S_ISCHR (st.st_mode))

View File

@@ -0,0 +1,16 @@
#!/bin/sh
# A little fix so mc exits into it's current working directory
MC_ENV=/usr/share/mc/bin/mc.sh
for i in $MC_ENV; do
if [ -x $i ]; then
. $i
fi
done
# include this, so also xterm,kterm,gterm,etc will have default bash settings
#if [ "x$SHLVL" != "x1" ]; then # We're not a login shell
# . /etc/profile
#fi

2
app-misc/mc/files/mc.ini Normal file
View File

@@ -0,0 +1,2 @@
[Midnight-Commander]
use_8th_bit_as_meta=0