The R Project SVN R

Rev

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

Rev 63171 Rev 63181
Line 296... Line 296...
296
 
296
 
297
    UNPROTECT(1);
297
    UNPROTECT(1);
298
    return ans;
298
    return ans;
299
}
299
}
300
 
300
 
301
 
-
 
-
 
301
/* called from a .External in package 'utils', so managing
-
 
302
   the R_alloc stack here is prudence */
302
SEXP Runzip(SEXP args)
303
SEXP Runzip(SEXP args)
303
{
304
{
304
    SEXP  fn, ans, names = R_NilValue;
305
    SEXP  fn, ans, names = R_NilValue;
305
    char  zipname[PATH_MAX], dest[PATH_MAX];
306
    char  zipname[PATH_MAX], dest[PATH_MAX];
306
    const char *p, **topics = NULL;
307
    const char *p, **topics = NULL;
307
    int   i, ntopics, list, overwrite, junk, setTime, rc, nnames = 0;
308
    int   i, ntopics, list, overwrite, junk, setTime, rc, nnames = 0;
308
    void *vmax = vmaxget();
309
    const void *vmax = vmaxget();
309
 
310
 
310
    if (!isString(CAR(args)) || LENGTH(CAR(args)) != 1)
311
    if (!isString(CAR(args)) || LENGTH(CAR(args)) != 1)
311
	error(_("invalid zip name argument"));
312
	error(_("invalid zip name argument"));
312
    p = R_ExpandFileName(translateChar(STRING_ELT(CAR(args), 0)));
313
    p = R_ExpandFileName(translateChar(STRING_ELT(CAR(args), 0)));
313
    if (strlen(p) > PATH_MAX - 1)
314
    if (strlen(p) > PATH_MAX - 1)