Deleted Added
sdiff udiff text old ( 30337 ) new ( 32788 )
full compact
1/*
2 * Copyright (c) 1992, Brian Berliner and Jeff Polk
3 *
4 * You may distribute under the terms of the GNU General Public License as
5 * specified in the README file that comes with the CVS 1.4 kit.
6 *
7 * General recursion handler
8 *
9 */
10
11#include "cvs.h"
12#include "savecwd.h"
13#include "fileattr.h"

--- 138 unchanged lines hidden (view full) ---

152 /*
153 * There were no arguments, so we'll probably just recurse. The
154 * exception to the rule is when we are called from a directory
155 * without any CVS administration files. That has always meant to
156 * process each of the sub-directories, so we pretend like we were
157 * called with the list of sub-dirs of the current dir as args
158 */
159 if ((which & W_LOCAL) && !isdir (CVSADM))
160 dirlist = Find_Directories ((char *) NULL, W_LOCAL, (List *) NULL);
161 else
162 addlist (&dirlist, ".");
163
164 err += do_recursion (&frame);
165 goto out;
166 }
167
168

--- 463 unchanged lines hidden (view full) ---

632 * used is in the case where we are creating a new sub-directory for
633 * update -d and in that case the generated name will be correct.
634 */
635 if (repository == NULL)
636 newrepos = xstrdup ("");
637 else
638 {
639 newrepos = xmalloc (strlen (repository) + strlen (dir) + 5);
640 (void) sprintf (newrepos, "%s/%s", repository, dir);
641 }
642 }
643 else
644 {
645 if (update_dir[0] == '\0')
646 (void) strcpy (update_dir, dir);
647
648 if (repository == NULL)
649 newrepos = xstrdup ("");
650 else
651 newrepos = xstrdup (repository);
652 }
653
654 /* call-back dir entry proc (if any) */
655 if (frame->direntproc != NULL)
656 dir_return = frame->direntproc (frame->callerdat, dir, newrepos,
657 update_dir, frent->entries);
658 free (newrepos);
659
660 /* only process the dir if the return code was 0 */
661 if (dir_return != R_SKIP_ALL)
662 {
663 /* save our current directory and static vars */
664 if (save_cwd (&cwd))
665 error_exit ();

--- 165 unchanged lines hidden ---