summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Lange <kevin.lange@dakko.us>2012-12-13 19:58:37 -0800
committerKevin Lange <kevin.lange@dakko.us>2012-12-13 19:58:37 -0800
commite948abcb64adf60faa0c9ae095fdd85d0dfab7ce (patch)
treebe6926d71ab4f57dc155ba9a0b6a5cb501155421
parentbe9c6c6303122e7f83e5ce1137f5ec5434ea0e79 (diff)
downloadnyancat-e948abcb64adf60faa0c9ae095fdd85d0dfab7ce.tar.gz
Support building and running on とあるOS
-rw-r--r--src/nyancat.c28
1 files changed, 27 insertions, 1 deletions
diff --git a/src/nyancat.c b/src/nyancat.c
index d6eb4e4..6ab0403 100644
--- a/src/nyancat.c
+++ b/src/nyancat.c
@@ -58,9 +58,22 @@
#include <signal.h>
#include <time.h>
#include <setjmp.h>
-#include <sys/ioctl.h>
#include <getopt.h>
+#ifdef __toaru__
+
+#include <syscall.h>
+
+DEFN_SYSCALL2(nanosleep, 46, unsigned long, unsigned long);
+
+int usleep(useconds_t time) {
+ syscall_nanosleep(0, time / 10000);
+}
+
+#else
+#include <sys/ioctl.h>
+#endif
+
#ifndef TIOCGWINSZ
#include <termios.h>
#ifdef ECHO
@@ -517,9 +530,20 @@ int main(int argc, char ** argv) {
}
/* Also get the number of columns */
+#ifdef __toaru__
+ if (strstr(term, "toaru")) {
+ printf("\033[1003z");
+ fflush(stdout);
+ int height;
+ scanf("%d,%d", &terminal_width, &height);
+ } else {
+ terminal_width = 80; /* better safe than sorry */
+ }
+#else
struct winsize w;
ioctl(0, TIOCGWINSZ, &w);
terminal_width = w.ws_col;
+#endif
}
/* Convert the entire terminal string to lower case */
@@ -535,6 +559,8 @@ int main(int argc, char ** argv) {
/* Do our terminal detection */
if (strstr(term, "xterm")) {
ttype = 1; /* 256-color, spaces */
+ } else if (strstr(term, "toaru")) {
+ ttype = 1; /* emulates xterm */
} else if (strstr(term, "linux")) {
ttype = 3; /* Spaces and blink attribute */
} else if (strstr(term, "vtnt")) {
td>2014-10-20Fix up packaging to account for move to DVBv5Jonathan McCrohan2-2/+6 2014-10-20delete d/dtv-scan-files.install; Upstream now supplies a MakefileJonathan McCrohan2-4/+1 2014-10-15d/control: update Standards Version to 3.9.6Jonathan McCrohan2-1/+3 2014-10-15d/control: add Build-Depends on dvb-toolsJonathan McCrohan2-1/+2 2014-10-15New Upstream Snapshot (commit d26b627)Jonathan McCrohan1-0/+10 2014-10-15Imported Upstream version 0+git20141009.d26b627upstream/0+git20141009.d26b627Jonathan McCrohan2010-11120/+159271 2014-07-23Release 0+git20140611.14bd6c7-1debian/0+git20140611.14bd6c7-1Jonathan McCrohan1-2/+2 2014-07-23New Upstream Snapshot (commit 14bd6c7)Jonathan McCrohan1-2/+3 2014-07-23Imported Upstream version 0+git20140611.14bd6c7upstream/0+git20140611.14bd6c7Jonathan McCrohan7-11/+60 2014-05-13New Upstream Snapshot (commit 1246b27)Jonathan McCrohan1-0/+6 2014-05-13Imported Upstream version 0+git20140512.1246b27upstream/0+git20140512.1246b27Jonathan McCrohan391-301/+3983 2014-04-05Release 0+git20140326.cfc2975-1debian/0+git20140326.cfc2975-1Jonathan McCrohan1-2/+2 2014-04-05d/control: update Homepage (upstream has moved from Gitweb to cgit)Jonathan McCrohan2-1/+2 2014-04-05New Upstream Snapshot (commit cfc2975)Jonathan McCrohan1-0/+6 2014-04-05Imported Upstream version 0+git20140326.cfc2975upstream/0+git20140326.cfc2975Jonathan McCrohan118-656/+877 2014-01-16Release 0+git20140107.1850cf8-1debian/0+git20140107.1850cf8-1Jonathan McCrohan1-2/+2 2014-01-16Update Standards Version to 3.9.5Jonathan McCrohan2-1/+9