summaryrefslogtreecommitdiff
path: root/shells/fd
diff options
context:
space:
mode:
authorAkinori MUSHA <knu@FreeBSD.org>2002-10-06 18:52:30 +0000
committerAkinori MUSHA <knu@FreeBSD.org>2002-10-06 18:52:30 +0000
commitc4648280735ac829813faca46741bdf29ad835b3 (patch)
tree198e78c96e8a353d51eca836e96742c223049f8b /shells/fd
parentUpdate to 3.12.5. (diff)
Update to 2.01c.
Notes
Notes: svn path=/head/; revision=67497
Diffstat (limited to 'shells/fd')
-rw-r--r--shells/fd/Makefile3
-rw-r--r--shells/fd/distinfo2
-rw-r--r--shells/fd/files/patch-archive.c14
-rw-r--r--shells/fd/files/patch-input.c252
4 files changed, 2 insertions, 269 deletions
diff --git a/shells/fd/Makefile b/shells/fd/Makefile
index 6e95e7760bee..73fb109ffd37 100644
--- a/shells/fd/Makefile
+++ b/shells/fd/Makefile
@@ -6,8 +6,7 @@
#
PORTNAME= fd
-PORTVERSION= 2.01b
-PORTREVISION= 3
+PORTVERSION= 2.01c
CATEGORIES= shells
MASTER_SITES= http://hp.vector.co.jp/authors/VA012337/soft/fd/ \
ftp://ftp.vector.co.jp/pack/unix/util/file/filer/fd/
diff --git a/shells/fd/distinfo b/shells/fd/distinfo
index 2fe747c8d0c4..f4d4afa83280 100644
--- a/shells/fd/distinfo
+++ b/shells/fd/distinfo
@@ -1 +1 @@
-MD5 (FD-2.01b.tar.gz) = f4484485ac3a9733e3d873cd2aec925c
+MD5 (FD-2.01c.tar.gz) = 83115e38da627521e4730ea94717de39
diff --git a/shells/fd/files/patch-archive.c b/shells/fd/files/patch-archive.c
deleted file mode 100644
index ffca5e8a8192..000000000000
--- a/shells/fd/files/patch-archive.c
+++ /dev/null
@@ -1,14 +0,0 @@
-A patch taken from: [FDclone-users:00027]
-
-diff -ur ../old/FD-2.01b/archive.c ./archive.c
---- ../old/FD-2.01b/archive.c Wed Jul 10 00:00:00 2002
-+++ ./archive.c Mon Aug 19 08:11:18 2002
-@@ -1188,7 +1188,7 @@
- if (*path == _SC_) len = 1;
- else if ((cp = strdelim(path, 0))) len = cp - path;
- else len = strlen(path);
-- if (strncmp(path, "..", len)) {
-+ if (len != 2 || strncmp(path, "..", len)) {
- if (!searcharcdir(path, len)) {
- strcpy(archivedir, duparcdir);
- return(NULL);
diff --git a/shells/fd/files/patch-input.c b/shells/fd/files/patch-input.c
deleted file mode 100644
index 9a74338c9cc3..000000000000
--- a/shells/fd/files/patch-input.c
+++ /dev/null
@@ -1,252 +0,0 @@
-A patch taken from: [FDclone-users:00020]
-
-diff -u ../old/FD-2.01b/input.c ./input.c
---- ../old/FD-2.01b/input.c Wed Jul 10 00:00:00 2002
-+++ ./input.c Mon Jul 29 14:54:00 2002
-@@ -1052,7 +1052,7 @@
- int cx, len, plen, max, linemax, comline, cont;
- {
- # if !MSDOS || !defined (_NOORIGSHELL)
-- int bq;
-+ int bq, hadmeta;
- # endif
- char *cp1, *cp2, **argv;
- int i, l, ins, top, fix, argc, quote, quoted, hasmeta;
-@@ -1064,7 +1064,7 @@
- }
-
- # if !MSDOS || !defined (_NOORIGSHELL)
-- bq = 0;
-+ bq = hadmeta = 0;
- # endif
- quote = '\0';
- quoted = 0;
-@@ -1077,6 +1077,13 @@
- quote = '\0';
- }
- else if (iskanji1(s, i)) i++;
-+# if !MSDOS || !defined (_NOORIGSHELL)
-+ else if (quote == '\'');
-+ else if (isnmeta(s, i, quote, cx)) {
-+ i++;
-+ hadmeta++;
-+ }
-+# endif
- else if (quote);
- else if (s[i] == '"') quote = s[i];
- # if !MSDOS || !defined (_NOORIGSHELL)
-@@ -1182,8 +1189,23 @@
- }
-
- if (hasmeta) {
-+ char *tmp, *home;
-+ int hlen;
-+
-+ if (quote || quoted > top || s[top] != '~') {
-+ home = NULL;
-+ i = hlen = 0;
-+ }
-+ else {
-+ tmp = &(s[top]);
-+ s[len] = '\0';
-+ home = malloc2(len - top + 1);
-+ hlen = evalhome(&home, 0, &tmp);
-+ i = ++tmp - &(s[top]);
-+ }
-+
- if (quote);
-- else if (quoted) {
-+ else if (quoted > top) {
- quote = s[quoted];
- setcursor(vlen(s, quoted), plen, max, linemax);
- deletechar(s, quoted, len, plen, max, linemax, 1);
-@@ -1191,7 +1213,35 @@
- l--;
- setcursor(vlen(s, --cx), plen, max, linemax);
- }
-- else if (len < max) {
-+ else if (len + hlen - i < max) {
-+ if (home) {
-+ setcursor(vlen(s, top), plen, max, linemax);
-+ deletechar(s, top, len, plen, max, linemax, i);
-+ delshift(s, top, len, i);
-+ len -= i;
-+ l -= i;
-+ cx -= i;
-+ i = insertstr(s, top, len, plen, max, linemax,
-+ home, hlen, '\0');
-+ len += i;
-+ l += i;
-+ cx += i;
-+ free(home);
-+ }
-+# if !MSDOS || !defined (_NOORIGSHELL)
-+ if (hadmeta) for (i = top; i < cx; i++) {
-+ if (iskanji1(s, i)) {
-+ i++;
-+ continue;
-+ }
-+ if (!isnmeta(s, i, '\0', cx)) continue;
-+ setcursor(vlen(s, i), plen, max, linemax);
-+ deletechar(s, i, len, plen, max, linemax, 1);
-+ delshift(s, i, len--, 1);
-+ l--;
-+ cx--;
-+ }
-+# endif /* !MSDOS || !_NOORIGSHELL */
- setcursor(vlen(s, top), plen, max, linemax);
- insertchar(s, top, len, plen, max, linemax, 1);
- insshift(s, top, len++, 1);
-diff -u ../old/FD-2.01b/pathname.c ./pathname.c
---- ../old/FD-2.01b/pathname.c Wed Jul 10 00:00:00 2002
-+++ ./pathname.c Mon Jul 29 13:40:14 2002
-@@ -178,7 +178,6 @@
- static int NEAR replacevar __P_((char *, char **, int, int, int, int));
- static char *NEAR insertarg __P_((char *, int, char *, int, int));
- static int NEAR evalvar __P_((char **, int, char **, int));
--static int NEAR evalhome __P_((char **, int, char **));
-
- #ifdef LSI_C
- #include <jctype.h>
-@@ -2480,7 +2479,7 @@
- return(NULL);
- }
-
--static int NEAR evalhome(bufp, ptr, argp)
-+int evalhome(bufp, ptr, argp)
- char **bufp;
- int ptr;
- char **argp;
-diff -u ../old/FD-2.01b/pathname.h ./pathname.h
---- ../old/FD-2.01b/pathname.h Wed Jul 10 00:00:00 2002
-+++ ./pathname.h Mon Jul 29 13:39:48 2002
-@@ -161,6 +161,7 @@
- # endif
- #endif
- extern char *gethomedir __P_((VOID_A));
-+extern int evalhome __P_((char **, int, char **));
- extern char *evalarg __P_((char *, int, int));
- extern int evalifs __P_((int, char ***, char *));
- extern int evalglob __P_((int, char ***, int));
-
-A patch taken from: [FDclone-users:00035]
-
-diff -u old/input.c ./input.c
---- old/input.c Wed Aug 21 14:19:15 2002
-+++ ./input.c Wed Aug 21 14:08:27 2002
-@@ -852,52 +852,78 @@
- dupl = malloc2(ins * 2 + 1);
- insertchar(s, cx, len, plen, max, linemax, vlen(strins, ins));
- insshift(s, cx, len, ins);
-+ for (i = 0; i < ins; i++) s[cx + i] = ' ';
-+ len += ins;
- for (i = j = 0; i < ins; i++, j++) {
- if (isctl(strins[i])) {
-- if (len + ins + j - i >= max)
-+ if (len + j - i >= max)
- dupl[j] = s[cx + j] = '?';
- else {
-+ insertchar(s, cx, len, plen, max, linemax, 1);
-+ insshift(s, cx + j, len, 1);
- dupl[j] = '^';
- s[cx + j] = QUOTE;
-- dupl[++j] = (strins[i] + '@') & 0x7f;
-+ j++;
-+ dupl[j] = (strins[i] + '@') & 0x7f;
- s[cx + j] = strins[i];
- }
- }
- #ifdef CODEEUC
- else if (isekana(strins, i)) {
-- if (len + ins + j - i >= max)
-+ if (len + j - i >= max)
- dupl[j] = s[cx + j] = '?';
- else {
- dupl[j] = s[cx + j] = strins[i];
-- dupl[j + 1] = s[cx + j + 1] = strins[++i];
- j++;
-+ dupl[j] = s[cx + j] = strins[++i];
- }
- }
- #endif
- else if (iskanji1(strins, i)) {
-- if (len + ins + j - i >= max)
-+ if (len + j - i >= max)
- dupl[j] = s[cx + j] = '?';
- else {
- dupl[j] = s[cx + j] = strins[i];
-- dupl[j + 1] = s[cx + j + 1] = strins[++i];
- j++;
-+ dupl[j] = s[cx + j] = strins[++i];
- }
- }
- #if MSDOS && defined (_NOORIGSHELL)
-- else if (strchr(DQ_METACHAR, strins[i])) {
-+ else if (strchr(DQ_METACHAR, strins[i])
- #else
-- else if (quote == '"' && strchr(DQ_METACHAR, strins[i])) {
-+ else if ((quote == '\'' && strins[i] == '\'')
-+ || (quote == '"' && strins[i] == '!')) {
-+ f = 3;
-+ if (!strins[i + 1]) f--;
-+ if (len + j - i + f > max)
-+ dupl[j] = s[cx + j] = '?';
-+ else {
-+ insertchar(s, cx, len, plen, max, linemax, f);
-+ insshift(s, cx + j, len, f);
-+ dupl[j] = s[cx + j] = quote;
-+ j++;
-+ dupl[j] = s[cx + j] = PMETA;
-+ j++;
-+ dupl[j] = s[cx + j] = strins[i];
-+ j++;
-+ dupl[j] = s[cx + j] = quote;
-+ }
-+ }
-+ else if ((quote == '"' && strchr(DQ_METACHAR, strins[i]))
- #endif
-- if (len + ins + j - i >= max)
-+ || (!quote && strchr(METACHAR, strins[i]))) {
-+ if (len + j - i >= max)
- dupl[j] = s[cx + j] = '?';
- else {
-+ insertchar(s, cx, len, plen, max, linemax, 1);
-+ insshift(s, cx + j, len, 1);
- #if MSDOS && defined (_NOORIGSHELL)
-- dupl[j] = s[cx + j] =
-+ dupl[j] = s[cx + j] = strins[i];
- #else
- dupl[j] = s[cx + j] = PMETA;
- #endif
-- dupl[j + 1] = s[cx + j + 1] = strins[i];
- j++;
-+ dupl[j] = s[cx + j] = strins[i];
- }
- }
- else dupl[j] = s[cx + j] = strins[i];
-@@ -1235,6 +1261,7 @@
- continue;
- }
- if (!isnmeta(s, i, '\0', cx)) continue;
-+ if (strchr(DQ_METACHAR, s[i + 1])) continue;
- setcursor(vlen(s, i), plen, max, linemax);
- deletechar(s, i, len, plen, max, linemax, 1);
- delshift(s, i, len--, 1);
-@@ -1254,15 +1281,12 @@
- }
-
- cp2 = cp1 + (int)strlen(cp1) - ins;
-- if (fix == _SC_) {
-- ins--;
-- if (!hasmeta) quote = '\0';
-- }
-+ if (fix == _SC_) ins--;
- i = insertstr(s, cx, len, plen, max, linemax, cp2, ins, quote);
- l += i;
- if (fix && (len += i) < max) {
- cx += i;
-- if (quote && len + 1 < max) {
-+ if (quote && len + 1 < max && (fix != _SC_ || hasmeta)) {
- insertchar(s, cx, len, plen, max, linemax, 1);
- insshift(s, cx, len++, 1);
- l++;