Initial revision
This commit is contained in:
parent
ed7c8e8d02
commit
76193d7cb0
223 changed files with 32479 additions and 0 deletions
144
src/cmd/sam/error.c
Normal file
144
src/cmd/sam/error.c
Normal file
|
|
@ -0,0 +1,144 @@
|
|||
#include "sam.h"
|
||||
|
||||
static char *emsg[]={
|
||||
/* error_s */
|
||||
"can't open",
|
||||
"can't create",
|
||||
"not in menu:",
|
||||
"changes to",
|
||||
"I/O error:",
|
||||
"can't write while changing:",
|
||||
/* error_c */
|
||||
"unknown command",
|
||||
"no operand for",
|
||||
"bad delimiter",
|
||||
/* error */
|
||||
"can't fork",
|
||||
"interrupt",
|
||||
"address",
|
||||
"search",
|
||||
"pattern",
|
||||
"newline expected",
|
||||
"blank expected",
|
||||
"pattern expected",
|
||||
"can't nest X or Y",
|
||||
"unmatched `}'",
|
||||
"command takes no address",
|
||||
"addresses overlap",
|
||||
"substitution",
|
||||
"& match too long",
|
||||
"bad \\ in rhs",
|
||||
"address range",
|
||||
"changes not in sequence",
|
||||
"addresses out of order",
|
||||
"no file name",
|
||||
"unmatched `('",
|
||||
"unmatched `)'",
|
||||
"malformed `[]'",
|
||||
"malformed regexp",
|
||||
"reg. exp. list overflow",
|
||||
"plan 9 command",
|
||||
"can't pipe",
|
||||
"no current file",
|
||||
"string too long",
|
||||
"changed files",
|
||||
"empty string",
|
||||
"file search",
|
||||
"non-unique match for \"\"",
|
||||
"tag match too long",
|
||||
"too many subexpressions",
|
||||
"temporary file too large",
|
||||
"file is append-only",
|
||||
"no destination for plumb message",
|
||||
"internal read error in buffer load",
|
||||
};
|
||||
static char *wmsg[]={
|
||||
/* warn_s */
|
||||
"duplicate file name",
|
||||
"no such file",
|
||||
"write might change good version of",
|
||||
/* warn_S */
|
||||
"files might be aliased",
|
||||
/* warn */
|
||||
"null characters elided",
|
||||
"can't run pwd",
|
||||
"last char not newline",
|
||||
"exit status not 0",
|
||||
};
|
||||
|
||||
void
|
||||
error(Err s)
|
||||
{
|
||||
char buf[512];
|
||||
|
||||
sprint(buf, "?%s", emsg[s]);
|
||||
hiccough(buf);
|
||||
}
|
||||
|
||||
void
|
||||
error_s(Err s, char *a)
|
||||
{
|
||||
char buf[512];
|
||||
|
||||
sprint(buf, "?%s \"%s\"", emsg[s], a);
|
||||
hiccough(buf);
|
||||
}
|
||||
|
||||
void
|
||||
error_r(Err s, char *a)
|
||||
{
|
||||
char buf[512];
|
||||
|
||||
sprint(buf, "?%s \"%s\": %r", emsg[s], a);
|
||||
hiccough(buf);
|
||||
}
|
||||
|
||||
void
|
||||
error_c(Err s, int c)
|
||||
{
|
||||
char buf[512];
|
||||
|
||||
sprint(buf, "?%s `%C'", emsg[s], c);
|
||||
hiccough(buf);
|
||||
}
|
||||
|
||||
void
|
||||
warn(Warn s)
|
||||
{
|
||||
dprint("?warning: %s\n", wmsg[s]);
|
||||
}
|
||||
|
||||
void
|
||||
warn_S(Warn s, String *a)
|
||||
{
|
||||
print_s(wmsg[s], a);
|
||||
}
|
||||
|
||||
void
|
||||
warn_SS(Warn s, String *a, String *b)
|
||||
{
|
||||
print_ss(wmsg[s], a, b);
|
||||
}
|
||||
|
||||
void
|
||||
warn_s(Warn s, char *a)
|
||||
{
|
||||
dprint("?warning: %s `%s'\n", wmsg[s], a);
|
||||
}
|
||||
|
||||
void
|
||||
termwrite(char *s)
|
||||
{
|
||||
String *p;
|
||||
|
||||
if(downloaded){
|
||||
p = tmpcstr(s);
|
||||
if(cmd)
|
||||
loginsert(cmd, cmdpt, p->s, p->n);
|
||||
else
|
||||
Strinsert(&cmdstr, p, cmdstr.n);
|
||||
cmdptadv += p->n;
|
||||
free(p);
|
||||
}else
|
||||
Write(2, s, strlen(s));
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue