The R Project SVN R

Rev

Rev 26418 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 26418 Rev 27067
Line 321... Line 321...
321
    Rp->DebugInitFile = FALSE;
321
    Rp->DebugInitFile = FALSE;
322
    Rp->vsize = R_VSIZE;
322
    Rp->vsize = R_VSIZE;
323
    Rp->nsize = R_NSIZE;
323
    Rp->nsize = R_NSIZE;
324
    Rp->max_vsize = R_SIZE_T_MAX;
324
    Rp->max_vsize = R_SIZE_T_MAX;
325
    Rp->max_nsize = R_SIZE_T_MAX;
325
    Rp->max_nsize = R_SIZE_T_MAX;
-
 
326
    Rp->ppsize = R_PPSSIZE;
326
    Rp->NoRenviron = FALSE;
327
    Rp->NoRenviron = FALSE;
327
}
328
}
328
 
329
 
329
#define Max_Nsize 50000000	/* about 1.4Gb 32-bit, 2.8Gb 64-bit */
330
#define Max_Nsize 50000000	/* about 1.4Gb 32-bit, 2.8Gb 64-bit */
330
#define Max_Vsize R_SIZE_T_MAX	/* unlimited */
331
#define Max_Vsize R_SIZE_T_MAX	/* unlimited */
Line 392... Line 393...
392
    LoadInitFile = Rp->LoadInitFile;
393
    LoadInitFile = Rp->LoadInitFile;
393
    DebugInitFile = Rp->DebugInitFile;
394
    DebugInitFile = Rp->DebugInitFile;
394
    SetSize(Rp->vsize, Rp->nsize);
395
    SetSize(Rp->vsize, Rp->nsize);
395
    R_SetMaxNSize(Rp->max_nsize);
396
    R_SetMaxNSize(Rp->max_nsize);
396
    R_SetMaxVSize(Rp->max_vsize);
397
    R_SetMaxVSize(Rp->max_vsize);
-
 
398
    R_SetPPSize(Rp->ppsize);
397
    CommandLineArgs = Rp->CommandLineArgs;
399
    CommandLineArgs = Rp->CommandLineArgs;
398
    NumCommandLineArgs = Rp->NumCommandLineArgs;
400
    NumCommandLineArgs = Rp->NumCommandLineArgs;
399
#ifdef Win32
401
#ifdef Win32
400
    R_SetWin32(Rp);
402
    R_SetWin32(Rp);
401
#endif
403
#endif
Line 449... Line 451...
449
void
451
void
450
R_common_command_line(int *pac, char **argv, Rstart Rp)
452
R_common_command_line(int *pac, char **argv, Rstart Rp)
451
{
453
{
452
    int ac = *pac, newac = 1;	/* argv[0] is process name */
454
    int ac = *pac, newac = 1;	/* argv[0] is process name */
453
    int ierr;
455
    int ierr;
-
 
456
    long lval;
454
    R_size_t value;
457
    R_size_t value;
455
    char *p, **av = argv, msg[1024];
458
    char *p, **av = argv, msg[1024];
456
    Rboolean processing = TRUE;
459
    Rboolean processing = TRUE;
457
 
460
 
458
    R_RestoreHistory = 1;
461
    R_RestoreHistory = 1;
Line 535... Line 538...
535
		     !strcmp(*av, "-nosave") ||
538
		     !strcmp(*av, "-nosave") ||
536
		     !strcmp(*av, "-restore") ||
539
		     !strcmp(*av, "-restore") ||
537
		     !strcmp(*av, "-norestore") ||
540
		     !strcmp(*av, "-norestore") ||
538
		     !strcmp(*av, "-noreadline") ||
541
		     !strcmp(*av, "-noreadline") ||
539
		     !strcmp(*av, "-quiet") ||
542
		     !strcmp(*av, "-quiet") ||
-
 
543
		     !strcmp(*av, "-nsize") ||
-
 
544
		     !strcmp(*av, "-vsize") ||
540
		     !strcmp(*av, "-V") ||
545
		     !strcmp(*av, "-V") ||
541
		     !strcmp(*av, "-n") ||
546
		     !strcmp(*av, "-n") ||
542
		     !strcmp(*av, "-v")) {
547
		     !strcmp(*av, "-v")) {
543
		snprintf(msg, 1024, 
548
		snprintf(msg, 1024, 
544
			 "WARNING: option %s no longer supported\n", *av);
549
			 "WARNING: option %s no longer supported\n", *av);
Line 573... Line 578...
573
		    if(!strncmp(*av, "--max-nsize", 11)) Rp->max_nsize = value;
578
		    if(!strncmp(*av, "--max-nsize", 11)) Rp->max_nsize = value;
574
		    if(!strncmp(*av, "--min-vsize", 11)) Rp->vsize = value;
579
		    if(!strncmp(*av, "--min-vsize", 11)) Rp->vsize = value;
575
		    if(!strncmp(*av, "--max-vsize", 11)) Rp->max_vsize = value;
580
		    if(!strncmp(*av, "--max-vsize", 11)) Rp->max_vsize = value;
576
		}
581
		}
577
	    }
582
	    }
-
 
583
	    else if(strncmp(*av, "--max-ppsize", 12) == 0) {
-
 
584
		if(strlen(*av) < 14) {
-
 
585
		    ac--; av++; p = *av;
-
 
586
		} else p = &(*av)[13];
-
 
587
		if (p == NULL) {
-
 
588
		    R_ShowMessage("WARNING: no value given for -max-ppsize given\n");
-
 
589
		    break;
-
 
590
		}
-
 
591
		lval = strtol(p, &p, 10);
-
 
592
		if (lval < 0)
-
 
593
		    R_ShowMessage("WARNING: -max-ppsize value is negative: ignored\n");
-
 
594
		else if (lval < 10000)
-
 
595
		    R_ShowMessage("WARNING: -max-ppsize value is too small: ignored\n");
-
 
596
 
-
 
597
		else if (lval > 100000)
-
 
598
		    R_ShowMessage("WARNING: -max-ppsize value is too large: ignored\n");
-
 
599
		else Rp->ppsize = lval;
-
 
600
	    }
-
 
601
#if 0
578
	    else if(strncmp(*av, "--vsize", 7) == 0) {
602
	    else if(strncmp(*av, "--vsize", 7) == 0) {
579
		if(strlen(*av) < 9) {
603
		if(strlen(*av) < 9) {
580
		    ac--; av++; p = *av;
604
		    ac--; av++; p = *av;
581
		}
605
		}
582
		else
606
		else
Line 618... Line 642...
618
			    (ierr == 1) ? 'M': ((ierr == 2) ? 'K':'k'));
642
			    (ierr == 1) ? 'M': ((ierr == 2) ? 'K':'k'));
619
		    R_ShowMessage(msg);
643
		    R_ShowMessage(msg);
620
		} else
644
		} else
621
		    Rp->nsize = value;
645
		    Rp->nsize = value;
622
	    }
646
	    }
-
 
647
#endif
623
	    else { /* unknown -option */
648
	    else { /* unknown -option */
624
		argv[newac++] = *av;
649
		argv[newac++] = *av;
625
	    }
650
	    }
626
	}
651
	}
627
	else {
652
	else {