- Rename getpty() to xgetpty() and adjust callers.
- Rewrite kbd_mode and setconsole - Introduce and use console_make_active() and xopen_xwrite_close() - honour buffer-reservation method as set by the user (dumpkmap, loadkmap) - shrink rtcwake and some console-tools Saves about 270 Bytes
This commit is contained in:
@@ -98,6 +98,7 @@ lib-y += vfork_daemon_rexec.o
|
||||
lib-y += warn_ignoring_args.o
|
||||
lib-y += wfopen.o
|
||||
lib-y += wfopen_input.o
|
||||
lib-y += write.o
|
||||
lib-y += xatonum.o
|
||||
lib-y += xconnect.o
|
||||
lib-y += xfuncs.o
|
||||
|
@@ -8,10 +8,8 @@
|
||||
* Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
|
||||
*/
|
||||
|
||||
//#include <sys/ioctl.h>
|
||||
#include "libbb.h"
|
||||
|
||||
|
||||
/* From <linux/kd.h> */
|
||||
enum { KDGKBTYPE = 0x4B33 }; /* get keyboard type */
|
||||
|
||||
@@ -70,3 +68,15 @@ int get_console_fd(void)
|
||||
bb_error_msg("can't open console");
|
||||
return fd; /* total failure */
|
||||
}
|
||||
|
||||
/* From <linux/vt.h> */
|
||||
enum {
|
||||
VT_ACTIVATE = 0x5606, /* make vt active */
|
||||
VT_WAITACTIVE = 0x5607 /* wait for vt active */
|
||||
};
|
||||
|
||||
void console_make_active(int fd, const int vt_num)
|
||||
{
|
||||
xioctl(fd, VT_ACTIVATE, (void *)(ptrdiff_t)vt_num);
|
||||
xioctl(fd, VT_WAITACTIVE, (void *)(ptrdiff_t)vt_num);
|
||||
}
|
||||
|
@@ -10,7 +10,7 @@
|
||||
|
||||
#define DEBUG 0
|
||||
|
||||
int getpty(char *line)
|
||||
int xgetpty(char *line)
|
||||
{
|
||||
int p;
|
||||
#if ENABLE_FEATURE_DEVPTS
|
||||
@@ -22,7 +22,7 @@ int getpty(char *line)
|
||||
name = ptsname(p);
|
||||
if (!name) {
|
||||
bb_perror_msg("ptsname error (is /dev/pts mounted?)");
|
||||
return -1;
|
||||
goto fail;
|
||||
}
|
||||
safe_strncpy(line, name, GETPTY_BUFSIZE);
|
||||
return p;
|
||||
@@ -52,7 +52,9 @@ int getpty(char *line)
|
||||
}
|
||||
}
|
||||
#endif /* FEATURE_DEVPTS */
|
||||
return -1;
|
||||
USE_FEATURE_DEVPTS( fail:)
|
||||
bb_error_msg_and_die("open pty");
|
||||
return -1; /* never get here */
|
||||
}
|
||||
|
||||
|
||||
|
20
libbb/write.c
Normal file
20
libbb/write.c
Normal file
@@ -0,0 +1,20 @@
|
||||
/* vi: set sw=4 ts=4: */
|
||||
/*
|
||||
* Utility routines.
|
||||
*
|
||||
* Copyright (C) 2008 Bernhard Fischer
|
||||
*
|
||||
* Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
|
||||
*/
|
||||
|
||||
#include "libbb.h"
|
||||
|
||||
/* Open file and write string str to it, close file.
|
||||
* Die on any open or write-error. */
|
||||
void xopen_xwrite_close(const char* file, const char* str)
|
||||
{
|
||||
int fd = xopen(file, O_WRONLY);
|
||||
|
||||
xwrite(fd, str, strlen(str));
|
||||
close(fd);
|
||||
}
|
Reference in New Issue
Block a user