o move path in libutil.h to paths.h

o make property_read() take a fd instead to avoid stdio.h mess
o update auth to new interface.
This commit is contained in:
Jordan K. Hubbard 1998-10-09 07:32:38 +00:00
parent 72671863e8
commit 50dfa596d3
3 changed files with 11 additions and 10 deletions

View File

@ -32,9 +32,11 @@
*
*/
#include <stdio.h>
#include <unistd.h>
#include <syslog.h>
#include <sys/types.h>
#include <paths.h>
#include <fcntl.h>
#include <libutil.h>
static properties P;
@ -42,15 +44,15 @@ static properties P;
static int
initauthconf(const char *path)
{
FILE *fp;
int fd;
if (!P) {
if ((fp = fopen(path, "r")) == NULL) {
if ((fd = open(path, O_RDONLY)) < 0) {
syslog(LOG_ERR, "initauthconf: unable to open file: %s", path);
return 1;
}
P = properties_read(fp);
fclose(fp);
P = properties_read(fd);
close(fd);
if (!P) {
syslog(LOG_ERR, "initauthconf: unable to parse file: %s", path);
return 1;

View File

@ -18,7 +18,7 @@
* 5. Modifications may be freely made to this file providing the above
* conditions are met.
*
* $Id: libutil.h,v 1.18 1998/10/08 23:10:41 jkh Exp $
* $Id: libutil.h,v 1.19 1998/10/09 07:28:14 jkh Exp $
*/
#ifndef _LIBUTIL_H_
@ -54,7 +54,7 @@ int uu_lock __P((const char *_ttyname));
int uu_unlock __P((const char *_ttyname));
int uu_lock_txfr __P((const char *_ttyname, pid_t _pid));
int _secure_path __P((const char *_path, uid_t _uid, gid_t _gid));
properties properties_read __P((FILE *fp));
properties properties_read __P((int fd));
void properties_free __P((properties list));
char *property_find __P((properties list, const char *name));
char *auth_getval __P((const char *name));

View File

@ -53,7 +53,7 @@ property_alloc(char *name, char *value)
}
properties
properties_read(FILE *fp)
properties_read(int fd)
{
properties head, ptr;
char hold_n[MAX_NAME + 1];
@ -75,7 +75,7 @@ properties_read(FILE *fp)
}
switch(state) {
case FILL:
if ((max = fread(buf, 1, sizeof buf, fp)) <= 0) {
if ((max = read(fd, buf, sizeof buf)) <= 0) {
state = STOP;
break;
}
@ -214,4 +214,3 @@ properties_free(properties list)
list = tmp;
}
}