[ 
https://issues.apache.org/jira/browse/GEODE-3288?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16282070#comment-16282070
 ] 

ASF GitHub Bot commented on GEODE-3288:
---------------------------------------

dgkimura commented on a change in pull request #165: GEODE-3288: Converts 
CacheableString to std::string.
URL: https://github.com/apache/geode-native/pull/165#discussion_r155351108
 
 

 ##########
 File path: cppcache/src/CacheableFileName.cpp
 ##########
 @@ -43,26 +43,16 @@ int8_t CacheableFileName::typeId() const {
 }
 
 int32_t CacheableFileName::hashcode() const {
-#ifndef _WIN32
-  if (m_hashcode == 0) {
-    m_hashcode = CacheableString::hashcode() ^ 1234321;
-  }
-  return m_hashcode;
-#endif
   if (m_hashcode == 0) {
+#ifdef _WIN32
     int localHashcode = 0;
-    if (CacheableString::isCString()) {
-      const char* data = CacheableString::asChar();
-      for (uint32_t i = 0; i < CacheableString::length(); i++) {
-        localHashcode = 31 * localHashcode + ACE_OS::ace_tolower(data[i]);
-      }
-    } else {
-      const wchar_t* data = CacheableString::asWChar();
-      for (uint32_t i = 0; i < CacheableString::length(); i++) {
-        localHashcode = 31 * localHashcode + ACE_OS::ace_tolower(data[i]);
-      }
+    for (auto&& c : CacheableString::value()) {
+      localHashcode = 31 * localHashcode + std::tolower(c, std::locale());
     }
     m_hashcode = localHashcode ^ 1234321;
+#else
+    m_hashcode = CacheableString::hashcode() ^ 1234321;
+#endif
 
 Review comment:
   Any reason not replace our custom hash algorithm with something like..
   ```cpp
   localHashcode = std::hash<std::string>{}(CacheableString::value());
   ```

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


> Replace char* with std::string
> ------------------------------
>
>                 Key: GEODE-3288
>                 URL: https://issues.apache.org/jira/browse/GEODE-3288
>             Project: Geode
>          Issue Type: Improvement
>          Components: native client
>            Reporter: Ernest Burghardt
>
> In all public API headers



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to