int c_zht_compare_swap_std(ZHTClient_c zhtClient, const char *key, const char *seen_value, const char *new_value, char *value_queried) { #ifdef IND_MUTEX LockGuard lock(&c_zht_compare_swap_mutex); #elif SHARED_MUTEX LockGuard lock(&c_zht_client_mutex); #else #endif ZHTClient * zhtcppClient = (ZHTClient *) zhtClient; string skey(key); string sseenValue(seen_value); string snewValue(new_value); string resultStr; int rc = zhtcppClient->compare_swap(skey, sseenValue, snewValue, resultStr); memset(value_queried, 0, strlen(value_queried)); strncpy(value_queried, resultStr.c_str(), resultStr.size()); return rc; }