summaryrefslogtreecommitdiffstats
path: root/dln.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-11-23 01:52:21 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-11-23 01:52:21 +0000
commitda5a0245cf2c41aa95a532e974b245feab51a2ad (patch)
tree581bc91de9fc25dc54f206a7a999237143b5fd18 /dln.c
parentf64a06945a29a936c9961db4cc1a26273b0e757d (diff)
downloadruby-da5a0245cf2c41aa95a532e974b245feab51a2ad.tar.gz
ruby-da5a0245cf2c41aa95a532e974b245feab51a2ad.tar.xz
ruby-da5a0245cf2c41aa95a532e974b245feab51a2ad.zip
* dln.c (dln_find_1): removed duplication.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@25886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'dln.c')
-rw-r--r--dln.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/dln.c b/dln.c
index 8b1556eed..f674fc97a 100644
--- a/dln.c
+++ b/dln.c
@@ -1560,6 +1560,10 @@ dln_find_1(const char *fname, const char *path, char *fbuf, size_t size,
const char *p = fname;
#endif
+ static const char pathname_too_long[] = "openpath: pathname too long (ignored)\n\
+\tDirectory \"%.*s\"\n\tFile \"%s\"\n"
+#define PATHNAME_TOO_LONG() fprintf(stderr, pathname_too_long, (int)(bp - fbuf), fbuf, fname)
+
#define RETURN_IF(expr) if (expr) return (char *)fname;
RETURN_IF(!fname);
@@ -1681,10 +1685,7 @@ dln_find_1(const char *fname, const char *path, char *fbuf, size_t size,
i = strlen(fname);
if (fspace < i) {
toolong:
- fprintf(stderr, "openpath: pathname too long (ignored)\n");
- *bp = '\0';
- fprintf(stderr, "\tDirectory \"%s\"\n", fbuf);
- fprintf(stderr, "\tFile \"%s\"\n", fname);
+ PATHNAME_TOO_LONG();
goto next;
}
fspace -= i;
@@ -1695,9 +1696,7 @@ dln_find_1(const char *fname, const char *path, char *fbuf, size_t size,
needs_extension:
for (j = 0; j < sizeof(extension) / sizeof(extension[0]); j++) {
if (fspace < strlen(extension[j])) {
- fprintf(stderr, "openpath: pathname too long (ignored)\n");
- fprintf(stderr, "\tDirectory \"%.*s\"\n", (int) (bp - fbuf), fbuf);
- fprintf(stderr, "\tFile \"%s%s\"\n", fname, extension[j]);
+ PATHNAME_TOO_LONG();
continue;
}
strlcpy(bp + i, extension[j], fspace);