#ifndef lint
static char *rcsid_test_c = "$Header$";
-#endif lint
+#endif /* lint */
#include <mit-copyright.h>
#include <stdio.h>
extern int sending_version_no;
int count, quit=0;
char *whoami;
+#ifdef POSIX
+sigjmp_buf jb;
+#else
jmp_buf jb;
+#endif
#define MAXARGS 20
-void discard_input(int, int, struct sigcontext *);
+void discard_input(void);
char *mr_gets(char *, char *, size_t);
main(argc, argv)
action.sa_flags = 0;
sigemptyset(&action.sa_mask);
sigaction(SIGINT, &action, NULL);
+ sigsetjmp(jb, 1);
#else
signal(SIGINT, discard_input);
-#endif
setjmp(jb);
+#endif
while(!quit) {
if(!mr_gets("moira: ",cmdbuf,BUFSIZ)) break;
exit(0);
}
-void discard_input(int sig, int code, struct sigcontext *scp)
+void discard_input(void)
{
putc('\n', stdout);
+#ifdef POSIX
+ siglongjmp(jb, 1);
+#else
longjmp(jb, 1);
+#endif
}
char *mr_gets(char *prompt, char *buf, size_t len)
if (!in) return NULL;
if (*in) {
add_history(in);
- strncpy(buf, in, len-1);
- buf[len]=0;
}
+ strncpy(buf, in, len-1);
+ buf[len]=0;
return buf;
}