summaryrefslogtreecommitdiff
path: root/loadacm.c
diff options
context:
space:
mode:
Diffstat (limited to 'loadacm.c')
-rw-r--r--loadacm.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/loadacm.c b/loadacm.c
index 66f7909..8f69234 100644
--- a/loadacm.c
+++ b/loadacm.c
@@ -7,6 +7,7 @@
* Peter Novodvorsky <petya@logic.ru>
*/
+#include "internal.h"
#include <stdio.h>
#include <stdlib.h>
#include <memory.h>
@@ -21,6 +22,9 @@
#include <sys/ioctl.h>
#include <sys/kd.h>
+static const char loadacm_usage[] = "loadacm\n\n"
+ "Loads an acm from standard input.\n";
+
typedef unsigned short unicode;
static long int ctoi(unsigned char *s, int *is_unicode);
@@ -33,20 +37,24 @@ int loadacm_main(int argc, char **argv)
{
int fd;
+ if (argc>=2 && *argv[1]=='-') {
+ usage(loadacm_usage);
+ }
+
fd = open("/dev/tty", O_RDWR);
if (fd < 0) {
fprintf(stderr, "Error opening /dev/tty1: %s\n", strerror(errno));
- return 1;
+ return( FALSE);
}
if (screen_map_load(fd, stdin)) {
fprintf(stderr, "Error loading acm: %s\n", strerror(errno));
- return 1;
+ return( FALSE);
}
write(fd, "\033(K", 3);
- return 0;
+ return( TRUE);
}
int screen_map_load(int fd, FILE * fp)