The R Project SVN R

Rev

Rev 60800 | Rev 64258 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 60800 Rev 63181
Line 75... Line 75...
75
 
75
 
76
/* Are these are always native charset? */
76
/* Are these are always native charset? */
77
Rboolean pmatch(SEXP formal, SEXP tag, Rboolean exact)
77
Rboolean pmatch(SEXP formal, SEXP tag, Rboolean exact)
78
{
78
{
79
    const char *f, *t;
79
    const char *f, *t;
-
 
80
    const void *vmax = vmaxget();
80
    switch (TYPEOF(formal)) {
81
    switch (TYPEOF(formal)) {
81
    case SYMSXP:
82
    case SYMSXP:
82
	f = CHAR(PRINTNAME(formal));
83
	f = CHAR(PRINTNAME(formal));
83
	break;
84
	break;
84
    case CHARSXP:
85
    case CHARSXP:
Line 101... Line 102...
101
	t = translateChar(STRING_ELT(tag, 0));
102
	t = translateChar(STRING_ELT(tag, 0));
102
	break;
103
	break;
103
    default:
104
    default:
104
	goto fail;
105
	goto fail;
105
    }
106
    }
106
    return psmatch(f, t, exact);
107
    Rboolean res = psmatch(f, t, exact);
-
 
108
    vmaxset(vmax);
-
 
109
    return res;
107
 fail:
110
 fail:
108
    error(_("invalid partial string match"));
111
    error(_("invalid partial string match"));
109
    return FALSE;/* for -Wall */
112
    return FALSE;/* for -Wall */
110
}
113
}
111
 
114