- par_aux = (pb *)urealloc(par_aux, sizeof(pb)*2*parArraySize);\r
- parArraySize *= 2;\r
- }\r
- \r
- setbit(par_aux,npar,OP); // marks a new opening parenthesis\r
- \r
+\r
+ // If array is already 1GB, be gentler when resizing:\r
+ if (sizeof(pb)*parArraySize >= 1024*1024*1024)\r
+ parArraySize += (128*1024*1024);\r
+ else\r
+ parArraySize *= 2;\r
+ par_aux = (pb *) urealloc(par_aux, sizeof(pb)*parArraySize);\r
+ };\r
+\r
+ bp_setbit(par_aux,npar,OP); // marks a new opening parenthesis\r
+\r