The R Project SVN R

Rev

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

Rev 60844 Rev 61566
Line 63... Line 63...
63
    int nr = 1, nc = 1, byrow, miss_nr, miss_nc;
63
    int nr = 1, nc = 1, byrow, miss_nr, miss_nc;
64
    R_xlen_t lendat;
64
    R_xlen_t lendat;
65
 
65
 
66
    checkArity(op, args);
66
    checkArity(op, args);
67
    vals = CAR(args); args = CDR(args);
67
    vals = CAR(args); args = CDR(args);
68
    /* Supposedly as.vector() gave a vector type, but we check */
-
 
69
    switch(TYPEOF(vals)) {
68
    switch(TYPEOF(vals)) {
70
	case LGLSXP:
69
	case LGLSXP:
71
	case INTSXP:
70
	case INTSXP:
72
	case REALSXP:
71
	case REALSXP:
73
	case CPLXSXP:
72
	case CPLXSXP:
Line 75... Line 74...
75
	case RAWSXP:
74
	case RAWSXP:
76
	case EXPRSXP:
75
	case EXPRSXP:
77
	case VECSXP:
76
	case VECSXP:
78
	    break;
77
	    break;
79
	default:
78
	default:
80
	    error(_("'data' must be of a vector type"));
79
	    error(_("'data' must be of a vector type, was '%s'"),
-
 
80
		type2char(TYPEOF(vals)));
81
    }
81
    }
82
    lendat = XLENGTH(vals);
82
    lendat = XLENGTH(vals);
83
    snr = CAR(args); args = CDR(args);
83
    snr = CAR(args); args = CDR(args);
84
    snc = CAR(args); args = CDR(args);
84
    snc = CAR(args); args = CDR(args);
85
    byrow = asLogical(CAR(args)); args = CDR(args);
85
    byrow = asLogical(CAR(args)); args = CDR(args);
Line 1411... Line 1411...
1411
    SEXP vals, ans, dims, dimnames;
1411
    SEXP vals, ans, dims, dimnames;
1412
    R_xlen_t lendat, i, nans;
1412
    R_xlen_t lendat, i, nans;
1413
 
1413
 
1414
    checkArity(op, args);
1414
    checkArity(op, args);
1415
    vals = CAR(args);
1415
    vals = CAR(args);
1416
    /* Supposedly as.vector() gave a vector type, but we check before
-
 
1417
       calling XLENGTH */
1416
    /* at least NULL can get here */
1418
    switch(TYPEOF(vals)) {
1417
    switch(TYPEOF(vals)) {
1419
	case LGLSXP:
1418
	case LGLSXP:
1420
	case INTSXP:
1419
	case INTSXP:
1421
	case REALSXP:
1420
	case REALSXP:
1422
	case CPLXSXP:
1421
	case CPLXSXP:
Line 1424... Line 1423...
1424
	case RAWSXP:
1423
	case RAWSXP:
1425
	case EXPRSXP:
1424
	case EXPRSXP:
1426
	case VECSXP:
1425
	case VECSXP:
1427
	    break;
1426
	    break;
1428
	default:
1427
	default:
1429
	    error(_("'data' must be of a vector type"));
1428
	    error(_("'data' must be of a vector type, was '%s'"),
-
 
1429
		type2char(TYPEOF(vals)));
1430
    }
1430
    }
1431
    lendat = XLENGTH(vals);
1431
    lendat = XLENGTH(vals);
1432
    dims = CADR(args);
1432
    dims = CADR(args);
1433
    dimnames = CADDR(args);
1433
    dimnames = CADDR(args);
1434
    PROTECT(dims = coerceVector(dims, INTSXP));
1434
    PROTECT(dims = coerceVector(dims, INTSXP));