home *** CD-ROM | disk | FTP | other *** search
/ vim.ftp.fu-berlin.de / 2015-02-03.vim.ftp.fu-berlin.de.tar / vim.ftp.fu-berlin.de / patches / 7.3 / 7.3.577 < prev    next >
Encoding:
Internet Message Format  |  2012-11-20  |  6.4 KB

  1. To: vim_dev@googlegroups.com
  2. Subject: Patch 7.3.577
  3. Fcc: outbox
  4. From: Bram Moolenaar <Bram@moolenaar.net>
  5. Mime-Version: 1.0
  6. Content-Type: text/plain; charset=UTF-8
  7. Content-Transfer-Encoding: 8bit
  8. ------------
  9.  
  10. Patch 7.3.577
  11. Problem:    Size of memory does not fit in 32 bit unsigned.
  12. Solution:   Use Kbyte instead of byte.  Call GlobalMemoryStatusEx() instead of
  13.         GlobalMemoryStatus() when available.
  14. Files:        src/misc2.c, src/option.c, src/os_amiga.c, src/os_msdos.c,
  15.         src/os_win16.c, src/os_win32.c
  16.  
  17.  
  18. *** ../vim-7.3.576/src/misc2.c    2012-02-29 13:58:43.000000000 +0100
  19. --- src/misc2.c    2012-06-29 15:30:54.000000000 +0200
  20. ***************
  21. *** 815,820 ****
  22. --- 815,821 ----
  23.   #else
  24.   # define KEEP_ROOM (2 * 8192L)
  25.   #endif
  26. + #define KEEP_ROOM_KB (KEEP_ROOM / 1024L)
  27.   
  28.   /*
  29.    * Note: if unsigned is 16 bits we can only allocate up to 64K with alloc().
  30. ***************
  31. *** 940,946 ****
  32.           allocated = 0;
  33.   # endif
  34.           /* 3. check for available memory: call mch_avail_mem() */
  35. !         if (mch_avail_mem(TRUE) < KEEP_ROOM && !releasing)
  36.           {
  37.           free((char *)p);    /* System is low... no go! */
  38.           p = NULL;
  39. --- 941,947 ----
  40.           allocated = 0;
  41.   # endif
  42.           /* 3. check for available memory: call mch_avail_mem() */
  43. !         if (mch_avail_mem(TRUE) < KEEP_ROOM_KB && !releasing)
  44.           {
  45.           free((char *)p);    /* System is low... no go! */
  46.           p = NULL;
  47. *** ../vim-7.3.576/src/option.c    2012-03-28 19:58:34.000000000 +0200
  48. --- src/option.c    2012-06-29 15:31:46.000000000 +0200
  49. ***************
  50. *** 3154,3160 ****
  51.       {
  52.   #ifdef HAVE_AVAIL_MEM
  53.           /* Use amount of memory available at this moment. */
  54. !         n = (mch_avail_mem(FALSE) >> 11);
  55.   #else
  56.   # ifdef HAVE_TOTAL_MEM
  57.           /* Use amount of memory available to Vim. */
  58. --- 3154,3160 ----
  59.       {
  60.   #ifdef HAVE_AVAIL_MEM
  61.           /* Use amount of memory available at this moment. */
  62. !         n = (mch_avail_mem(FALSE) >> 1);
  63.   #else
  64.   # ifdef HAVE_TOTAL_MEM
  65.           /* Use amount of memory available to Vim. */
  66. ***************
  67. *** 6702,6708 ****
  68.       {
  69.       for (s = *varp; *s;)
  70.       {
  71. !         while(*s == ',' || *s == ' ')
  72.           s++;
  73.           if (!*s)
  74.           break;
  75. --- 6702,6708 ----
  76.       {
  77.       for (s = *varp; *s;)
  78.       {
  79. !         while (*s == ',' || *s == ' ')
  80.           s++;
  81.           if (!*s)
  82.           break;
  83. ***************
  84. *** 7391,7397 ****
  85.           new_unnamed |= CLIP_UNNAMED;
  86.           p += 7;
  87.       }
  88. !         else if (STRNCMP(p, "unnamedplus", 11) == 0
  89.                           && (p[11] == ',' || p[11] == NUL))
  90.       {
  91.           new_unnamed |= CLIP_UNNAMED_PLUS;
  92. --- 7391,7397 ----
  93.           new_unnamed |= CLIP_UNNAMED;
  94.           p += 7;
  95.       }
  96. !     else if (STRNCMP(p, "unnamedplus", 11) == 0
  97.                           && (p[11] == ',' || p[11] == NUL))
  98.       {
  99.           new_unnamed |= CLIP_UNNAMED_PLUS;
  100. *** ../vim-7.3.576/src/os_amiga.c    2011-10-20 18:24:16.000000000 +0200
  101. --- src/os_amiga.c    2012-06-29 15:33:59.000000000 +0200
  102. ***************
  103. *** 191,206 ****
  104.   }
  105.   
  106.   /*
  107. !  * Return amount of memory still available.
  108.    */
  109.       long_u
  110.   mch_avail_mem(special)
  111.       int        special;
  112.   {
  113.   #ifdef __amigaos4__
  114. !     return (long_u)AvailMem(MEMF_ANY);
  115.   #else
  116. !     return (long_u)AvailMem(special ? (long)MEMF_CHIP : (long)MEMF_ANY);
  117.   #endif
  118.   }
  119.   
  120. --- 191,206 ----
  121.   }
  122.   
  123.   /*
  124. !  * Return amount of memory still available in Kbyte.
  125.    */
  126.       long_u
  127.   mch_avail_mem(special)
  128.       int        special;
  129.   {
  130.   #ifdef __amigaos4__
  131. !     return (long_u)AvailMem(MEMF_ANY) >> 10;
  132.   #else
  133. !     return (long_u)(AvailMem(special ? (long)MEMF_CHIP : (long)MEMF_ANY)) >> 10;
  134.   #endif
  135.   }
  136.   
  137. *** ../vim-7.3.576/src/os_msdos.c    2011-06-19 01:14:22.000000000 +0200
  138. --- src/os_msdos.c    2012-06-29 15:33:26.000000000 +0200
  139. ***************
  140. *** 550,564 ****
  141.   #endif
  142.   
  143.   /*
  144. !  * Return amount of memory currently available.
  145.    */
  146.       long_u
  147.   mch_avail_mem(int special)
  148.   {
  149.   #ifdef DJGPP
  150. !     return _go32_dpmi_remaining_virtual_memory();
  151.   #else
  152. !     return coreleft();
  153.   #endif
  154.   }
  155.   
  156. --- 550,564 ----
  157.   #endif
  158.   
  159.   /*
  160. !  * Return amount of memory currently available in Kbyte.
  161.    */
  162.       long_u
  163.   mch_avail_mem(int special)
  164.   {
  165.   #ifdef DJGPP
  166. !     return _go32_dpmi_remaining_virtual_memory() >> 10;
  167.   #else
  168. !     return coreleft() >> 10;
  169.   #endif
  170.   }
  171.   
  172. *** ../vim-7.3.576/src/os_win16.c    2011-10-20 18:24:16.000000000 +0200
  173. --- src/os_win16.c    2012-06-29 15:34:18.000000000 +0200
  174. ***************
  175. *** 379,391 ****
  176.   
  177.   
  178.   /*
  179. !  * How much memory is available?
  180.    */
  181.       long_u
  182.   mch_avail_mem(
  183.       int special)
  184.   {
  185. !     return GetFreeSpace(0);
  186.   }
  187.   
  188.   
  189. --- 379,391 ----
  190.   
  191.   
  192.   /*
  193. !  * How much memory is available in Kbyte?
  194.    */
  195.       long_u
  196.   mch_avail_mem(
  197.       int special)
  198.   {
  199. !     return GetFreeSpace(0) >> 10;
  200.   }
  201.   
  202.   
  203. *** ../vim-7.3.576/src/os_win32.c    2012-06-29 13:13:59.000000000 +0200
  204. --- src/os_win32.c    2012-06-29 15:39:52.000000000 +0200
  205. ***************
  206. *** 4992,5009 ****
  207.   
  208.   
  209.   /*
  210. !  * How much memory is available?
  211.    * Return sum of available physical and page file memory.
  212.    */
  213.   /*ARGSUSED*/
  214.       long_u
  215.   mch_avail_mem(int special)
  216.   {
  217. !     MEMORYSTATUS    ms;
  218.   
  219. !     ms.dwLength = sizeof(MEMORYSTATUS);
  220. !     GlobalMemoryStatus(&ms);
  221. !     return (long_u) (ms.dwAvailPhys + ms.dwAvailPageFile);
  222.   }
  223.   
  224.   #ifdef FEAT_MBYTE
  225. --- 4992,5020 ----
  226.   
  227.   
  228.   /*
  229. !  * How much memory is available in Kbyte?
  230.    * Return sum of available physical and page file memory.
  231.    */
  232.   /*ARGSUSED*/
  233.       long_u
  234.   mch_avail_mem(int special)
  235.   {
  236. !     if (g_PlatformId != VER_PLATFORM_WIN32_NT)
  237. !     {
  238. !     MEMORYSTATUS    ms;
  239.   
  240. !     ms.dwLength = sizeof(MEMORYSTATUS);
  241. !     GlobalMemoryStatus(&ms);
  242. !     return (long_u)((ms.dwAvailPhys + ms.dwAvailPageFile) >> 10);
  243. !     }
  244. !     else
  245. !     {
  246. !     MEMORYSTATUSEX    ms;
  247. !     ms.dwLength = sizeof(MEMORYSTATUSEX);
  248. !     GlobalMemoryStatusEx(&ms);
  249. !     return (long_u)((ms.ullAvailPhys + ms.ullAvailPageFile) >> 10);
  250. !     }
  251.   }
  252.   
  253.   #ifdef FEAT_MBYTE
  254. *** ../vim-7.3.576/src/version.c    2012-06-29 15:04:34.000000000 +0200
  255. --- src/version.c    2012-06-29 15:45:44.000000000 +0200
  256. ***************
  257. *** 716,717 ****
  258. --- 716,719 ----
  259.   {   /* Add new patch number below this line */
  260. + /**/
  261. +     577,
  262.   /**/
  263.  
  264. -- 
  265. hundred-and-one symptoms of being an internet addict:
  266. 75. You start wondering whether you could actually upgrade your brain
  267.     with a Pentium Pro microprocessor 80.  The upgrade works just fine.
  268.  
  269.  /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
  270. ///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
  271. \\\  an exciting new programming language -- http://www.Zimbu.org        ///
  272.  \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
  273.