PERFORCE change 176182 for review
Garrett Cooper
gcooper at FreeBSD.org
Sun Mar 28 06:03:46 UTC 2010
http://p4web.freebsd.org/chv.cgi?CH=176182
Change 176182 by gcooper at gcooper-bayonetta on 2010/03/28 06:03:36
There no sense lying about this point anymore: vsystem calls are limited by ARG_MAX, not by any factor of FILENAME_MAX or PATH_MAX.
Affected files ...
.. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/lib/file.c#3 edit
Differences ...
==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/lib/file.c#3 (text+ko) ====
@@ -262,15 +262,15 @@
void
copy_file(const char *dir, const char *fname, const char *to)
{
- char cmd[FILENAME_MAX];
+ char cmd[ARG_MAX];
if (fname[0] == '/')
- snprintf(cmd, FILENAME_MAX, "/bin/cp -r %s %s", fname, to);
+ snprintf(cmd, ARG_MAX, "/bin/cp -r %s %s", fname, to);
else
- snprintf(cmd, FILENAME_MAX, "/bin/cp -r %s/%s %s", dir, fname, to);
+ snprintf(cmd, ARG_MAX, "/bin/cp -r %s/%s %s", dir, fname, to);
if (vsystem(cmd)) {
cleanup(0);
- errx(2, "%s: could not perform '%s'", __func__, cmd);
+ errx(2, "%s.%s: could not perform '%s'", progname, __func__, cmd);
}
}
@@ -281,12 +281,12 @@
void
move_file(const char *dir, const char *fname, const char *to)
{
- char cmd[FILENAME_MAX];
+ char cmd[ARG_MAX];
if (fname[0] == '/')
- snprintf(cmd, FILENAME_MAX, "/bin/mv %s %s", fname, to);
+ snprintf(cmd, ARG_MAX, "/bin/mv %s %s", fname, to);
else
- snprintf(cmd, FILENAME_MAX, "/bin/mv %s/%s %s", dir, fname, to);
+ snprintf(cmd, ARG_MAX, "/bin/mv %s/%s %s", dir, fname, to);
if (vsystem(cmd) != 0) {
cleanup(0);
errx(2, "%s.%s: could not perform '%s'", progname, __func__, cmd);
@@ -304,17 +304,17 @@
void
copy_hierarchy(const char *dir, const char *fname, Boolean to)
{
- char cmd[FILENAME_MAX * 3];
+ char cmd[ARG_MAX];
if (!to) {
/* If absolute path, use it */
if (*fname == '/')
dir = "/";
- snprintf(cmd, FILENAME_MAX * 3, "/usr/bin/tar cf - -C %s %s | /usr/bin/tar xpf -",
+ snprintf(cmd, ARG_MAX, "/usr/bin/tar cf - -C %s %s | /usr/bin/tar xpf -",
dir, fname);
}
else
- snprintf(cmd, FILENAME_MAX * 3, "/usr/bin/tar cf - %s | /usr/bin/tar xpf - -C %s",
+ snprintf(cmd, ARG_MAX, "/usr/bin/tar cf - %s | /usr/bin/tar xpf - -C %s",
fname, dir);
#ifdef DEBUG
printf("Using '%s' to copy trees.\n", cmd);
More information about the p4-projects
mailing list