diff options
Diffstat (limited to 'usr/src/lib/libcmd/common/cksum.c')
-rw-r--r-- | usr/src/lib/libcmd/common/cksum.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/usr/src/lib/libcmd/common/cksum.c b/usr/src/lib/libcmd/common/cksum.c index 2be23e4a93..c42e865b09 100644 --- a/usr/src/lib/libcmd/common/cksum.c +++ b/usr/src/lib/libcmd/common/cksum.c @@ -1,7 +1,7 @@ /*********************************************************************** * * * This software is part of the ast package * -* Copyright (c) 1992-2009 AT&T Intellectual Property * +* Copyright (c) 1992-2010 AT&T Intellectual Property * * and is licensed under the * * Common Public License, Version 1.0 * * by AT&T Intellectual Property * @@ -27,7 +27,7 @@ */ static const char usage[] = -"[-?\n@(#)$Id: sum (AT&T Research) 2009-07-02 $\n]" +"[-?\n@(#)$Id: sum (AT&T Research) 2009-11-28 $\n]" USAGE_LICENSE "[+NAME?cksum,md5sum,sum - print file checksum and block count]" "[+DESCRIPTION?\bsum\b lists the checksum, and for most methods the block" @@ -113,7 +113,7 @@ USAGE_LICENSE #include <sum.h> #include <ls.h> #include <modex.h> -#include <fts.h> +#include <fts_fix.h> #include <error.h> typedef struct State_s /* program state */ @@ -453,8 +453,7 @@ b_cksum(int argc, register char** argv, void* context) cmdinit(argc, argv, context, ERROR_CATALOG, ERROR_NOTIFY); memset(&state, 0, sizeof(state)); - setlocale(LC_ALL, ""); - flags = fts_flags() | FTS_TOP | FTS_NOPOSTORDER | FTS_NOSEEDOTDIR; + flags = fts_flags() | FTS_TOP | FTS_NOPOSTORDER; state.flags = SUM_SIZE; state.warn = 1; logical = 1; @@ -555,7 +554,10 @@ b_cksum(int argc, register char** argv, void* context) */ if (logical) + { flags &= ~(FTS_META|FTS_PHYSICAL); + flags |= FTS_SEEDOTDIR; + } if (state.permissions) { state.uid = geteuid(); |