コード例 #1
0
ファイル: parse_test_file.c プロジェクト: pedrolinhares/funit
static int parse_end_sequence(struct TestFile *tf, const char *kind,
                              const char *name, size_t name_len)
{
    char message[32] = "end ";
    char *tok;
    size_t len;

    strncpy(message + 4, kind, sizeof(message) - 4);
    if (expect_token(tf, "end", message))
        return -1;
    // expect kind
    tok = next_token(tf, &len);
    assert(tok != NULL);
    if (tok == END_OF_LINE) {
        syntax_error(tf);
        return -1;
    }
    if (!same_token(kind, strlen(kind), tok, len)) {
        vfail(tf, tf->read_pos, "expected \"end %s\"", kind);
        return -1;
    }
    // check end name if given and present
    if (name) {
        tok = next_name(tf, &len);
        assert(tok != NULL);
        if (tok != END_OF_LINE && !same_token(name, name_len, tok, len)) {
            vfail(tf, tf->read_pos, "mismatched %s name", kind);
            return -1;
        }
    }
    return expect_eol(tf);
}
コード例 #2
0
ファイル: fail.c プロジェクト: 617u53r/nekbone-3.1-devel
void fail(int status, const char *file, unsigned line,
          const char *fmt, ...)
{
  va_list ap; va_start(ap,fmt);
  vfail(status,file,line,fmt,ap);
  va_end(ap);
}
コード例 #3
0
ファイル: parse_test_file.c プロジェクト: pedrolinhares/funit
static char *expect_name(struct TestFile *tf, size_t *len, const char *kind)
{
    char *name = next_name(tf, len);
    if (!name || name == END_OF_LINE) {
        vfail(tf, tf->read_pos, "expected %s name", kind);
        return NULL;
    }
    return name;
}
コード例 #4
0
ファイル: mdb_err.c プロジェクト: djhoffma/illumos-joyent
/*PRINTFLIKE1*/
void
fail(const char *format, ...)
{
	va_list alist;

	va_start(alist, format);
	vfail(format, alist);
	va_end(alist);
}
コード例 #5
0
ファイル: parse_test_file.c プロジェクト: pedrolinhares/funit
static int
expect_token(struct TestFile *tf, const char *expected, const char *message)
{
    char *tok;
    size_t len;

    tok = next_token(tf, &len);
    assert(tok != NULL);
    if (tok == END_OF_LINE ||
        !same_token(expected, strlen(expected),tok, len)) {
        vfail(tf, tf->read_pos, "\"%s\" expected", message);
        return -1;
    }
    return 0;
}