diff options
author | Chris D. Faulhaber <jedgar@FreeBSD.org> | 2001-01-29 02:47:44 +0000 |
---|---|---|
committer | Chris D. Faulhaber <jedgar@FreeBSD.org> | 2001-01-29 02:47:44 +0000 |
commit | ef9561a2b2545e2332f8529e4c95b37d790d3ef8 (patch) | |
tree | 5f5e8fe8a19e839f01e5caf62a318e2dba2e20a9 /korean | |
parent | c6b3241579ac6b86d948e0a50e0847ca98bc3b11 (diff) |
Notes
Diffstat (limited to 'korean')
-rw-r--r-- | korean/helvis/files/patch-elvrec.c | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/korean/helvis/files/patch-elvrec.c b/korean/helvis/files/patch-elvrec.c new file mode 100644 index 000000000000..0fc758617127 --- /dev/null +++ b/korean/helvis/files/patch-elvrec.c @@ -0,0 +1,55 @@ +--- elvrec.c.orig Mon Mar 21 14:27:37 1994 ++++ elvrec.c Sun Jan 28 20:52:16 2001 +@@ -10,6 +10,7 @@ + */ + + ++#include <sys/param.h> + #include <stdio.h> + #include "config.h" + #include "vi.h" +@@ -22,8 +23,8 @@ + char *basename; /* the name of the file to recover */ + char *outname; /* the name of the file to write to */ + { +- char pathname[500]; /* full pathname of the file to recover */ +- char line[600]; /* a line from the /usr/preserve/Index file */ ++ char pathname[MAXPATHLEN]; /* full pathname of the file to recover */ ++ char line[MAXPATHLEN]; /* a line from the /usr/preserve/Index file */ + int ch; /* a character from the text being recovered */ + FILE *from; /* the /usr/preserve file, or /usr/preserve/Index */ + FILE *to; /* the user's text file */ +@@ -42,19 +43,15 @@ + if (basename[0] != SLASH) + # endif + { +- ptr = getcwd(pathname, sizeof pathname); +- if (ptr != pathname) +- { +- strcpy(pathname, ptr); +- } +- ptr = pathname + strlen(pathname); +- *ptr++ = SLASH; +- strcpy(ptr, basename); ++ if ((ptr = getcwd(pathname, sizeof pathname)) == NULL) ++ err(1, "getcwd() failed"); ++ snprintf(pathname, sizeof(pathname), "%s/%s", ptr, ++ basename); + } + else + #endif + { +- strcpy(pathname, basename); ++ strlcpy(pathname, basename, sizeof(pathname)); + } + } + +@@ -67,6 +64,8 @@ + * version of this file. + */ + from = fopen(PRSVINDEX, "r"); ++ if (!from) ++ err(1, "fopen() %s failed", PRSVINDEX); + while (from && fgets(line, sizeof line, from)) + { + /* strip off the newline from the end of the string */ |