The R Project SVN R

Rev

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

Rev 63113 Rev 63181
Line 40... Line 40...
40
static SEXP cross_colon(SEXP call, SEXP s, SEXP t)
40
static SEXP cross_colon(SEXP call, SEXP s, SEXP t)
41
{
41
{
42
    SEXP a, la, ls, lt, rs, rt;
42
    SEXP a, la, ls, lt, rs, rt;
43
    int i, j, k, n, nls, nlt;
43
    int i, j, k, n, nls, nlt;
44
    char *cbuf;
44
    char *cbuf;
-
 
45
    const void *vmax = vmaxget();
45
 
46
 
46
    if (length(s) != length(t))
47
    if (length(s) != length(t))
47
	errorcall(call, _("unequal factor lengths"));
48
	errorcall(call, _("unequal factor lengths"));
48
    n = length(s);
49
    n = length(s);
49
    ls = getAttrib(s, R_LevelsSymbol);
50
    ls = getAttrib(s, R_LevelsSymbol);
Line 83... Line 84...
83
    }
84
    }
84
    PROTECT(la = mkString("factor"));
85
    PROTECT(la = mkString("factor"));
85
    setAttrib(a, R_ClassSymbol, la);
86
    setAttrib(a, R_ClassSymbol, la);
86
    UNPROTECT(2);
87
    UNPROTECT(2);
87
    R_FreeStringBufferL(&cbuff);
88
    R_FreeStringBufferL(&cbuff);
-
 
89
    vmaxset(vmax);
88
    return(a);
90
    return a;
89
}
91
}
90
 
92
 
91
/* interval at which to check interrupts */
93
/* interval at which to check interrupts */
92
#define NINTERRUPT 1000000U
94
#define NINTERRUPT 1000000U
93
 
95