projects
/
unix-history
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
blame
|
history
|
raw
|
HEAD
open file before allocating buffer as per Ken Greer (hplabs!kg) suggestion
[unix-history]
/
usr
/
src
/
lib
/
libc
/
gen
/
opendir.c
/* Copyright (c) 1982 Regents of the University of California */
static char
sccsid
[] =
"@(#)opendir.c 4.3 %G%"
;
#include <sys/types.h>
#include <sys/stat.h>
#include <ndir.h>
/*
* open a directory.
*/
DIR
*
opendir
(
name
)
char
*
name
;
{
register
DIR
*
dirp
;
register
int
fd
;
struct
stat sbuf
;
if
((
fd
=
open
(
name
,
0
)) == -
1
)
return
NULL
;
fstat
(
fd
, &
sbuf
);
if
(((
sbuf
.
st_mode
&
S_IFDIR
) ==
0
) ||
((
dirp
= (
DIR
*)
malloc
(
sizeof
(
DIR
))) ==
NULL
)) {
close
(
fd
);
return
NULL
;
}
dirp
->
dd_fd
=
fd
;
dirp
->
dd_loc
=
0
;
return
dirp
;
}