aboutsummaryrefslogtreecommitdiffstats
path: root/shells/fd/files
diff options
context:
space:
mode:
authorknu <knu@FreeBSD.org>2004-10-26 12:05:30 +0800
committerknu <knu@FreeBSD.org>2004-10-26 12:05:30 +0800
commit1df23dbf97795896896953d1b5f42662a4cb3bd4 (patch)
tree3a079cc1c8f9a04c4cb40296b2f6787df30e2ab1 /shells/fd/files
parent70811b513d05665f47ccf4b85dcbcc5cfdccd840 (diff)
downloadfreebsd-ports-gnome-1df23dbf97795896896953d1b5f42662a4cb3bd4.tar.gz
freebsd-ports-gnome-1df23dbf97795896896953d1b5f42662a4cb3bd4.tar.zst
freebsd-ports-gnome-1df23dbf97795896896953d1b5f42662a4cb3bd4.zip
Update to 2.06a.
Diffstat (limited to 'shells/fd/files')
-rw-r--r--shells/fd/files/patch-archive.c364
-rw-r--r--shells/fd/files/patch-browse.c76
-rw-r--r--shells/fd/files/patch-fd.h13
-rw-r--r--shells/fd/files/patch-system.c23
4 files changed, 2 insertions, 474 deletions
diff --git a/shells/fd/files/patch-archive.c b/shells/fd/files/patch-archive.c
deleted file mode 100644
index a707ef810bcc..000000000000
--- a/shells/fd/files/patch-archive.c
+++ /dev/null
@@ -1,364 +0,0 @@
-[FDclone-users:00311]
-
-diff -u ../old/FD-2.05g/archive.c ./archive.c
---- ../old/FD-2.05g/archive.c Wed Jul 7 00:00:00 2004
-+++ ./archive.c Sat Jul 17 04:59:55 2004
-@@ -188,6 +188,7 @@
- static VOID NEAR unpackerror __P_((VOID_A));
- static int NEAR readarchive __P_((char *, launchtable *, int));
- static char *NEAR searcharcdir __P_((char *, int));
-+static char *NEAR archoutdir __P_((VOID_A));
- static int NEAR undertmp __P_((char *));
- #ifdef _NODOSDRIVE
- static char *NEAR genfullpath __P_((char *, char *, char *));
-@@ -457,9 +458,7 @@
- int i, c, len;
- u_int mode;
-
-- if (!*buf) return(0);
- len = strlen(buf);
--
- if (len < 9) {
- mode = (tmp -> st_mode & S_IFMT) | S_IREAD_ALL | S_IWRITE_ALL;
- while (--len >= 0) {
-@@ -547,7 +546,7 @@
- }
-
- tmp -> st_mode = mode;
-- return(1);
-+ return(len);
- }
-
- #if FD >= 2
-@@ -836,21 +835,24 @@
- err = 0;
- break;
- default:
-- free(buf);
-- free(rawbuf);
-- if (tmp -> name) free(tmp -> name);
-+ hit = -1;
-+ break;
-+ }
-+
-+ free(buf);
-+ free(rawbuf);
-+
-+ if (hit < 0) {
-+ if (tmp -> name) free(tmp -> name);
- # ifndef NOSYMLINK
-- if (tmp -> linkname) free(tmp -> linkname);
-+ if (tmp -> linkname) free(tmp -> linkname);
- # endif
-- return(-1);
--/*NOTREACHED*/
-- break;
-+ return(hit);
- }
-+
- if (!hit) score += 5;
- else if (hit <= err2) score += err2;
- score += err;
-- free(buf);
-- free(rawbuf);
- line += len;
- if (!ch) while (iswhitespace(*line)) line++;
- }
-@@ -1024,7 +1026,7 @@
- tmp -> name = strdup2(buf);
-
- getfield(buf, line, skip, list, F_MODE);
-- if (!readattr(tmp, buf)) tmp -> st_mode = 0644;
-+ readattr(tmp, buf);
- if (!(tmp -> st_mode & S_IFMT)) tmp -> st_mode |= S_IFREG;
- if (s_isdir(tmp)) tmp -> flags |= F_ISDIR;
- else if (s_islnk(tmp)) tmp -> flags |= F_ISLNK;
-@@ -1241,15 +1243,14 @@
- static char *NEAR pseudodir(namep)
- namelist *namep;
- {
-- char *cp, *tmp;
-+ char *cp, *next;
- int i, len;
- u_short ent;
-
-- cp = namep -> name;
-- while ((tmp = strdelim(cp, 0))) {
-- while (*(tmp + 1) == _SC_) tmp++;
-- if (!*(tmp + 1)) break;
-- len = tmp - (namep -> name);
-+ for (cp = namep -> name; (next = strdelim(cp, 0)); cp = next + 1) {
-+ while (*(next + 1) == _SC_) next++;
-+ if (!*(next + 1)) break;
-+ len = next - namep -> name;
- if (!len) len++;
- for (i = 0; i < maxfile; i++) {
- if (isdir(&(filelist[i]))
-@@ -1261,21 +1262,22 @@
- filelist[i].name = realloc2(filelist[i].name, len + 1);
- strncpy2(filelist[i].name, namep -> name, len);
- }
-- cp = tmp + 1;
- }
-+
- if (isdir(namep) && !isdotdir(namep -> name))
- for (i = 0; i < maxfile; i++) {
- if (isdir(&(filelist[i]))
- && !dircmp(filelist[i].name, namep -> name)) {
-- tmp = filelist[i].name;
-+ cp = filelist[i].name;
- ent = filelist[i].ent;
- memcpy((char *)&(filelist[i]), (char *)namep,
- sizeof(namelist));
-- filelist[i].name = tmp;
-+ filelist[i].name = cp;
- filelist[i].ent = ent;
- return(NULL);
- }
- }
-+
- return(namep -> name);
- }
-
-@@ -1609,7 +1611,7 @@
- #ifndef NOSYMLINK
- filelist[0].linkname = NULL;
- #endif
-- filelist[0].flags = F_ISDIR;
-+ filelist[0].flags = (F_ISDIR | F_ISRED | F_ISWRI);
- filelist[0].tmpflags = F_STAT;
- maxfile++;
- #ifdef HAVEFLAGS
-@@ -1713,25 +1715,26 @@
- char *arcre;
- {
- char *cp, *tmp;
-- int i, j, n, len;
-+ int i, j, n, len, parent;
-
-+ parent = (*archivedir) ? 0 : -1;
-+ /* omit filelist[0] as pseudo ".." */
- for (i = 1; i < maxarcf; i++) {
- if (!*archivedir) len = 0;
- else if (!(len = dirmatchlen(archivedir, arcflist[i].name)))
- continue;
-
-- cp = arcflist[i].name + len;
-- if (len > 0 && (len > 1 || *archivedir != _SC_)) cp++;
-- if (!arcflist[i].name[len]) {
-- memcpy((char *)&(filelist[0]),
-- (char *)&(arcflist[i]), sizeof(namelist));
-- filelist[0].name = arcflist[0].name;
--#ifndef NOSYMLINK
-- filelist[0].linkname = NULL;
--#endif
-+ cp = &(arcflist[i].name[len]);
-+ if (*cp && len > 0 && (len > 1 || *archivedir != _SC_)) cp++;
-+ if (!*cp) {
-+ parent = i;
- continue;
- }
-- if ((tmp = strdelim(cp, 0))) while (*(++tmp) == _SC_);
-+ if ((tmp = strdelim(cp, 0))) {
-+ if (tmp - cp == 2 && cp[0] == '.' && cp[1] == '.')
-+ if (parent <= 0) parent = i;
-+ while (*(++tmp) == _SC_);
-+ }
- if ((tmp && *tmp) || (re && !regexp_exec(re, cp, 1))) continue;
- if (arcre) {
- if (!(n = searcharc(arcre, arcflist, maxarcf, i)))
-@@ -1751,6 +1754,18 @@
- #endif
- maxfile++;
- }
-+
-+ if (parent < 0) return;
-+ for (i = 0; i < maxfile; i++)
-+ if (!strcmp(filelist[i].name, "..")) return;
-+ memmove((char *)&(filelist[1]), (char *)&(filelist[0]),
-+ maxfile++ * sizeof(namelist));
-+ memcpy((char *)&(filelist[0]),
-+ (char *)&(arcflist[parent]), sizeof(namelist));
-+ filelist[0].name = arcflist[0].name;
-+#ifndef NOSYMLINK
-+ filelist[0].linkname = NULL;
-+#endif
- }
-
- static char *NEAR searcharcdir(file, flen)
-@@ -1761,14 +1776,14 @@
- int i, len;
-
- errno = ENOENT;
-- for (i = 1; i < maxarcf; i++) {
-+ for (i = 0; i < maxarcf; i++) {
- if (!*archivedir) len = 0;
- else if (!(len = dirmatchlen(archivedir, arcflist[i].name)))
- continue;
-
-- cp = arcflist[i].name + len;
-- if (len > 0 && (len > 1 || *archivedir != _SC_)) cp++;
-- if (!arcflist[i].name[len]) {
-+ cp = &(arcflist[i].name[len]);
-+ if (*cp && len > 0 && (len > 1 || *archivedir != _SC_)) cp++;
-+ if (!*cp) {
- if (file) continue;
- }
- else {
-@@ -1778,6 +1793,8 @@
- len = (tmp == cp) ? 1 : tmp - cp;
- while (*(++tmp) == _SC_);
- }
-+ if (!*file && len == 2 && cp[0] == '.' && cp[1] == '.')
-+ return(arcflist[0].name);
- if ((tmp && *tmp) || len != flen
- || strnpathcmp(file, cp, flen))
- continue;
-@@ -1791,6 +1808,29 @@
- return(NULL);
- }
-
-+static char *NEAR archoutdir(VOID_A)
-+{
-+ char *cp, *file;
-+
-+ if (!*archivedir) return((char *)-1);
-+ if (!(file = searcharcdir(NULL, 0))) return(NULL);
-+
-+ cp = file + (int)strlen(file) - 1;
-+ while (cp > file && *cp == _SC_) cp--;
-+#ifdef BSPATHDELIM
-+ if (onkanji1(file, cp - file)) cp++;
-+#endif
-+ cp = strrdelim2(file, cp);
-+ if (!cp) *archivedir = '\0';
-+ else {
-+ if (cp == file) strcpy(archivedir, _SS_);
-+ else strncpy2(archivedir, file, cp - file);
-+ file = cp + 1;
-+ }
-+
-+ return(file);
-+}
-+
- char *archchdir(path)
- char *path;
- {
-@@ -1799,11 +1839,11 @@
-
- if (findpattern) free(findpattern);
- findpattern = NULL;
-- if (!path || !*path) path = "..";
- #ifndef _NOBROWSE
- if (browselist) {
- int i, n, dupfilepos;
-
-+ if (!path || !*path) path = "..";
- if ((cp = strdelim(path, 0))) {
- for (i = 1; cp[i]; i++) if (cp[i] != _SC_) break;
- if (cp[i]) {
-@@ -1846,43 +1886,28 @@
- return("..");
- }
- #endif /* !_NOBROWSE */
-+
-+ if (!path) return(archoutdir());
- strcpy(duparcdir, archivedir);
- do {
- if (*path == _SC_) len = 1;
- else if ((cp = strdelim(path, 0))) len = cp - path;
- else len = strlen(path);
-
-- if (len == 1 && *path == '.') file = "..";
-- else if (len != 2 || strncmp(path, "..", len)) {
-- if (!searcharcdir(path, len)) {
-- strcpy(archivedir, duparcdir);
-- errno = ENOENT;
-- return(NULL);
-- }
-+ cp = path;
-+ if (len == 2 && path[0] == '.' && path[1] == '.') cp = "";
-+ if (searcharcdir(cp, len)) {
- if (*(cp = archivedir)) cp = strcatdelim(archivedir);
- strncpy2(cp, path, len);
- file = "..";
- }
-- else if (!*archivedir) return((char *)-1);
-- else {
-- if (!(file = searcharcdir(NULL, 0))) {
-- strcpy(archivedir, duparcdir);
-- errno = ENOENT;
-- return(NULL);
-- }
-- cp = file + (int)strlen(file) - 1;
-- while (cp > file && *cp == _SC_) cp--;
--#ifdef BSPATHDELIM
-- if (onkanji1(file, cp - file)) cp++;
--#endif
-- cp = strrdelim2(file, cp);
-- if (!cp) *archivedir = '\0';
-- else {
-- if (cp == file) strcpy(archivedir, _SS_);
-- else strncpy2(archivedir, file, cp - file);
-- file = cp + 1;
-- }
-+ else if (*cp || !(file = archoutdir())) {
-+ strcpy(archivedir, duparcdir);
-+ errno = ENOENT;
-+ return(NULL);
- }
-+ else if (file == (char *)-1) break;
-+
- path += len;
- while (*path == _SC_) path++;
- } while (*path);
-@@ -1897,7 +1922,7 @@
- char ***argvp;
- {
- char *cp, *tmp, *new, *file, dir[MAXPATHLEN], duparcdir[MAXPATHLEN];
-- int i, len;
-+ int i, len, parent;
-
- # ifdef _USEDOSPATH
- if (_dospath(path)) return(argc);
-@@ -1917,25 +1942,35 @@
- flen -= ++file - path;
- }
-
-+ /* omit filelist[0] as pseudo ".." */
- for (i = 1; i < maxarcf; i++) {
- if (!*archivedir) len = 0;
- else if (!(len = dirmatchlen(archivedir, arcflist[i].name)))
- continue;
-
-- cp = arcflist[i].name + len;
-- if (len > 0 && (len > 1 || *archivedir != _SC_)) cp++;
-- if (!arcflist[i].name[len]) continue;
-+ cp = &(arcflist[i].name[len]);
-+ if (*cp && len > 0 && (len > 1 || *archivedir != _SC_)) cp++;
-+ if (!*cp) continue;
-
- if (!(tmp = strdelim(cp, 0))) len = strlen(cp);
- else {
- len = (tmp == cp) ? 1 : tmp - cp;
- while (*(++tmp) == _SC_);
- }
-- if ((tmp && *tmp) || strnpathcmp(file, cp, flen)) continue;
-+
-+ parent = 0;
-+ if (len == 2 && cp[0] == '.' && cp[1] == '.') {
-+ if (strnpathcmp(file, cp, flen)) continue;
-+ parent++;
-+ }
-+ else {
-+ if ((tmp && *tmp) || strnpathcmp(file, cp, flen))
-+ continue;
-+ }
-
- new = malloc2(len + 1 + 1);
- strncpy(new, cp, len);
-- if (isdir(&(arcflist[i]))) new[len++] = _SC_;
-+ if (parent || isdir(&(arcflist[i]))) new[len++] = _SC_;
- new[len] = '\0';
- if (finddupl(new, argc, *argvp)) {
- free(new);
diff --git a/shells/fd/files/patch-browse.c b/shells/fd/files/patch-browse.c
deleted file mode 100644
index 0127dde89cae..000000000000
--- a/shells/fd/files/patch-browse.c
+++ /dev/null
@@ -1,76 +0,0 @@
-[FDclone-users:00310]
-
---- browse.c~ 2004-07-07 00:00:00.000000000 +0900
-+++ browse.c 2004-07-15 18:50:00.096771592 +0900
-@@ -684,7 +684,7 @@
- # ifndef _NOARCHIVE
- else if (archivefile) {
- if (namep -> linkname)
-- strncpy3(buf, &(namep -> linkname[len]), &w, 0);
-+ strncpy3(buf, namep -> linkname, &w, len);
- }
- # endif
- else {
-@@ -693,7 +693,7 @@
- tmp, width * 2 + len);
- if (i >= 0) {
- tmp[i] = '\0';
-- strncpy3(buf, &(tmp[len]), &w, 0);
-+ strncpy3(buf, tmp, &w, len);
- }
- free(tmp);
- }
-
-[FDclone-users:00311]
-
-diff -u ../old/FD-2.05g/browse.c ./browse.c
---- ../old/FD-2.05g/browse.c Wed Jul 7 00:00:00 2004
-+++ ./browse.c Sat Jul 17 02:56:26 2004
-@@ -707,7 +707,7 @@
- struct tm *tm;
- int len;
-
-- if (!filelist || maxfile < 0) return;
-+ if (!filelist || filepos < 0 || maxfile < 0) return;
-
- #ifndef _NOTRADLAYOUT
- if (istradlayout()) {
-@@ -1216,7 +1216,7 @@
- VOID rewritefile(all)
- int all;
- {
-- if (!filelist || maxfile < 0) return;
-+ if (!filelist || filepos < 0 || maxfile < 0) return;
- if (all > 0) {
- title();
- helpbar();
-@@ -1439,9 +1439,9 @@
- re = regexp_init(findpattern, -1);
- }
-
-+ maxfile = 0;
- #ifndef _NOARCHIVE
- if (archivefile) {
-- maxfile = (*archivedir) ? 1 : 0;
- blocksize = (off_t)1;
- if (sorttype < 100) sorton = 0;
- copyarcf(re, arcre);
-@@ -1449,7 +1449,6 @@
- else
- #endif
- {
-- maxfile = 0;
- blocksize = getblocksize(".");
- if (sorttype < 100) sorton = sorttype;
- if (readfilelist(re, arcre)) {
-@@ -1657,8 +1656,9 @@
- else if (no > 4) {
- char *tmp;
-
-- tmp = (filepos < 0) ? ".." : filelist[filepos].name;
-+ tmp = (filepos >= 0) ? filelist[filepos].name : NULL;
- if (!(cp = archchdir(tmp))) {
-+ if (!tmp) tmp = "..";
- warning(-1, tmp);
- strcpy(file, tmp);
- }
diff --git a/shells/fd/files/patch-fd.h b/shells/fd/files/patch-fd.h
index 6d4ff40f5bdc..3d4745c13eac 100644
--- a/shells/fd/files/patch-fd.h
+++ b/shells/fd/files/patch-fd.h
@@ -1,5 +1,5 @@
---- fd.h.orig Wed Jun 23 00:00:00 2004
-+++ fd.h Fri Jun 25 01:18:25 2004
+--- fd.h.orig Tue Aug 10 00:00:00 2004
++++ fd.h Fri Aug 20 10:01:22 2004
@@ -159,11 +159,11 @@
****************************************************************/
#define MAXBINDTABLE 256
@@ -15,12 +15,3 @@
#if MSDOS
#define MAXCOMMSTR (128 - 2)
#endif
-@@ -171,7 +171,7 @@
- #define MAXSTACK 5
- #define MAXWINDOWS 2
- #define MAXHISTNO MAXTYPE(short)
--#define MAXINVOKEARGS 1
-+#define MAXINVOKEARGS MAXWINDOWS
-
- #ifdef _NOSPLITWIN
- #undef MAXWINDOWS
diff --git a/shells/fd/files/patch-system.c b/shells/fd/files/patch-system.c
deleted file mode 100644
index 9944778b9096..000000000000
--- a/shells/fd/files/patch-system.c
+++ /dev/null
@@ -1,23 +0,0 @@
-[FDclone-users:00313]
-
-diff -u ../old/FD-2.05g/system.c ./system.c
---- ../old/FD-2.05g/system.c Wed Jul 7 00:00:00 2004
-+++ ./system.c Fri Jul 16 18:54:34 2004
-@@ -151,7 +151,7 @@
-
- #ifdef FD
- #include "term.h"
--extern VOID main_fd __P_((char *));
-+extern VOID main_fd __P_((char **));
- extern int sigvecset __P_((int));
- #ifndef _NOCUSTOMIZE
- extern VOID saveorigenviron __P_((VOID_A));
-@@ -9316,7 +9316,7 @@
- ttyiomode(0);
- mode = termmode(1);
- shellmode = 0;
-- main_fd((trp -> comm) -> argv[1]);
-+ main_fd(&((trp -> comm) -> argv[1]));
- shellmode = 1;
- termmode(mode);
- stdiomode();