]>
Commit | Line | Data |
---|---|---|
d5fe4098 AG |
1 | diff -burN cvs-1.11.21.orig/src/login.c cvs-1.11.21/src/login.c |
2 | --- cvs-1.11.21.orig/src/login.c 2006-01-13 23:13:53.072883256 +0100 | |
3 | +++ cvs-1.11.21/src/login.c 2006-01-13 23:15:29.033295056 +0100 | |
4 | @@ -313,9 +313,25 @@ | |
a6d1728f AM |
5 | fp = CVS_FOPEN (passfile, "r"); |
6 | if (fp == NULL) | |
7 | { | |
87b758f5 | 8 | + /* The password file doesn't exist yet - probably because it's |
9 | + * the first time someone uses cvs login. Create it. | |
10 | + */ | |
11 | + fp = CVS_FOPEN (passfile, "w"); | |
d5fe4098 AG |
12 | + if (fp == NULL) |
13 | + { | |
14 | + /* Creating the password file didn't work. Bail out. */ | |
15 | + error(0, errno, "warning: failed to open %s for writing", passfile); | |
16 | + goto process; | |
17 | + } | |
87b758f5 | 18 | + fclose (fp); |
19 | + fp = CVS_FOPEN (passfile, "r"); | |
20 | + if (fp == NULL) | |
21 | + { | |
d5fe4098 AG |
22 | + /* Opening the password file didn't work. Bail out. */ |
23 | error (0, errno, "warning: failed to open %s for reading", passfile); | |
24 | goto process; | |
a6d1728f | 25 | } |
d5fe4098 | 26 | + } |
a6d1728f | 27 | |
d5fe4098 AG |
28 | /* Check each line to see if we have this entry already. */ |
29 | line = 0; |