The R Project SVN R

Rev

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

Rev 63181 Rev 63222
Line 276... Line 276...
276
    return nc;
276
    return nc;
277
}
277
}
278
 
278
 
279
static void xbufadds(xbuf p, const char *s, int user)
279
static void xbufadds(xbuf p, const char *s, int user)
280
{
280
{
281
    int n = strlen(s) + 1; /* UCS-2 must be shorter */
281
    int n = strlen(s) + 1; /* UCS-2 must be no more chars */
282
    if (n < 1000) {
282
    if (n < 1000) {
283
	wchar_t tmp[n];
283
	wchar_t tmp[n];
284
	enctowcs(tmp, (char *) s, n);
284
	enctowcs(tmp, (char *) s, n);
285
	xbufaddxs(p, tmp, user);
285
	xbufaddxs(p, tmp, user);
286
    } else {
286
    } else {
287
	/* very long line */
287
	/* very long line */
288
	const void *vmax = vmaxget();
-
 
289
	wchar_t *tmp = (wchar_t*) R_alloc(n, sizeof(wchar_t));
288
	wchar_t *tmp = (wchar_t*) malloc(n * sizeof(wchar_t));
290
	enctowcs(tmp, (char *) s, n);
289
	enctowcs(tmp, (char *) s, n);
291
	xbufaddxs(p, tmp, user);
290
	xbufaddxs(p, tmp, user);
292
	vmaxset(vmax);
291
	free(tmp);
293
    }
292
    }
294
}
293
}
295
 
294
 
296
static void xbuffixl(xbuf p)
295
static void xbuffixl(xbuf p)
297
{
296
{