From 6c6ae344dedb3642d2d509c8bd2d375339e473ea Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Wed, 8 Apr 2020 17:56:28 +0200 Subject: [PATCH] Deduplicate strings in argument parsing --- Source/diablo.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/Source/diablo.cpp b/Source/diablo.cpp index 97bc81910..0ae5c913f 100644 --- a/Source/diablo.cpp +++ b/Source/diablo.cpp @@ -347,19 +347,22 @@ void diablo_parse_flags(char *args) while (isspace(*args)) { args++; } - if (_strnicmp("dd_emulate", args, strlen("dd_emulate")) == 0) { + static char de[] = "dd_emulate"; + if (_strnicmp(de, args, strlen(de)) == 0) { gbEmulate = TRUE; - args += strlen("dd_emulate"); + args += strlen(de); continue; } - if (_strnicmp("dd_backbuf", args, strlen("dd_backbuf")) == 0) { + static char db[] = "dd_backbuf"; + if (_strnicmp(db, args, strlen(db)) == 0) { gbBackBuf = TRUE; - args += strlen("dd_backbuf"); + args += strlen(db); continue; } - if (_strnicmp("ds_noduplicates", args, strlen("ds_noduplicates")) == 0) { + static char ds[] = "ds_noduplicates"; + if (_strnicmp(ds, args, strlen(ds)) == 0) { gbDupSounds = FALSE; - args += strlen("ds_noduplicates"); + args += strlen(ds); continue; } c = tolower(*args);