summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGary Houston <ghouston@arglist.com>1997-03-22 18:26:32 +0000
committerGary Houston <ghouston@arglist.com>1997-03-22 18:26:32 +0000
commitbce074ee2280b51440cdc432294509a7100ae48d (patch)
tree9d0790fedbee542741fa99a9bf7b4c2e9e98d780
parentef12d978bb95fd0a0ef781fcf540425532fd8621 (diff)
downloadguile-bce074ee2280b51440cdc432294509a7100ae48d.tar.gz
* boot-9.scm: define accessor procedures for the objects returned
by getpw, getgr, gethost, getnet, getproto, getserv (e.g., passwd:name, where the first component is the name of the C structure and the second is the unprefixed C member name.) * * boot-9.scm (setpwent, setgrent, sethostent, setnetent, setprotoent, setservent): no longer take an argument, it was bogus.
-rw-r--r--ice-9/ChangeLog12
-rw-r--r--ice-9/Makefile.in6
-rw-r--r--ice-9/boot-9.scm48
3 files changed, 55 insertions, 11 deletions
diff --git a/ice-9/ChangeLog b/ice-9/ChangeLog
index 7e87ae9ba..59606a735 100644
--- a/ice-9/ChangeLog
+++ b/ice-9/ChangeLog
@@ -1,3 +1,15 @@
+Wed Mar 19 04:50:34 1997 Gary Houston <ghouston@actrix.gen.nz>
+
+ * boot-9.scm: define accessor procedures for the objects returned
+ by getpw, getgr, gethost, getnet, getproto, getserv (e.g.,
+ passwd:name, where the first component is the name of the C structure
+ and the second is the unprefixed C member name.)
+
+Tue Mar 18 18:39:31 1997 Gary Houston <ghouston@actrix.gen.nz>
+
+* * boot-9.scm (setpwent, setgrent, sethostent, setnetent, setprotoent,
+ setservent): no longer take an argument, it was bogus.
+
Thu Mar 13 00:13:41 1997 Gary Houston <ghouston@actrix.gen.nz>
* boot-9.scm (scm-error): deleted, reimplemented in C.
diff --git a/ice-9/Makefile.in b/ice-9/Makefile.in
index 2034d01b5..50a98c435 100644
--- a/ice-9/Makefile.in
+++ b/ice-9/Makefile.in
@@ -37,11 +37,11 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@
-VERSION = @VERSION@
+MAINT = @MAINT@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
-module = @module@
PACKAGE = @PACKAGE@
-MAINT = @MAINT@
+module = @module@
+VERSION = @VERSION@
AUTOMAKE_OPTIONS = foreign
diff --git a/ice-9/boot-9.scm b/ice-9/boot-9.scm
index eae0ec2be..1d83ea0d9 100644
--- a/ice-9/boot-9.scm
+++ b/ice-9/boot-9.scm
@@ -660,8 +660,6 @@
(define (endprotoent) (setproto))
(define (endpwent) (setpw))
(define (endservent) (setserv))
-(define (file-position . args) (apply ftell args))
-(define (file-set-position . args) (apply fseek args))
(define (getgrent) (getgr))
(define (gethostent) (gethost))
(define (getnetent) (getnet))
@@ -669,12 +667,46 @@
(define (getpwent) (getpw))
(define (getservent) (getserv))
(define (reopen-file . args) (apply freopen args))
-(define (setgrent arg) (setgr arg))
-(define (sethostent arg) (sethost arg))
-(define (setnetent arg) (setnet arg))
-(define (setprotoent arg) (setproto arg))
-(define (setpwent arg) (setpw arg))
-(define (setservent arg) (setserv arg))
+(define (setgrent) (setgr #f))
+(define (sethostent) (sethost #t))
+(define (setnetent) (setnet #t))
+(define (setprotoent) (setproto #t))
+(define (setpwent) (setpw #t))
+(define (setservent) (setserv #t))
+
+(define (passwd:name obj) (vector-ref obj 0))
+(define (passwd:passwd obj) (vector-ref obj 1))
+(define (passwd:uid obj) (vector-ref obj 2))
+(define (passwd:gid obj) (vector-ref obj 3))
+(define (passwd:gecos obj) (vector-ref obj 4))
+(define (passwd:dir obj) (vector-ref obj 5))
+(define (passwd:shell obj) (vector-ref obj 6))
+
+(define (group:name obj) (vector-ref obj 0))
+(define (group:passwd obj) (vector-ref obj 1))
+(define (group:gid obj) (vector-ref obj 2))
+(define (group:mem obj) (vector-ref obj 3))
+
+(define (hostent:name obj) (vector-ref obj 0))
+(define (hostent:aliases obj) (vector-ref obj 1))
+(define (hostent:addrtype obj) (vector-ref obj 2))
+(define (hostent:length obj) (vector-ref obj 3))
+(define (hostent:addr-list obj) (vector-ref obj 4))
+
+(define (netent:name obj) (vector-ref obj 0))
+(define (netent:aliases obj) (vector-ref obj 1))
+(define (netent:net obj) (vector-ref obj 2))
+
+(define (protoent:name obj) (vector-ref obj 0))
+(define (protoent:aliases obj) (vector-ref obj 1))
+(define (protoent:proto obj) (vector-ref obj 2))
+
+(define (servent:name obj) (vector-ref obj 0))
+(define (servent:aliases obj) (vector-ref obj 1))
+(define (servent:proto obj) (vector-ref obj 2))
+
+(define (file-position . args) (apply ftell args))
+(define (file-set-position . args) (apply fseek args))
(define (move->fdes port fd)
(primitive-move->fdes port fd)