* Fix tests for length of slave buffer.
authorSam Hartman <hartmans@mit.edu>
Wed, 2 Aug 1995 17:20:59 +0000 (17:20 +0000)
committerSam Hartman <hartmans@mit.edu>
Wed, 2 Aug 1995 17:20:59 +0000 (17:20 +0000)
* Add pty_init to initialize error tables.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@6379 dc483132-0cff-0310-8789-dd5450dbe970

src/util/pty/.Sanitize
src/util/pty/ChangeLog
src/util/pty/Makefile.in
src/util/pty/getpty.c
src/util/pty/init.c [new file with mode: 0644]
src/util/pty/libpty.h
src/util/pty/pty-int.h

index b5053622161eff9a408578d20d330d2a9158dd88..d988ede18a005e2f10a7b440c2e5192182461cef 100644 (file)
@@ -31,6 +31,7 @@ cleanup.c
 getpty.c
 initialize_slave.c
 libpty.h
+init.c
 logwtmp.c
 open_ctty.c
 open_slave.c
index 190e05ca44fd6228dd4d5e76e057b0e0ff34c548..0a4c2cf9f284b8d9978aa519143bbfc910d0b656 100644 (file)
@@ -1,3 +1,8 @@
+Wed Aug  2 11:59:19 1995  Sam Hartman  <hartmans@tertius.mit.edu>
+
+       * init.c (pty_init): New file to handle initialization--currently only error tables.
+
+       * getpty.c (pty_getpty): Reverse sense of logic tests so they work.  
 
 Tue Aug  1 08:20:06 1995  Sam Hartman  <hartmans@tertius.mit.edu>
 
index 1e6545888c933056009e93a2e2daf259d2b1ae40..d80a81579444f9054fc1a25f4b75157615941167 100644 (file)
@@ -6,7 +6,8 @@ SED = sed
        $(CC) $(CFLAGS) -c $(srcdir)/$*.c
 
 
-LIBOBJS= cleanup.o getpty.o initialize_slave.o open_ctty.o open_slave.o update_utmp.o update_wtmp.o vhangup.o void_assoc.o pty_err.o logwtmp.o
+LIBOBJS= cleanup.o getpty.o initialize_slave.o open_ctty.o open_slave.o \
+   update_utmp.o update_wtmp.o vhangup.o void_assoc.o pty_err.o logwtmp.o init.o
 
 LIBDONE=DONE
 LIB_SUBDIRS=.
@@ -16,10 +17,10 @@ INSTALLFILE = cp
 LOCALINCLUDE=-I. -I$(srcdir)
 
 FILES= Makefile cleanup.c getpty.c initialize_slave.c open_ctty.c open_slave.c update_utmp.c update_wtmp.c vhangup.c void_assoc.c pty_err.h pty_err.c\
-logwtmp.c
+logwtmp.c init.c
 
 CFILES=cleanup.c getpty.c initialize_slave.c open_ctty.c open_slave.c\
-update_utmp.c update_wtmp.c vhangup.c void_assoc.c pty_err.c logwtmp.c
+update_utmp.c update_wtmp.c vhangup.c void_assoc.c pty_err.c logwtmp.c init.c
 
 
 SRCS=pty_err.h $(CFILES)
index 7968e4256905184d097fa20879847192c5fb2554..b0eb602a771ac771baac410240ff03e6fb69ffd1 100644 (file)
@@ -63,7 +63,7 @@ close(slavefd);
 #endif
 #endif
        if (p) {
-           if ( strlen(p) < slavelength)
+           if ( strlen(p) > slavelength)
                {
                    close (*fd);
                    *fd = -1;
@@ -80,7 +80,7 @@ close(slavefd);
        }
        ptynum = (int)(stb.st_rdev&0xFF);
     sprintf(slavebuf, "/dev/ttyp%x", ptynum);
-    if ( strlen(slavebuf) < slavelength) {
+    if ( strlen(slavebuf) > slavelength) {
        close(*fd);
        *fd = -1;
        return PTY_GETPTY_SLAVE_TOOLONG;
diff --git a/src/util/pty/init.c b/src/util/pty/init.c
new file mode 100644 (file)
index 0000000..40cf239
--- /dev/null
@@ -0,0 +1,29 @@
+/*
+ * pty_init: Initialize internal state of pty.
+ * Currently initializes error tables.
+ * Copyright 1990 by the Massachusetts Institute of Technology.
+ *
+ * 
+ *Permission to use, copy, modify, and
+ * distribute this software and its documentation for any purpose and
+ * without fee is hereby granted, provided that the above copyright
+ * notice appear in all copies and that both that copyright notice and
+ * this permission notice appear in supporting documentation, and that
+ * the name of M.I.T. not be used in advertising or publicity pertaining
+ * to distribution of the software without specific, written prior
+ * permission.  M.I.T. makes no representations about the suitability of
+ * this software for any purpose.  It is provided "as is" without express
+ * or implied warranty.
+ * 
+ */
+
+#include "mit-copyright.h"
+#include <com_err.h>
+#include "libpty.h"
+#include "pty-int.h"
+
+long pty_init()
+{
+    initialize_pty_error_table();
+    return 0;
+}
index b8e9a5aa4c1caad5bb9b8bf4701511aade1ed2ae..685ce61bd4573f1d3d042e63349199474254ad44 100644 (file)
@@ -24,6 +24,7 @@
 
 #ifdef __STDC__ /* use prototypes */
 
+long pty_init(void);
 long pty_getpty ( int *fd, char *slave, int slavelength);
 
 long pty_open_slave (const char *slave, int *fd);
@@ -37,6 +38,7 @@ long pty_logwtmp (char *tty, char * user, char *host);
 
 long pty_cleanup(char *slave, int pid, int update_utmp);
 #else /*__STDC__*/
+long pty_init();
 long pty_getpty();
 
 long pty_open_slave();
index 95d5dd220de4b7120fde85d138aae6e1191be5df..6750792594de94cb12bf3f9202d6d22a666b95a9 100644 (file)
@@ -1,6 +1,7 @@
 /* Includes needed by libpty*/
 #ifndef __PTY_INT_H__
 #include <pty_err.h>
+#include <sys/types.h>
 #ifdef HAVE_UNISTD_H
 #include <unistd.h>
 #endif
@@ -12,7 +13,7 @@
 #endif
 
 #include <stdio.h>
-#include <sys/types.h>
+
 #include <sys/stat.h>
 #include <sys/socket.h>
 #include <sys/ioctl.h>
@@ -83,6 +84,7 @@
 
 /* Internal functions */
 #ifdef __STDC__
+void initialize_pty_error_table(void);
 long ptyint_void_association(void);
 long ptyint_open_ctty (char *slave, int *fd);
 void ptyint_vhangup(void);
@@ -90,6 +92,7 @@ void ptyint_vhangup(void);
 
 long ptyint_void_association();
 void ptyint_vhangup();
+void initialize_pty_error_table();
 #endif /* __STDC__*/
 
 #define __PTY_INT_H__