Mercurial > vim
view src/VisVim/Reg.cpp @ 16738:b52ea9c5f1db v8.1.1371
patch 8.1.1371: cannot recover from a swap file
commit https://github.com/vim/vim/commit/99499b1c05f85f83876b828eea3f6e14f0f407b4
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu May 23 21:35:48 2019 +0200
patch 8.1.1371: cannot recover from a swap file
Problem: Cannot recover from a swap file.
Solution: Do not expand environment variables in the swap file name.
Do not check the extension when we already know a file is a swap
file. (Ken Takata, closes 4415, closes #4369)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 23 May 2019 21:45:07 +0200 |
parents | 3fc0f57ecb91 |
children |
line wrap: on
line source
#include "stdafx.h" // Returns key for HKEY_CURRENT_USER\"Software"\Company\AppName // creating it if it doesn't exist // responsibility of the caller to call RegCloseKey() on the returned HKEY // HKEY GetAppKey (char* AppName) { HKEY hAppKey = NULL; HKEY hSoftKey = NULL; if (RegOpenKeyEx (HKEY_CURRENT_USER, "Software", 0, KEY_WRITE | KEY_READ, &hSoftKey) == ERROR_SUCCESS) { DWORD Dummy; RegCreateKeyEx (hSoftKey, AppName, 0, REG_NONE, REG_OPTION_NON_VOLATILE, KEY_WRITE | KEY_READ, NULL, &hAppKey, &Dummy); } if (hSoftKey) RegCloseKey (hSoftKey); return hAppKey; } // Returns key for // HKEY_CURRENT_USER\"Software"\RegistryKey\AppName\Section // creating it if it doesn't exist. // responsibility of the caller to call RegCloseKey () on the returned HKEY // HKEY GetSectionKey (HKEY hAppKey, LPCTSTR Section) { HKEY hSectionKey = NULL; DWORD Dummy; RegCreateKeyEx (hAppKey, Section, 0, REG_NONE, REG_OPTION_NON_VOLATILE, KEY_WRITE|KEY_READ, NULL, &hSectionKey, &Dummy); return hSectionKey; } int GetRegistryInt (HKEY hSectionKey, LPCTSTR Entry, int Default) { DWORD Value; DWORD Type; DWORD Count = sizeof (DWORD); if (RegQueryValueEx (hSectionKey, (LPTSTR) Entry, NULL, &Type, (LPBYTE) &Value, &Count) == ERROR_SUCCESS) return Value; return Default; } bool WriteRegistryInt (HKEY hSectionKey, char* Entry, int nValue) { return RegSetValueEx (hSectionKey, Entry, NULL, REG_DWORD, (LPBYTE) &nValue, sizeof (nValue)) == ERROR_SUCCESS; }