[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Cvs-cvs] ccvs/src ChangeLog create_adm.c repos.c
From: |
Derek Robert Price |
Subject: |
[Cvs-cvs] ccvs/src ChangeLog create_adm.c repos.c |
Date: |
Thu, 25 Sep 2008 20:31:38 +0000 |
CVSROOT: /cvsroot/cvs
Module name: ccvs
Changes by: Derek Robert Price <dprice> 08/09/25 20:31:38
Modified files:
src : ChangeLog create_adm.c repos.c
Log message:
* create_adm.c: Some quoting and cleanup.
* repos.c (Short_Repository): Improve header comment. Assert truths.
Strip all trailing slashes.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/ccvs/src/ChangeLog?cvsroot=cvs&r1=1.3615&r2=1.3616
http://cvs.savannah.gnu.org/viewcvs/ccvs/src/create_adm.c?cvsroot=cvs&r1=1.57&r2=1.58
http://cvs.savannah.gnu.org/viewcvs/ccvs/src/repos.c?cvsroot=cvs&r1=1.47&r2=1.48
Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/cvs/ccvs/src/ChangeLog,v
retrieving revision 1.3615
retrieving revision 1.3616
diff -u -b -r1.3615 -r1.3616
--- ChangeLog 25 Sep 2008 18:45:07 -0000 1.3615
+++ ChangeLog 25 Sep 2008 20:31:37 -0000 1.3616
@@ -1,5 +1,9 @@
2008-09-25 Derek R. Price <address@hidden>
+ * create_adm.c: Some quoting and cleanup.
+ * repos.c (Short_Repository): Improve header comment. Assert truths.
+ Strip all trailing slashes.
+
* checkout.c: Some Traces. Some cleanup.
(checkout_proc): Pass empty update_dir to build_one_dir.
* create_adm.c: Some cleanup.
Index: create_adm.c
===================================================================
RCS file: /cvsroot/cvs/ccvs/src/create_adm.c,v
retrieving revision 1.57
retrieving revision 1.58
diff -u -b -r1.57 -r1.58
--- create_adm.c 25 Sep 2008 18:45:16 -0000 1.57
+++ create_adm.c 25 Sep 2008 20:31:38 -0000 1.58
@@ -45,8 +45,8 @@
int dotemplate)
{
FILE *fout;
- char *cp;
char *reposcopy;
+ const char *short_repos;
char *tmp, *ud;
TRACE (TRACE_FUNCTION, "Create_Admin (%s, %s, %s, %s, %s, %d, %d, %d)",
@@ -59,7 +59,8 @@
/* A leading "./" looks bad in error messages. */
tmp = dir_append (dir, CVSADM);
if (isfile (tmp))
- error (1, 0, "there is a version in %s already", quote (update_dir));
+ error (1, 0, "there is a version in %s already",
+ quote (NULL2DOT (update_dir)));
ud = dir_append (update_dir, CVSADM);
if (!cvs_mkdir (tmp, ud, warn ? 0 : MD_FATAL))
@@ -86,23 +87,12 @@
reposcopy = xstrdup (repository);
Sanitize_Repository_Name (reposcopy);
- cp = reposcopy;
-
- /*
- * If the Repository file is to hold a relative path, try to strip off
- * the leading CVSroot argument.
+ /* The Repository file is to hold a relative path, so strip off any
+ * leading CVSroot argument.
*/
- if (STRNEQ (cp, current_parsed_root->directory,
- strlen (current_parsed_root->directory)))
- {
- cp += strlen (current_parsed_root->directory);
- if (ISSLASH (*cp))
- cp += 1;
- else if (*cp)
- cp = reposcopy;
- }
+ short_repos = Short_Repository (reposcopy);
- if (fprintf (fout, "%s\n", NULL2DOT (cp)) < 0)
+ if (fprintf (fout, "%s\n", NULL2DOT (short_repos)) < 0)
error (1, errno, "write to %s failed",
quote (dir_append (update_dir, CVSADM_REP)));
if (fclose (fout) == EOF)
Index: repos.c
===================================================================
RCS file: /cvsroot/cvs/ccvs/src/repos.c,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -b -r1.47 -r1.48
--- repos.c 25 Sep 2008 18:45:17 -0000 1.47
+++ repos.c 25 Sep 2008 20:31:38 -0000 1.48
@@ -133,26 +133,30 @@
-/*
- * Return a pointer to the repository name relative to CVSROOT from a
+/* Return a pointer to the repository name relative to CVSROOT from a
* possibly fully qualified repository
+ *
+ * Given NULL, return NULL.
*/
const char *
Short_Repository (const char *repository)
{
- if (repository == NULL)
- return NULL;
+ const char *rep;
- /* If repository matches CVSroot at the beginning, strip off CVSroot */
- /* And skip leading '/' in rep, in case CVSroot ended with '/'. */
- if (STRNEQ (original_parsed_root->directory, repository,
- strlen (original_parsed_root->directory)))
- {
- const char *rep = repository + strlen (original_parsed_root->directory);
- return (*rep == '/') ? rep+1 : rep;
- }
- else
+ if (!repository || !ISABSOLUTE (repository))
return repository;
+
+ /* Strip off a leading CVSroot from the beginning of repository. */
+ assert (STRNEQ (original_parsed_root->directory, repository,
+ strlen (original_parsed_root->directory)));
+
+ rep = repository + strlen (original_parsed_root->directory);
+ assert (!*rep || ISSLASH (*rep));
+
+ /* Skip leading slashes in rep, in case CVSroot ended with a slash. */
+ while (ISSLASH (*rep)) rep++;
+
+ return rep;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Cvs-cvs] ccvs/src ChangeLog create_adm.c repos.c,
Derek Robert Price <=