aboutsummaryrefslogtreecommitdiffstats
path: root/src/w32proc.c
diff options
context:
space:
mode:
authorEli Zaretskii2014-12-26 11:52:24 +0200
committerEli Zaretskii2014-12-26 11:52:24 +0200
commitd65526283d517e0b97b0c74af75bb2e869db4dae (patch)
tree824b887fd0e05a1666daee2eae0387f5a1c22749 /src/w32proc.c
parentf76956645ddf3bde4105b50e9bd1e3a1cc2da39c (diff)
downloademacs-d65526283d517e0b97b0c74af75bb2e869db4dae.tar.gz
emacs-d65526283d517e0b97b0c74af75bb2e869db4dae.zip
MS-Windows followup to stpcpy changes.
src/w32proc.c (sys_spawnve, get_lcid_callback): Use strcpy instead of strcat. src/w32menu.c (add_menu_item): Use stpcpy instead of strcat. src/w32.c (sys_readdir, stat_worker, symlink): Use strcpy instead of strcat. nt/gnulib.mk (stpcpy, string): Sync with the latest change in lib/gnulib.mk.
Diffstat (limited to 'src/w32proc.c')
-rw-r--r--src/w32proc.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/w32proc.c b/src/w32proc.c
index 09e0c0530a4..c571726d70f 100644
--- a/src/w32proc.c
+++ b/src/w32proc.c
@@ -1665,10 +1665,7 @@ sys_spawnve (int mode, char *cmdname, char **argv, char **envp)
1665 if (egetenv ("CMDPROXY")) 1665 if (egetenv ("CMDPROXY"))
1666 strcpy (cmdname, egetenv ("CMDPROXY")); 1666 strcpy (cmdname, egetenv ("CMDPROXY"));
1667 else 1667 else
1668 { 1668 strcpy (lispstpcpy (cmdname, Vinvocation_directory), "cmdproxy.exe");
1669 lispstpcpy (cmdname, Vinvocation_directory);
1670 strcat (cmdname, "cmdproxy.exe");
1671 }
1672 1669
1673 /* Can't use unixtodos_filename here, since that needs its file 1670 /* Can't use unixtodos_filename here, since that needs its file
1674 name argument encoded in UTF-8. */ 1671 name argument encoded in UTF-8. */
@@ -3183,18 +3180,20 @@ get_lcid_callback (LPTSTR locale_num_str)
3183 if (GetLocaleInfo (try_lcid, LOCALE_SABBREVLANGNAME, 3180 if (GetLocaleInfo (try_lcid, LOCALE_SABBREVLANGNAME,
3184 locval, LOCALE_NAME_MAX_LENGTH)) 3181 locval, LOCALE_NAME_MAX_LENGTH))
3185 { 3182 {
3183 size_t locval_len;
3184
3186 /* This is for when they only specify the language, as in "ENU". */ 3185 /* This is for when they only specify the language, as in "ENU". */
3187 if (stricmp (locval, lname) == 0) 3186 if (stricmp (locval, lname) == 0)
3188 { 3187 {
3189 found_lcid = try_lcid; 3188 found_lcid = try_lcid;
3190 return FALSE; 3189 return FALSE;
3191 } 3190 }
3192 strcat (locval, "_"); 3191 locval_len = strlen (locval);
3192 strcpy (locval + locval_len, "_");
3193 if (GetLocaleInfo (try_lcid, LOCALE_SABBREVCTRYNAME, 3193 if (GetLocaleInfo (try_lcid, LOCALE_SABBREVCTRYNAME,
3194 locval + strlen (locval), LOCALE_NAME_MAX_LENGTH)) 3194 locval + locval_len + 1, LOCALE_NAME_MAX_LENGTH))
3195 { 3195 {
3196 size_t locval_len = strlen (locval); 3196 locval_len = strlen (locval);
3197
3198 if (strnicmp (locval, lname, locval_len) == 0 3197 if (strnicmp (locval, lname, locval_len) == 0
3199 && (lname[locval_len] == '.' 3198 && (lname[locval_len] == '.'
3200 || lname[locval_len] == '\0')) 3199 || lname[locval_len] == '\0'))