* Peter Novodvorsky <petya@logic.ru>
*/
+#include "internal.h"
#include <stdio.h>
#include <stdlib.h>
#include <memory.h>
#include <sys/ioctl.h>
#include <sys/kd.h>
+static const char loadacm_usage[] = "loadacm\n"
+#ifndef BB_FEATURE_TRIVIAL_HELP
+ "\nLoads an acm from standard input.\n"
+#endif
+ ;
+
typedef unsigned short unicode;
static long int ctoi(unsigned char *s, int *is_unicode);
{
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)
perror("PIO_SCRNMAP ioctl"), exit(1);
else
return 0;
- } else {
- fprintf(stderr, "Error parsing symbolic map\n");
- exit(1);
}
+ fprintf(stderr, "Error parsing symbolic map\n");
+ return(1);
}