summaryrefslogtreecommitdiffstats
path: root/lib/rlogin.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--lib/rlogin.c (renamed from libmisc/rlogin.c)104
1 files changed, 32 insertions, 72 deletions
diff --git a/libmisc/rlogin.c b/lib/rlogin.c
index fa67dc3..cbc05dd 100644
--- a/libmisc/rlogin.c
+++ b/lib/rlogin.c
@@ -18,76 +18,36 @@
#include <stdio.h>
#include <pwd.h>
#include <netdb.h>
+
+#include "atoi/str2i.h"
+
+
static struct {
int spd_name;
int spd_baud;
} speed_table[] =
{
-#ifdef B50
- {
- B50, 50},
-#endif
-#ifdef B75
- {
- B75, 75},
-#endif
-#ifdef B110
- {
- B110, 110},
-#endif
-#ifdef B134
- {
- B134, 134},
-#endif
-#ifdef B150
- {
- B150, 150},
-#endif
-#ifdef B200
- {
- B200, 200},
-#endif
-#ifdef B300
- {
- B300, 300},
-#endif
-#ifdef B600
- {
- B600, 600},
-#endif
-#ifdef B1200
- {
- B1200, 1200},
-#endif
-#ifdef B1800
- {
- B1800, 1800},
-#endif
-#ifdef B2400
- {
- B2400, 2400},
-#endif
-#ifdef B4800
- {
- B4800, 4800},
-#endif
-#ifdef B9600
- {
- B9600, 9600},
-#endif
-#ifdef B19200
- {
- B19200, 19200},
-#endif
-#ifdef B38400
- {
- B38400, 38400},
-#endif
- {
- -1, -1}
+ { B50, 50},
+ { B75, 75},
+ { B110, 110},
+ { B134, 134},
+ { B150, 150},
+ { B200, 200},
+ { B300, 300},
+ { B600, 600},
+ { B1200, 1200},
+ { B1800, 1800},
+ { B2400, 2400},
+ { B4800, 4800},
+ { B9600, 9600},
+ { B19200, 19200},
+ { B38400, 38400},
+ { -1, -1}
};
-static void get_remote_string (char *buf, size_t size)
+
+static void
+get_remote_string(char *buf, size_t size)
{
for (;;) {
if (read (0, buf, 1) != 1) {
@@ -101,11 +61,13 @@ static void get_remote_string (char *buf, size_t size)
++buf;
}
}
- /*NOTREACHED*/}
+ /*NOTREACHED*/
+}
+
int
-do_rlogin (const char *remote_host, char *name, size_t namelen, char *term,
- size_t termlen)
+do_rlogin(const char *remote_host, char *name, size_t namesize, char *term,
+ size_t termsize)
{
struct passwd *pwd;
char remote_name[32];
@@ -115,18 +77,17 @@ do_rlogin (const char *remote_host, char *name, size_t namelen, char *term,
int i;
TERMIO termio;
- get_remote_string (remote_name, sizeof remote_name);
- get_remote_string (name, namelen);
- get_remote_string (term, termlen);
+ get_remote_string(remote_name, sizeof(remote_name));
+ get_remote_string(name, namesize);
+ get_remote_string(term, termsize);
cp = strchr (term, '/');
if (NULL != cp) {
*cp = '\0';
cp++;
- if (getulong (cp, &remote_speed) == 0) {
+ if (str2ul(&remote_speed, cp) == -1)
remote_speed = 9600;
- }
}
for (i = 0;
( (speed_table[i].spd_baud != remote_speed)
@@ -172,4 +133,3 @@ do_rlogin (const char *remote_host, char *name, size_t namelen, char *term,
#endif
}
#endif /* RLOGIN */
-