diff --git a/libguile/ChangeLog b/libguile/ChangeLog index 3f71b2649..078f54d1b 100644 --- a/libguile/ChangeLog +++ b/libguile/ChangeLog @@ -1,3 +1,18 @@ +Thu Mar 13 21:28:25 1997 Gary Houston + + * ioext.c (scm_read_delimited_x): use RO string macros for delims. + (scm_freopen): use RO string macros for filename and modes. + (scm_duplicate_port, scm_fdopen): use RO string macros for modes. + + * posix.c (scm_getgrgid): simplify conversion of name to C string. + (scm_mknod): use RO string macros for path. + + * socket.c (scm_fill_sockaddr, scm_send, scm_sendto): + use SCM_ROSTRINGP, SCM_ROCHARS, SCM_ROLENGTH. + + * net_db.c (scm_gethost, scm_getnet, scm_getproto, scm_getserv): + use SCM_ROSTRINGP and SCM_ROCHARS. + Thu Mar 13 18:31:33 1997 Mikael Djurfeldt * unif.c (scm_array_set_x): Cast ICHR (obj) to char if storing in diff --git a/libguile/ioext.c b/libguile/ioext.c index 694dd5739..7914b4877 100644 --- a/libguile/ioext.c +++ b/libguile/ioext.c @@ -79,10 +79,10 @@ scm_read_delimited_x (delims, buf, gobble, port, start, end) char *cdelims; int num_delims; - SCM_ASSERT (SCM_NIMP (delims) && SCM_STRINGP (delims), + SCM_ASSERT (SCM_NIMP (delims) && SCM_ROSTRINGP (delims), delims, SCM_ARG1, s_read_delimited_x); - cdelims = SCM_CHARS (delims); - num_delims = SCM_LENGTH (delims); + cdelims = SCM_ROCHARS (delims); + num_delims = SCM_ROLENGTH (delims); SCM_ASSERT (SCM_NIMP (buf) && SCM_STRINGP (buf), buf, SCM_ARG2, s_read_delimited_x); cbuf = SCM_CHARS (buf); @@ -203,11 +203,14 @@ scm_freopen (filename, modes, port) SCM port; { FILE *f; - SCM_ASSERT (SCM_NIMP (filename) && SCM_STRINGP (filename), filename, SCM_ARG1, s_freopen); - SCM_ASSERT (SCM_NIMP (modes) && SCM_STRINGP (modes), modes, SCM_ARG2, s_freopen); + SCM_ASSERT (SCM_NIMP (filename) && SCM_ROSTRINGP (filename), filename, + SCM_ARG1, s_freopen); + SCM_ASSERT (SCM_NIMP (modes) && SCM_ROSTRINGP (modes), modes, SCM_ARG2, + s_freopen); SCM_DEFER_INTS; SCM_ASSERT (SCM_NIMP (port) && SCM_FPORTP (port), port, SCM_ARG3, s_freopen); - SCM_SYSCALL (f = freopen (SCM_CHARS (filename), SCM_CHARS (modes), (FILE *)SCM_STREAM (port))); + SCM_SYSCALL (f = freopen (SCM_ROCHARS (filename), SCM_ROCHARS (modes), + (FILE *)SCM_STREAM (port))); if (!f) { SCM p; @@ -218,9 +221,9 @@ scm_freopen (filename, modes, port) } else { - SCM_SETCAR (port, scm_tc16_fport | scm_mode_bits (SCM_CHARS (modes))); + SCM_SETCAR (port, scm_tc16_fport | scm_mode_bits (SCM_ROCHARS (modes))); SCM_SETSTREAM (port, (SCM)f); - SCM_SETCAR (port, scm_tc16_fport | scm_mode_bits (SCM_CHARS (modes))); + SCM_SETCAR (port, scm_tc16_fport | scm_mode_bits (SCM_ROCHARS (modes))); if (SCM_BUF0 & SCM_CAR (port)) scm_setbuf0 (port); } @@ -241,8 +244,10 @@ scm_duplicate_port (oldpt, modes) int newfd; FILE *f; SCM newpt; - SCM_ASSERT (SCM_NIMP (oldpt) && SCM_OPPORTP (oldpt), oldpt, SCM_ARG1, s_duplicate_port); - SCM_ASSERT (SCM_NIMP (modes) && SCM_STRINGP (modes), modes, SCM_ARG2, s_duplicate_port); + SCM_ASSERT (SCM_NIMP (oldpt) && SCM_OPPORTP (oldpt), oldpt, SCM_ARG1, + s_duplicate_port); + SCM_ASSERT (SCM_NIMP (modes) && SCM_ROSTRINGP (modes), modes, SCM_ARG2, + s_duplicate_port); SCM_NEWCELL (newpt); SCM_DEFER_INTS; oldfd = fileno ((FILE *)SCM_STREAM (oldpt)); @@ -251,7 +256,7 @@ scm_duplicate_port (oldpt, modes) SCM_SYSCALL (newfd = dup (oldfd)); if (newfd == -1) scm_syserror (s_duplicate_port); - f = fdopen (newfd, SCM_CHARS (modes)); + f = fdopen (newfd, SCM_ROCHARS (modes)); if (!f) { SCM_SYSCALL (close (newfd)); @@ -261,7 +266,7 @@ scm_duplicate_port (oldpt, modes) struct scm_port_table * pt; pt = scm_add_to_port_table (newpt); SCM_SETPTAB_ENTRY (newpt, pt); - SCM_SETCAR (newpt, scm_tc16_fport | scm_mode_bits (SCM_CHARS (modes))); + SCM_SETCAR (newpt, scm_tc16_fport | scm_mode_bits (SCM_ROCHARS (modes))); if (SCM_BUF0 & SCM_CAR (newpt)) scm_setbuf0 (newpt); SCM_SETSTREAM (newpt, (SCM)f); @@ -340,15 +345,16 @@ scm_fdopen (fdes, modes) struct scm_port_table * pt; SCM_ASSERT (SCM_INUMP (fdes), fdes, SCM_ARG1, s_fdopen); - SCM_ASSERT (SCM_NIMP (modes) && SCM_STRINGP (modes), modes, SCM_ARG2, s_fdopen); + SCM_ASSERT (SCM_NIMP (modes) && SCM_ROSTRINGP (modes), modes, SCM_ARG2, + s_fdopen); SCM_NEWCELL (port); SCM_DEFER_INTS; - f = fdopen (SCM_INUM (fdes), SCM_CHARS (modes)); + f = fdopen (SCM_INUM (fdes), SCM_ROCHARS (modes)); if (f == NULL) scm_syserror (s_fdopen); pt = scm_add_to_port_table (port); SCM_SETPTAB_ENTRY (port, pt); - SCM_SETCAR (port, scm_tc16_fport | scm_mode_bits (SCM_CHARS (modes))); + SCM_SETCAR (port, scm_tc16_fport | scm_mode_bits (SCM_ROCHARS (modes))); if (SCM_BUF0 & SCM_CAR (port)) scm_setbuf0 (port); SCM_SETSTREAM (port, (SCM)f); diff --git a/libguile/net_db.c b/libguile/net_db.c index 0e21667e9..fccff300b 100644 --- a/libguile/net_db.c +++ b/libguile/net_db.c @@ -171,10 +171,10 @@ scm_gethost (name) } else #endif - if (SCM_NIMP (name) && SCM_STRINGP (name)) + if (SCM_NIMP (name) && SCM_ROSTRINGP (name)) { SCM_DEFER_INTS; - entry = gethostbyname (SCM_CHARS (name)); + entry = gethostbyname (SCM_ROCHARS (name)); } else { @@ -222,10 +222,10 @@ scm_getnet (name) SCM_DEFER_INTS; entry = getnetent (); } - else if (SCM_NIMP (name) && SCM_STRINGP (name)) + else if (SCM_NIMP (name) && SCM_ROSTRINGP (name)) { SCM_DEFER_INTS; - entry = getnetbyname (SCM_CHARS (name)); + entry = getnetbyname (SCM_ROCHARS (name)); } else { @@ -261,10 +261,10 @@ scm_getproto (name) SCM_DEFER_INTS; entry = getprotoent (); } - else if (SCM_NIMP (name) && SCM_STRINGP (name)) + else if (SCM_NIMP (name) && SCM_ROSTRINGP (name)) { SCM_DEFER_INTS; - entry = getprotobyname (SCM_CHARS (name)); + entry = getprotobyname (SCM_ROCHARS (name)); } else { @@ -319,17 +319,17 @@ scm_getserv (name, proto) SCM_ALLOW_INTS; return scm_return_entry (entry); } - SCM_ASSERT (SCM_NIMP (proto) && SCM_STRINGP (proto), proto, SCM_ARG2, s_getserv); - if (SCM_NIMP (name) && SCM_STRINGP (name)) + SCM_ASSERT (SCM_NIMP (proto) && SCM_ROSTRINGP (proto), proto, SCM_ARG2, s_getserv); + if (SCM_NIMP (name) && SCM_ROSTRINGP (name)) { SCM_DEFER_INTS; - entry = getservbyname (SCM_CHARS (name), SCM_CHARS (proto)); + entry = getservbyname (SCM_ROCHARS (name), SCM_ROCHARS (proto)); } else { SCM_ASSERT (SCM_INUMP (name), name, SCM_ARG1, s_getserv); SCM_DEFER_INTS; - entry = getservbyport (htons (SCM_INUM (name)), SCM_CHARS (proto)); + entry = getservbyport (htons (SCM_INUM (name)), SCM_ROCHARS (proto)); } if (!entry) scm_syserror (s_getserv); diff --git a/libguile/posix.c b/libguile/posix.c index a7a19b742..9016dd2d6 100644 --- a/libguile/posix.c +++ b/libguile/posix.c @@ -353,10 +353,9 @@ scm_getgrgid (name) SCM_SYSCALL (entry = getgrgid (SCM_INUM (name))); else { - SCM_ASSERT (SCM_NIMP (name) && SCM_STRINGP (name), name, SCM_ARG1, s_getgrgid); - if (SCM_SUBSTRP (name)) - name = scm_makfromstr (SCM_ROCHARS (name), SCM_ROLENGTH (name), 0); - SCM_SYSCALL (entry = getgrnam (SCM_CHARS (name))); + SCM_ASSERT (SCM_NIMP (name) && SCM_ROSTRINGP (name), name, SCM_ARG1, + s_getgrgid); + SCM_SYSCALL (entry = getgrnam (SCM_ROCHARS (name))); } if (!entry) scm_syserror (s_getgrgid); @@ -698,8 +697,8 @@ scm_convert_exec_args (args) scm_sizet len; char *dst; char *src; - SCM_ASSERT (SCM_NIMP (SCM_CAR (args)) && SCM_ROSTRINGP (SCM_CAR (args)), SCM_CAR (args), - "wrong type in SCM_ARG", "exec arg"); + SCM_ASSERT (SCM_NIMP (SCM_CAR (args)) && SCM_ROSTRINGP (SCM_CAR (args)), + SCM_CAR (args), "wrong type in SCM_ARG", "exec arg"); len = 1 + SCM_ROLENGTH (SCM_CAR (args)); dst = (char *) scm_must_malloc ((long) len, s_ttyname); src = SCM_ROCHARS (SCM_CAR (args)); @@ -739,9 +738,11 @@ scm_execlp (args) { char **execargv; SCM filename = SCM_CAR (args); - SCM_ASSERT (SCM_NIMP (filename) && SCM_ROSTRINGP (filename), filename, SCM_ARG1, s_execlp); + SCM_ASSERT (SCM_NIMP (filename) && SCM_ROSTRINGP (filename), filename, + SCM_ARG1, s_execlp); if (SCM_SUBSTRP (filename)) - filename = scm_makfromstr (SCM_ROCHARS (filename), SCM_ROLENGTH (filename), 0); + filename = scm_makfromstr (SCM_ROCHARS (filename), + SCM_ROLENGTH (filename), 0); args = SCM_CDR (args); execargv = scm_convert_exec_args (args); execvp (SCM_ROCHARS (filename), execargv); @@ -814,8 +815,9 @@ scm_environ (env) { int len; char *src; - SCM_ASSERT (SCM_NIMP (SCM_CAR (env)) && SCM_ROSTRINGP (SCM_CAR (env)), env, SCM_ARG1, - s_environ); + SCM_ASSERT (SCM_NIMP (SCM_CAR (env)) + && SCM_ROSTRINGP (SCM_CAR (env)), + env, SCM_ARG1, s_environ); len = 1 + SCM_ROLENGTH (SCM_CAR (env)); new_environ[i] = scm_must_malloc ((long) len, s_environ); src = SCM_ROCHARS (SCM_CAR (env)); @@ -867,10 +869,13 @@ scm_open_pipe (pipestr, modes) register SCM z; struct scm_port_table * pt; - SCM_ASSERT (SCM_NIMP (pipestr) && SCM_ROSTRINGP (pipestr), pipestr, SCM_ARG1, s_open_pipe); + SCM_ASSERT (SCM_NIMP (pipestr) && SCM_ROSTRINGP (pipestr), pipestr, + SCM_ARG1, s_open_pipe); if (SCM_SUBSTRP (pipestr)) - pipestr = scm_makfromstr (SCM_ROCHARS (pipestr), SCM_ROLENGTH (pipestr), 0); - SCM_ASSERT (SCM_NIMP (modes) && SCM_ROSTRINGP (modes), modes, SCM_ARG2, s_open_pipe); + pipestr = scm_makfromstr (SCM_ROCHARS (pipestr), + SCM_ROLENGTH (pipestr), 0); + SCM_ASSERT (SCM_NIMP (modes) && SCM_ROSTRINGP (modes), modes, SCM_ARG2, + s_open_pipe); if (SCM_SUBSTRP (modes)) modes = scm_makfromstr (SCM_ROCHARS (modes), SCM_ROLENGTH (modes), 0); SCM_NEWCELL (z); @@ -920,7 +925,8 @@ scm_utime (pathname, actime, modtime) int rv; struct utimbuf utm_tmp; - SCM_ASSERT (SCM_NIMP (pathname) && SCM_STRINGP (pathname), pathname, SCM_ARG1, s_utime); + SCM_ASSERT (SCM_NIMP (pathname) && SCM_STRINGP (pathname), pathname, + SCM_ARG1, s_utime); if (SCM_UNBNDP (actime)) SCM_SYSCALL (time (&utm_tmp.actime)); @@ -947,7 +953,8 @@ scm_access (path, how) { int rv; - SCM_ASSERT (SCM_NIMP (path) && SCM_ROSTRINGP (path), path, SCM_ARG1, s_access); + SCM_ASSERT (SCM_NIMP (path) && SCM_ROSTRINGP (path), path, SCM_ARG1, + s_access); if (SCM_SUBSTRP (path)) path = scm_makfromstr (SCM_ROCHARS (path), SCM_ROLENGTH (path), 0); SCM_ASSERT (SCM_INUMP (how), how, SCM_ARG2, s_access); @@ -1002,7 +1009,8 @@ scm_setlocale (category, locale) } else { - SCM_ASSERT (SCM_NIMP (locale) && SCM_STRINGP (locale), locale, SCM_ARG2, s_setlocale); + SCM_ASSERT (SCM_NIMP (locale) && SCM_STRINGP (locale), locale, + SCM_ARG2, s_setlocale); clocale = SCM_CHARS (locale); } @@ -1032,9 +1040,11 @@ scm_strftime (format, stime) char *fmt; int len; - SCM_ASSERT (SCM_NIMP (format) && SCM_STRINGP (format), format, SCM_ARG1, s_strftime); - SCM_ASSERT (SCM_NIMP (stime) && SCM_VECTORP (stime) && scm_obj_length (stime) == 9, - stime, SCM_ARG2, s_strftime); + SCM_ASSERT (SCM_NIMP (format) && SCM_STRINGP (format), format, SCM_ARG1, + s_strftime); + SCM_ASSERT (SCM_NIMP (stime) && SCM_VECTORP (stime) + && scm_obj_length (stime) == 9, + stime, SCM_ARG2, s_strftime); fmt = SCM_ROCHARS (format); len = SCM_ROLENGTH (format); @@ -1080,10 +1090,12 @@ scm_strptime (format, string) char *fmt, *str, *rest; int n; - SCM_ASSERT (SCM_NIMP (format) && SCM_ROSTRINGP (format), format, SCM_ARG1, s_strptime); + SCM_ASSERT (SCM_NIMP (format) && SCM_ROSTRINGP (format), format, SCM_ARG1, + s_strptime); if (SCM_SUBSTRP (format)) format = scm_makfromstr (SCM_ROCHARS (format), SCM_ROLENGTH (format), 0); - SCM_ASSERT (SCM_NIMP (string) && SCM_ROSTRINGP (string), string, SCM_ARG2, s_strptime); + SCM_ASSERT (SCM_NIMP (string) && SCM_ROSTRINGP (string), string, SCM_ARG2, + s_strptime); if (SCM_SUBSTRP (string)) string = scm_makfromstr (SCM_ROCHARS (string), SCM_ROLENGTH (string), 0); @@ -1143,10 +1155,10 @@ scm_mknod(path, mode, dev) { #ifdef HAVE_MKNOD int val; - SCM_ASSERT(SCM_NIMP(path) && SCM_STRINGP(path), path, SCM_ARG1, s_mknod); + SCM_ASSERT(SCM_NIMP(path) && SCM_ROSTRINGP(path), path, SCM_ARG1, s_mknod); SCM_ASSERT(SCM_INUMP(mode), mode, SCM_ARG2, s_mknod); SCM_ASSERT(SCM_INUMP(dev), dev, SCM_ARG3, s_mknod); - SCM_SYSCALL(val = mknod(SCM_CHARS(path), SCM_INUM(mode), SCM_INUM(dev))); + SCM_SYSCALL(val = mknod(SCM_ROCHARS(path), SCM_INUM(mode), SCM_INUM(dev))); if (val != 0) scm_syserror (s_mknod); return SCM_UNSPECIFIED; diff --git a/libguile/socket.c b/libguile/socket.c index e4a817796..1dcccb3d6 100644 --- a/libguile/socket.c +++ b/libguile/socket.c @@ -356,9 +356,10 @@ scm_fill_sockaddr (fam, address, args, which_arg, proc, size) soka = (struct sockaddr_un *) scm_must_malloc (sizeof (struct sockaddr_un), proc); soka->sun_family = AF_UNIX; - SCM_ASSERT (SCM_NIMP (address) && SCM_STRINGP (address), address, - which_arg, proc); - memcpy (soka->sun_path, SCM_CHARS (address), 1 + SCM_LENGTH (address)); + SCM_ASSERT (SCM_NIMP (address) && SCM_ROSTRINGP (address), address, + which_arg, proc); + memcpy (soka->sun_path, SCM_ROCHARS (address), + 1 + SCM_ROLENGTH (address)); *size = sizeof (struct sockaddr_un); return (struct sockaddr *) soka; } @@ -599,7 +600,7 @@ scm_send (sock, message, flags) int flg; SCM_ASSERT (SCM_NIMP (sock) && SCM_FPORTP (sock), sock, SCM_ARG1, s_send); - SCM_ASSERT (SCM_NIMP (message) && SCM_STRINGP (message), message, SCM_ARG2, s_send); + SCM_ASSERT (SCM_NIMP (message) && SCM_ROSTRINGP (message), message, SCM_ARG2, s_send); fd = fileno ((FILE *)SCM_STREAM (sock)); if (SCM_UNBNDP (flags)) @@ -607,7 +608,7 @@ scm_send (sock, message, flags) else flg = scm_num2ulong (flags, (char *) SCM_ARG3, s_send); - SCM_SYSCALL (rv = send (fd, SCM_CHARS (message), SCM_LENGTH (message), flg)); + SCM_SYSCALL (rv = send (fd, SCM_ROCHARS (message), SCM_ROLENGTH (message), flg)); if (rv == -1) scm_syserror (s_send); return SCM_MAKINUM (rv); @@ -697,7 +698,8 @@ scm_sendto (sock, message, fam, address, args_and_flags) scm_sizet size; SCM_ASSERT (SCM_NIMP (sock) && SCM_FPORTP (sock), sock, SCM_ARG1, s_sendto); - SCM_ASSERT (SCM_NIMP (message) && SCM_STRINGP (message), message, SCM_ARG2, s_sendto); + SCM_ASSERT (SCM_NIMP (message) && SCM_ROSTRINGP (message), message, + SCM_ARG2, s_sendto); SCM_ASSERT (SCM_INUMP (fam), fam, SCM_ARG3, s_sendto); fd = fileno ((FILE *)SCM_STREAM (sock)); SCM_DEFER_INTS; @@ -711,8 +713,8 @@ scm_sendto (sock, message, fam, address, args_and_flags) args_and_flags, SCM_ARG5, s_sendto); flg = scm_num2ulong (SCM_CAR (args_and_flags), (char *) SCM_ARG5, s_sendto); } - SCM_SYSCALL (rv = sendto (fd, SCM_CHARS (message), SCM_LENGTH (message), flg, - soka, size)); + SCM_SYSCALL (rv = sendto (fd, SCM_ROCHARS (message), SCM_ROLENGTH (message), + flg, soka, size)); if (rv == -1) scm_syserror (s_sendto); scm_must_free ((char *) soka);