OSDN Git Service

[Refactor] #3184 angband_strcat() の引数をconcptr からstring_view に変えた
authorHourier <66951241+Hourier@users.noreply.github.com>
Sat, 3 Jun 2023 00:52:35 +0000 (09:52 +0900)
committerHourier <66951241+Hourier@users.noreply.github.com>
Sat, 3 Jun 2023 04:10:01 +0000 (13:10 +0900)
src/autopick/autopick-describer.cpp
src/util/string-processor.cpp
src/util/string-processor.h

index 294a6f0..0a2ba07 100644 (file)
@@ -231,7 +231,7 @@ static void describe_autpick_jp(char *buff, const autopick_type &entry, autopick
     if (describer->insc) {
         char tmp[MAX_INSCRIPTION + 1] = "";
         angband_strcat(tmp, describer->insc, MAX_INSCRIPTION);
-        angband_strcat(buff, format("に「%s」", tmp).data(), MAX_INSCRIPTION + 6);
+        angband_strcat(buff, format("に「%s」", tmp), MAX_INSCRIPTION + 6);
 
         if (angband_strstr(describer->insc, "%%all")) {
             strcat(buff, "(%%allは全能力を表す英字の記号で置換)");
index 927bbea..be51b2a 100644 (file)
@@ -463,13 +463,13 @@ size_t angband_strcpy(char *buf, std::string_view src, size_t bufsize)
  *
  * This function should be equivalent to the strlcat() function in BSD.
  */
-size_t angband_strcat(char *buf, concptr src, size_t bufsize)
+size_t angband_strcat(char *buf, std::string_view src, size_t bufsize)
 {
     size_t dlen = strlen(buf);
     if (dlen < bufsize - 1) {
         return dlen + angband_strcpy(buf + dlen, src, bufsize - dlen);
     } else {
-        return dlen + strlen(src);
+        return dlen + src.length();
     }
 }
 
index 30cf0c5..57a0e0a 100644 (file)
@@ -23,7 +23,7 @@ extern concptr macro_trigger_keycode[2][MAX_MACRO_TRIG];
 void text_to_ascii(char *buf, std::string_view sv, size_t bufsize);
 void ascii_to_text(char *buf, std::string_view sv, size_t bufsize);
 size_t angband_strcpy(char *buf, std::string_view src, size_t bufsize);
-size_t angband_strcat(char *buf, concptr src, size_t bufsize);
+size_t angband_strcat(char *buf, std::string_view src, size_t bufsize);
 char *angband_strstr(concptr haystack, concptr needle);
 char *angband_strchr(concptr ptr, char ch);
 char *ltrim(char *p);