Mirror of the Vim source from https://github.com/vim/vim
Revision | cab25717c6a69a7d9ebd010153fd9be9529fb49a (tree) |
---|---|
Time | 2007-05-12 03:15:45 |
Author | vimboss |
Commiter | vimboss |
updated for version 7.1b-002
@@ -190,7 +190,25 @@ | ||
190 | 190 | mfp->mf_blocknr_min = -1; |
191 | 191 | mfp->mf_neg_count = 0; |
192 | 192 | mfp->mf_infile_count = mfp->mf_blocknr_max; |
193 | - mfp->mf_used_count_max = p_mm * 1024 / mfp->mf_page_size; | |
193 | + | |
194 | + /* | |
195 | + * Compute maximum number of pages ('maxmem' is in Kbyte): | |
196 | + * 'mammem' * 1Kbyte / page-size-in-bytes. | |
197 | + * Avoid overflow by first reducing page size as much as possible. | |
198 | + */ | |
199 | + { | |
200 | + int shift = 10; | |
201 | + unsigned page_size = mfp->mf_page_size; | |
202 | + | |
203 | + while (shift > 0 && (page_size & 1) == 0) | |
204 | + { | |
205 | + page_size = page_size >> 1; | |
206 | + --shift; | |
207 | + } | |
208 | + mfp->mf_used_count_max = (p_mm << shift) / page_size; | |
209 | + if (mfp->mf_used_count_max < 10) | |
210 | + mfp->mf_used_count_max = 10; | |
211 | + } | |
194 | 212 | |
195 | 213 | return mfp; |
196 | 214 | } |
@@ -667,6 +667,8 @@ | ||
667 | 667 | static int included_patches[] = |
668 | 668 | { /* Add new patch number below this line */ |
669 | 669 | /**/ |
670 | + 2, | |
671 | +/**/ | |
670 | 672 | 1, |
671 | 673 | /**/ |
672 | 674 | 0 |