patch 8.2.0273: MS-Windows uninstall may delete wrong batch file
Problem: MS-Windows uninstall may delete wrong batch file.
Solution: Add specific marker in the generated batch file. (Ken Takata,
closes #5654)
diff --git a/src/uninstall.c b/src/uninstall.c
index ef0538a..e9a9aac 100644
--- a/src/uninstall.c
+++ b/src/uninstall.c
@@ -200,8 +200,7 @@
{
FILE *fd;
char line[BUFSIZE];
- char *p;
- int ver_len = strlen(VIM_VERSION_NODOT);
+ int key_len = strlen(VIMBAT_UNINSTKEY);
int found = FALSE;
fd = fopen(path, "r");
@@ -209,17 +208,11 @@
{
while (fgets(line, sizeof(line), fd) != NULL)
{
- for (p = line; *p != 0; ++p)
- // don't accept "vim60an" when looking for "vim60".
- if (strnicmp(p, VIM_VERSION_NODOT, ver_len) == 0
- && !isdigit(p[ver_len])
- && !isalpha(p[ver_len]))
- {
- found = TRUE;
- break;
- }
- if (found)
+ if (strncmp(line, VIMBAT_UNINSTKEY, key_len) == 0)
+ {
+ found = TRUE;
break;
+ }
}
fclose(fd);
}