]> git.pld-linux.org Git - packages/cvs.git/commitdiff
- new version
authorTomek Orzechowski <orzech@pld-linux.org>
Wed, 11 Dec 2002 15:14:50 +0000 (15:14 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    cvs-home_etc.patch -> 1.2

cvs-home_etc.patch

index 8071ff16750900bc25c3c50c1a57a88fc6966fa8..5d55f0c8d4b7309d9fd5aacab29687d5edf48d88 100644 (file)
@@ -1,7 +1,14 @@
-diff -ruN cvs-1.11.2.org/src/login.c cvs-1.11.2/src/login.c
---- cvs-1.11.2.org/src/login.c Sat Jun  1 23:47:43 2002
-+++ cvs-1.11.2/src/login.c     Sat Jun  1 23:49:12 2002
-@@ -30,7 +30,7 @@
+--- cvs-1.11.1p1.org/src/login.c       Thu Sep  6 18:18:29 2001
++++ cvs-1.11.1p1/src/login.c   Wed Dec 11 15:19:42 2002
+@@ -7,6 +7,7 @@
+  * Allow user to log in for an authenticating server.
+  */
++#include <sys/stat.h>
+ #include "cvs.h"
+ #include "getline.h"
+@@ -30,7 +31,7 @@
  #endif
  
  #ifndef CVS_PASSWORD_FILE 
@@ -10,13 +17,26 @@ diff -ruN cvs-1.11.2.org/src/login.c cvs-1.11.2/src/login.c
  #endif
  
  /* If non-NULL, get_cvs_password() will just return this. */
-@@ -65,8 +65,13 @@
+@@ -44,6 +45,8 @@
+ {
+     char *homedir;
+     char *passfile;
++    char *path;
++    struct stat st;
+     /* Environment should override file. */
+     if ((passfile = getenv ("CVS_PASSFILE")) != NULL)
+@@ -65,8 +68,17 @@
        return (char *) NULL;
      }
  
-+    if (getenv("CONFIG_DIR")) {
-+      passfile = (char *) xmalloc (strlen (homedir) + strlen (getenv("CONFIG_DIR")) + strlen (CVS_PASSWORD_FILE) + 4);
-+      sprintf (passfile, "%s/%s/%s", homedir, getenv("CONFIG_DIR"), CVS_PASSWORD_FILE);
++    if ( (path=getenv("CONFIG_DIR")) && path[0] ) {
++      path=(char*) malloc(strlen(homedir)+strlen(getenv("CONFIG_DIR"))+2);
++      sprintf(path, "%s/%s", homedir, getenv("CONFIG_DIR"));
++    } else path=(char *) NULL;
++    if ( path && stat(path,&st)!=-1 && S_ISDIR(st.st_mode) ) {
++      passfile = (char *) xmalloc (strlen (path) + strlen (CVS_PASSWORD_FILE) + 3);
++      sprintf (passfile, "%s/%s", path, CVS_PASSWORD_FILE);
 +    }
 +    else {
      passfile =
@@ -25,13 +45,15 @@ diff -ruN cvs-1.11.2.org/src/login.c cvs-1.11.2/src/login.c
      strcpy (passfile, homedir);
  #ifndef NO_SLASH_AFTER_HOME
      /* NO_SLASH_AFTER_HOME is defined for VMS, where foo:[bar]/.cvspass is not
-@@ -75,7 +80,9 @@
+@@ -75,7 +87,11 @@
         kind of thing....  */
      strcat (passfile, "/");
  #endif
 +    strcat (passfile, ".");
      strcat (passfile, CVS_PASSWORD_FILE);
-+    }
++    } /* else */
++    if (path)
++          free(path);
  
      /* Safety first and last, Scouts. */
      if (isfile (passfile))
This page took 0.057566 seconds and 4 git commands to generate.