annotate wcc.c @ 0:aa723e3948a4 default tip

*: initial commit awesome
author Paper <paper@tflc.us>
date Tue, 09 Sep 2025 00:29:57 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
1 /*
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
2 * wcc -- a shitty sockchat client
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
3 *
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
4 * This program is free software; you can redistribute it and/or modify
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
5 * it under the terms of the GNU General Public License as published by
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
6 * the Free Software Foundation; either version 2 of the License, or
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
7 * (at your option) any later version.
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
8 *
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
9 * This program is distributed in the hope that it will be useful,
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
12 * GNU General Public License for more details.
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
13 *
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
14 * You should have received a copy of the GNU General Public License
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
15 * along with this program; if not, write to the Free Software
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
17 */
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
18
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
19 #include <unistd.h>
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
20 #include <stdio.h>
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
21 #include <string.h>
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
22 #include <stdlib.h>
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
23 #include <time.h>
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
24 #include <curses.h>
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
25 #include <locale.h>
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
26
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
27 #include "flashii.h"
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
28
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
29 /* ------------------------------------------------------------------------ */
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
30
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
31 /* creates a set (only unique IDs allowed)
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
32 *
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
33 * the ID must be a string! */
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
34 #define DYNAMIC_SET(type, name, uid) \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
35 struct name { \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
36 type *arr; \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
37 size_t size; \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
38 size_t alloc; \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
39 }; \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
40 \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
41 static type *name##_lookup(struct name *arr, const char *id) \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
42 { \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
43 size_t i; \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
44 \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
45 for (i = 0; i < arr->size; i++) \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
46 if (!strcmp(arr->arr[i].uid, id)) \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
47 return arr->arr + i; \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
48 \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
49 return NULL; \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
50 } \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
51 \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
52 static int name##_insert(struct name *x, type *u) \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
53 { \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
54 type *uu; \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
55 \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
56 uu = name##_lookup(x, u->uid); \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
57 if (uu) { \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
58 /* overwrite it with our own data */ \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
59 memcpy(uu, u, sizeof(*u)); \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
60 return 0; \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
61 } /* else... */ \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
62 \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
63 if (x->size + 1 >= x->alloc) { \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
64 x->alloc = (x->alloc) ? (x->alloc * 2) : 8; \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
65 x->arr = realloc(x->arr, x->alloc * sizeof(*u)); \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
66 if (!x->arr) \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
67 return -1; \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
68 } \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
69 \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
70 memcpy(x->arr + x->size, u, sizeof(*u)); \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
71 x->size++; \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
72 \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
73 return 1; \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
74 } \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
75 \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
76 static int name##_remove(struct name *s, type *u) \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
77 { \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
78 /* TODO */ \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
79 return -1; \
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
80 }
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
81
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
82 DYNAMIC_SET(struct flashii_user, flashii_user_set, id)
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
83 DYNAMIC_SET(struct flashii_msg, flashii_msg_set, msg_id)
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
84
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
85 /* ------------------------------------------------------------------------ */
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
86
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
87 static struct flashii_user_set users = {0};
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
88 static struct flashii_msg_set msgs = {0};
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
89
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
90 static void msg_recv(struct flashii *fls, struct flashii_msg *msg)
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
91 {
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
92 flashii_msg_set_insert(&msgs, msg);
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
93 }
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
94
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
95 static void user_recv(struct flashii *fls, struct flashii_user *user)
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
96 {
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
97 flashii_user_set_insert(&users, user);
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
98 }
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
99
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
100 /* pending message ... */
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
101 static wchar_t pending_msg[65536];
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
102 static size_t pending_msg_len = 0;
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
103
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
104 int main(void)
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
105 {
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
106 int height, width;
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
107 struct flashii *fls;
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
108 WINDOW *cw, *iw;
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
109
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
110 /* stupid C shit */
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
111 setlocale(LC_ALL, "en_US.UTF-8");
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
112
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
113 initscr();
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
114 cbreak();
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
115 noecho();
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
116 curs_set(1);
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
117
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
118 getmaxyx(stdscr, height, width);
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
119
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
120 #define INPUT_HEIGHT (3)
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
121 cw = newwin(height - INPUT_HEIGHT, width, 0, 0);
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
122 iw = newwin(INPUT_HEIGHT, width, height - INPUT_HEIGHT, 0);
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
123
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
124 scrollok(cw, TRUE);
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
125 box(iw, 0, 0);
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
126 nodelay(iw, TRUE); /* no blocking! */
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
127 keypad(iw, TRUE);
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
128
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
129 fls = flashii_init("wss", "chatsrv-neru.flashii.net", 443,
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
130 msg_recv, user_recv);
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
131 if (!fls)
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
132 return 1;
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
133
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
134 for (;;) {
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
135 size_t i;
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
136
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
137 /* IM GONNA TALK TO DA POWER */
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
138 flashii_work(fls, 1);
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
139
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
140 /* chat window */
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
141 werase(cw);
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
142
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
143 /* draw msgs to the screen */
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
144 for (i = 0; i < msgs.size; i++) {
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
145 const char *name;
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
146 struct flashii_user *user;
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
147
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
148 user = flashii_user_set_lookup(&users, msgs.arr[i].id);
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
149 name = (user && user->name) ? user->name : msgs.arr[i].id;
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
150
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
151 wprintw(cw, "<%s> %s\n", name, msgs.arr[i].body);
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
152 }
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
153
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
154 wrefresh(cw);
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
155
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
156 werase(iw);
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
157
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
158 /* handle input */
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
159 box(iw, 0, 0);
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
160 for (;;) {
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
161 wint_t c;
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
162 int r = wget_wch(iw, &c);
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
163 if (r == KEY_CODE_YES) {
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
164 /* keycode, KEY_DOWN, KEY_UP, etc */
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
165 if (c == KEY_BACKSPACE) { /* backspace */
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
166 pending_msg[--pending_msg_len] = '\0';
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
167 } else {
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
168 printf("UNKNOWN KEYCODE: %d\n", c);
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
169 }
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
170 } else if (r == OK) {
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
171 /* unicode */
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
172 if (pending_msg_len >= width - 7) /* or something like that */
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
173 continue;
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
174
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
175 if (c == '\r' || c == '\n') {
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
176 static char pending_msg_conv[65536];
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
177 wcstombs(pending_msg_conv, pending_msg, pending_msg_len);
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
178 flashii_send_message(fls, pending_msg_conv);
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
179 memset(pending_msg, 0, pending_msg_len);
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
180 pending_msg_len = 0;
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
181 } else if (c == '\b' || c == 127) {
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
182 pending_msg[--pending_msg_len] = '\0';
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
183 } else {
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
184 pending_msg[pending_msg_len++] = c;
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
185 }
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
186 } else/*if (r == ERR)*/ {
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
187 break;
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
188 }
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
189 }
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
190
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
191 mvwprintw(iw, 1, 1, "> %ls", pending_msg);
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
192
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
193 wrefresh(iw);
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
194
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
195 usleep(10000);
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
196 }
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
197
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
198 endwin();
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
199
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
200 return 0;
aa723e3948a4 *: initial commit
Paper <paper@tflc.us>
parents:
diff changeset
201 }