| version 1.17, 1999/03/26 22:23:57 |
version 1.18, 1999/05/03 14:33:50 |
| Line 389 getcwd(pt, size) |
|
| Line 389 getcwd(pt, size) |
|
| char *pt; |
char *pt; |
| size_t size; |
size_t size; |
| { |
{ |
| int ptsize, bufsize, len; |
size_t ptsize, bufsize; |
| |
int len; |
| |
|
| /* |
/* |
| * If no buffer specified by the user, allocate one as necessary. |
* If no buffer specified by the user, allocate one as necessary. |
| Line 408 getcwd(pt, size) |
|
| Line 409 getcwd(pt, size) |
|
| return (NULL); |
return (NULL); |
| bufsize = ptsize; |
bufsize = ptsize; |
| } |
} |
| do { |
for (;;) { |
| len = __getcwd(pt, bufsize); |
len = __getcwd(pt, bufsize); |
| if ((len < 0) && (size == 0) && (errno == ERANGE)) { |
if ((len < 0) && (size == 0) && (errno == ERANGE)) { |
| if ((pt = realloc(pt, ptsize *= 2)) == NULL) |
if ((pt = realloc(pt, ptsize *= 2)) == NULL) |
| Line 416 getcwd(pt, size) |
|
| Line 417 getcwd(pt, size) |
|
| bufsize = ptsize; |
bufsize = ptsize; |
| continue; |
continue; |
| } |
} |
| } while (0); |
break; |
| |
} |
| if (len < 0) |
if (len < 0) |
| return NULL; |
return NULL; |
| else |
else |