version 1.2, 1996/03/27 19:32:33 |
version 1.3, 1996/06/11 12:53:42 |
|
|
/* $OpenBSD$ */ |
/* $OpenBSD$ */ |
|
/* $NetBSD: lex.c,v 1.7 1996/06/08 19:48:28 christos Exp $ */ |
|
|
/* |
/* |
* Copyright (c) 1980, 1993 |
* Copyright (c) 1980, 1993 |
|
|
*/ |
*/ |
|
|
#ifndef lint |
#ifndef lint |
static char sccsid[] = "from: @(#)lex.c 8.1 (Berkeley) 6/6/93"; |
#if 0 |
|
static char sccsid[] = "@(#)lex.c 8.1 (Berkeley) 6/6/93"; |
|
#else |
static char rcsid[] = "$OpenBSD$"; |
static char rcsid[] = "$OpenBSD$"; |
|
#endif |
#endif /* not lint */ |
#endif /* not lint */ |
|
|
#include "rcv.h" |
#include "rcv.h" |
|
|
int eofloop = 0; |
int eofloop = 0; |
register int n; |
register int n; |
char linebuf[LINESIZE]; |
char linebuf[LINESIZE]; |
void intr(), stop(), hangup(); |
#if __GNUC__ |
|
/* Avoid longjmp clobbering */ |
|
(void) &eofloop; |
|
#endif |
|
|
if (!sourcing) { |
if (!sourcing) { |
if (signal(SIGINT, SIG_IGN) != SIG_IGN) |
if (signal(SIGINT, SIG_IGN) != SIG_IGN) |
|
|
{ |
{ |
char word[LINESIZE]; |
char word[LINESIZE]; |
char *arglist[MAXARGC]; |
char *arglist[MAXARGC]; |
const struct cmd *com; |
const struct cmd *com = NULL; |
register char *cp, *cp2; |
register char *cp, *cp2; |
register int c; |
register int c; |
int muvec[2]; |
int muvec[2]; |
|
|
*/ |
*/ |
|
|
if ((com->c_argtype & F) == 0) |
if ((com->c_argtype & F) == 0) |
if (cond == CRCV && !rcvmode || cond == CSEND && rcvmode) |
if ((cond == CRCV && !rcvmode) || (cond == CSEND && rcvmode)) |
return(0); |
return(0); |
|
|
/* |
/* |
|
|
unstack(); |
unstack(); |
return 0; |
return 0; |
} |
} |
|
if (com == NULL) |
|
return(0); |
if (value("autoprint") != NOSTR && com->c_argtype & P) |
if (value("autoprint") != NOSTR && com->c_argtype & P) |
if ((dot->m_flag & MDELETED) == 0) { |
if ((dot->m_flag & MDELETED) == 0) { |
muvec[0] = dot - &message[0] + 1; |
muvec[0] = dot - &message[0] + 1; |
|
|
int s; |
int s; |
{ |
{ |
sig_t old_action = signal(s, SIG_DFL); |
sig_t old_action = signal(s, SIG_DFL); |
|
sigset_t nset; |
|
|
sigsetmask(sigblock(0) & ~sigmask(s)); |
sigemptyset(&nset); |
|
sigaddset(&nset, s); |
|
sigprocmask(SIG_UNBLOCK, &nset, NULL); |
kill(0, s); |
kill(0, s); |
sigblock(sigmask(s)); |
sigprocmask(SIG_BLOCK, &nset, NULL); |
signal(s, old_action); |
signal(s, old_action); |
if (reset_on_stop) { |
if (reset_on_stop) { |
reset_on_stop = 0; |
reset_on_stop = 0; |
|
|
|
|
/*ARGSUSED*/ |
/*ARGSUSED*/ |
int |
int |
pversion(e) |
pversion(v) |
int e; |
void *v; |
{ |
{ |
extern char *version; |
extern char *version; |
|
|