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

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

pivotal-jbarrett commented on a change in pull request #928:
URL: https://github.com/apache/geode-native/pull/928#discussion_r813235302



##########
File path: cppcache/integration-test/CMakeLists.txt
##########
@@ -69,6 +67,10 @@ add_clangformat(unit_test_callbacks)
 
 enable_testing()
 
+if(UNIX AND NOT APPLE)

Review comment:
       This seems a little wonky... Is this perhaps a Linux or GCC specific 
dependency? It is also likely that our dependency or `rt` comes from another 
library and if so that is where this dependency should be added. Also, see root 
CMakeLists.txt for some of these more platform specific dependencies.

##########
File path: cppcache/CMakeLists.txt
##########
@@ -89,7 +89,6 @@ elseif (WIN32)
 endif()
 
 target_link_libraries(_apache-geode INTERFACE
-  ACE::ACE

Review comment:
       Tears of joy!

##########
File path: cppcache/integration-test/fw_helper.hpp
##########
@@ -107,7 +105,7 @@ BEGIN_TEST.
 #define ASSERT_EQ(x, y) _ASSERT_EQ(x, y, __LINE__, __FILE__)
 
 #define ASSERT_STREQ(x, y)                                            \
-  ASSERT((strcmp(x, y) == 0),                                         \
+  ASSERT(x == y,                                         \

Review comment:
       I would be a little hesitant to change the expected type of x and y from 
c-string to `std::string`, or really anything with `==` operator overload.
   
   What about `std::strcmp`?

##########
File path: cppcache/src/CppCacheLibrary.cpp
##########
@@ -36,18 +33,15 @@ namespace apache {
 namespace geode {
 namespace client {
 
-void CppCacheLibrary::initLib(void) { ACE::init(); }
+void CppCacheLibrary::initLib(void) {}
 
-void CppCacheLibrary::closeLib(void) {
-  // DO NOT CALL ACE::fini() HERE!
-  // Things might be using ace beyond the life of Geode.
-}
+void CppCacheLibrary::closeLib(void) {}
 
 std::string CppCacheLibrary::initProductLibDir() {
   // otherwise... get the DLL path, and work backwards from it.
-  char buffer[PATH_MAX + 1];
+  char buffer[4097];
   buffer[0] = '\0';
-  DllMainGetPath(buffer, PATH_MAX);
+  DllMainGetPath(buffer, 4096);

Review comment:
       use `sizeof(buffer)` to keep them in sync.

##########
File path: cppcache/src/CppCacheLibrary.cpp
##########
@@ -36,18 +33,15 @@ namespace apache {
 namespace geode {
 namespace client {
 
-void CppCacheLibrary::initLib(void) { ACE::init(); }
+void CppCacheLibrary::initLib(void) {}
 
-void CppCacheLibrary::closeLib(void) {
-  // DO NOT CALL ACE::fini() HERE!
-  // Things might be using ace beyond the life of Geode.
-}
+void CppCacheLibrary::closeLib(void) {}
 
 std::string CppCacheLibrary::initProductLibDir() {
   // otherwise... get the DLL path, and work backwards from it.
-  char buffer[PATH_MAX + 1];
+  char buffer[4097];

Review comment:
       How did you arrive at 4097?
   Perhaps refactoring these implementations of `DllMainGetPath` to allocate 
and return appropriately sized `std::string` values?
   For Windows the old `MAX_PATH`, 260, limit is gone and 
[`GetModulFileName`](https://docs.microsoft.com/en-us/windows/win32/api/libloaderapi/nf-libloaderapi-getmodulefilenamea#return-value)
 will set an error condition if the buffer it was given was too small. We could 
increase he buffer as needed to get the full path and the initialize a 
`std::string` from that buffer before deallocating it.
   For POSIX the 
[`realpath`](https://pubs.opengroup.org/onlinepubs/009696799/functions/realpath.html)
 method can allocate the buffer for us by using `NULL` for the `resolved_path` 
parameter, we just need to free it after initializing an `std:string` with it.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscr...@geode.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Remove ACE remains
> ------------------
>
>                 Key: GEODE-10074
>                 URL: https://issues.apache.org/jira/browse/GEODE-10074
>             Project: Geode
>          Issue Type: Improvement
>          Components: native client
>            Reporter: Mario Salazar de Torres
>            Assignee: Mario Salazar de Torres
>            Priority: Major
>              Labels: obliterate-ace, pull-request-available
>
> *AS A* geode-native contributor
> *I WANT TO* remove all the ACE remaining 
> *SO THAT* geode-native does not depend on ACE anymore



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to