diff --git a/include/ntcore_c.h b/include/ntcore_c.h index 0378983ef1..d506b93963 100644 --- a/include/ntcore_c.h +++ b/include/ntcore_c.h @@ -377,41 +377,63 @@ void NT_FreeStringArray(struct NT_String *v_string, size_t arr_size); enum NT_Type NT_GetTypeFromValue(const struct NT_Value *value); -int NT_GetEntryBooleanFromValue(const struct NT_Value *value, unsigned long long *last_change, int *v_boolean); -int NT_GetEntryDoubleFromValue(const struct NT_Value *value, unsigned long long *last_change, double *v_double); -char *NT_GetEntryStringFromValue(const struct NT_Value *value, unsigned long long *last_change, size_t *str_len); -char *NT_GetEntryRawFromValue(const struct NT_Value *value, unsigned long long *last_change, size_t *raw_len); +int NT_GetEntryBooleanFromValue(const struct NT_Value *value, + unsigned long long *last_change, + int *v_boolean); +int NT_GetEntryDoubleFromValue(const struct NT_Value *value, + unsigned long long *last_change, + double *v_double); +char *NT_GetEntryStringFromValue(const struct NT_Value *value, + unsigned long long *last_change, + size_t *str_len); +char *NT_GetEntryRawFromValue(const struct NT_Value *value, + unsigned long long *last_change, size_t *raw_len); -int *NT_GetEntryBooleanArrayFromValue(const struct NT_Value *value, unsigned long long *last_change, size_t *arr_size); -double *NT_GetEntryDoubleArrayFromValue(const struct NT_Value *value, unsigned long long *last_change, size_t *arr_size); -NT_String *NT_GetEntryStringArrayFromValue(const struct NT_Value *value, unsigned long long *last_change, size_t *arr_size); +int *NT_GetEntryBooleanArrayFromValue(const struct NT_Value *value, + unsigned long long *last_change, + size_t *arr_size); +double *NT_GetEntryDoubleArrayFromValue(const struct NT_Value *value, + unsigned long long *last_change, + size_t *arr_size); +NT_String *NT_GetEntryStringArrayFromValue(const struct NT_Value *value, + unsigned long long *last_change, + size_t *arr_size); +int NT_GetEntryBoolean(const char *name, size_t name_len, + unsigned long long *last_change, int *v_boolean); +int NT_GetEntryDouble(const char *name, size_t name_len, + unsigned long long *last_change, double *v_double); +char *NT_GetEntryString(const char *name, size_t name_len, + unsigned long long *last_change, size_t *str_len); +char *NT_GetEntryRaw(const char *name, size_t name_len, + unsigned long long *last_change, size_t *raw_len); -int NT_GetEntryBoolean(const char* name, size_t name_len, unsigned long long *last_change, int *v_boolean); -int NT_GetEntryDouble(const char* name, size_t name_len, unsigned long long *last_change, double *v_double); -char *NT_GetEntryString(const char *name, size_t name_len, unsigned long long *last_change, size_t *str_len); -char *NT_GetEntryRaw(const char *name, size_t name_len, unsigned long long *last_change, size_t *raw_len); - -int *NT_GetEntryBooleanArray(const char* name, size_t name_len, unsigned long long *last_change, size_t *arr_size); -double *NT_GetEntryDoubleArray(const char* name, size_t name_len, unsigned long long *last_change, size_t *arr_size); -NT_String *NT_GetEntryStringArray(const char* name, size_t name_len, unsigned long long *last_change, size_t *arr_size); +int *NT_GetEntryBooleanArray(const char *name, size_t name_len, + unsigned long long *last_change, size_t *arr_size); +double *NT_GetEntryDoubleArray(const char *name, size_t name_len, + unsigned long long *last_change, + size_t *arr_size); +NT_String *NT_GetEntryStringArray(const char *name, size_t name_len, + unsigned long long *last_change, + size_t *arr_size); /* Entry Value Setters */ -int NT_SetEntryDouble(const char *name, size_t name_len, - double v_double, int force); -int NT_SetEntryBoolean(const char *name, size_t name_len, - int v_boolean, int force); -int NT_SetEntryString(const char *name, size_t name_len, - const char *str, size_t str_len, int force); -int NT_SetEntryRaw(const char *name, size_t name_len, - const char *raw, size_t raw_len, int force); +int NT_SetEntryDouble(const char *name, size_t name_len, double v_double, + int force); +int NT_SetEntryBoolean(const char *name, size_t name_len, int v_boolean, + int force); +int NT_SetEntryString(const char *name, size_t name_len, const char *str, + size_t str_len, int force); +int NT_SetEntryRaw(const char *name, size_t name_len, const char *raw, + size_t raw_len, int force); -int NT_SetEntryBooleanArray(const char *name, size_t name_len, - const int *arr, size_t size, int force); -int NT_SetEntryDoubleArray(const char *name, size_t name_len, - const double *arr, size_t size, int force); +int NT_SetEntryBooleanArray(const char *name, size_t name_len, const int *arr, + size_t size, int force); +int NT_SetEntryDoubleArray(const char *name, size_t name_len, const double *arr, + size_t size, int force); int NT_SetEntryNTStringArray(const char *name, size_t name_len, - const struct NT_String *arr, size_t size, int force); + const struct NT_String *arr, size_t size, + int force); #ifdef __cplusplus } diff --git a/src/ntcore_c.cpp b/src/ntcore_c.cpp index e24c23d034..ed040f1709 100644 --- a/src/ntcore_c.cpp +++ b/src/ntcore_c.cpp @@ -457,256 +457,220 @@ void NT_DisposeRpcCallInfo(NT_RpcCallInfo *call_info) { /* Array and Struct Allocations */ /* Allocates a char array of the specified size.*/ -char *NT_AllocateCharArray(size_t size) -{ - char *retVal = static_cast( - std::malloc(size * sizeof(char))); +char *NT_AllocateCharArray(size_t size) { + char *retVal = static_cast(std::malloc(size * sizeof(char))); return retVal; } /* Allocates an integer or boolean array of the specified size. */ -int *NT_AllocateBooleanArray(size_t size) -{ - int *retVal = static_cast( - std::malloc(size * sizeof(int))); +int *NT_AllocateBooleanArray(size_t size) { + int *retVal = static_cast(std::malloc(size * sizeof(int))); return retVal; } /* Allocates a double array of the specified size. */ -double *NT_AllocateDoubleArray(size_t size) -{ - double *retVal = static_cast( - std::malloc(size * sizeof(double))); +double *NT_AllocateDoubleArray(size_t size) { + double *retVal = static_cast(std::malloc(size * sizeof(double))); return retVal; } /* Allocates an NT_String array of the specified size. */ -struct NT_String *NT_AllocateNTStringArray(size_t size) -{ - NT_String *retVal = static_cast( - std::malloc(size * sizeof(NT_String))); +struct NT_String *NT_AllocateNTStringArray(size_t size) { + NT_String *retVal = + static_cast(std::malloc(size * sizeof(NT_String))); return retVal; } -void NT_FreeDoubleArray(double *v_double) -{ - std::free(v_double); -} -void NT_FreeBooleanArray(int *v_boolean) -{ - std::free(v_boolean); -} -void NT_FreeStringArray(struct NT_String *v_string, size_t arr_size) -{ - for (size_t i = 0; i < arr_size; i++) - std::free(v_string[i].str); +void NT_FreeDoubleArray(double *v_double) { std::free(v_double); } +void NT_FreeBooleanArray(int *v_boolean) { std::free(v_boolean); } +void NT_FreeStringArray(struct NT_String *v_string, size_t arr_size) { + for (size_t i = 0; i < arr_size; i++) std::free(v_string[i].str); std::free(v_string); } -int NT_SetEntryDouble(const char *name, size_t name_len, double v_double, int force) -{ - if (force != 0) - { - nt::SetEntryTypeValue(StringRef(name, name_len), Value::MakeDouble(v_double)); +int NT_SetEntryDouble(const char *name, size_t name_len, double v_double, + int force) { + if (force != 0) { + nt::SetEntryTypeValue(StringRef(name, name_len), + Value::MakeDouble(v_double)); return 1; - } - else - { - return nt::SetEntryValue(StringRef(name, name_len), Value::MakeDouble(v_double)); + } else { + return nt::SetEntryValue(StringRef(name, name_len), + Value::MakeDouble(v_double)); } } -int NT_SetEntryBoolean(const char *name, size_t name_len, int v_boolean, int force) -{ - if (force != 0) - { - nt::SetEntryTypeValue(StringRef(name, name_len), Value::MakeBoolean(v_boolean != 0)); +int NT_SetEntryBoolean(const char *name, size_t name_len, int v_boolean, + int force) { + if (force != 0) { + nt::SetEntryTypeValue(StringRef(name, name_len), + Value::MakeBoolean(v_boolean != 0)); return 1; - } - else - { - return nt::SetEntryValue(StringRef(name, name_len), Value::MakeBoolean(v_boolean != 0)); + } else { + return nt::SetEntryValue(StringRef(name, name_len), + Value::MakeBoolean(v_boolean != 0)); } } -int NT_SetEntryString(const char *name, size_t name_len, const char *str, size_t str_len, int force) -{ - if (force != 0) - { - nt::SetEntryTypeValue(StringRef(name, name_len), Value::MakeString(StringRef(str, str_len))); +int NT_SetEntryString(const char *name, size_t name_len, const char *str, + size_t str_len, int force) { + if (force != 0) { + nt::SetEntryTypeValue(StringRef(name, name_len), + Value::MakeString(StringRef(str, str_len))); return 1; - } - else - { - return nt::SetEntryValue(StringRef(name, name_len), Value::MakeString(StringRef(str, str_len))); - } - -} - -int NT_SetEntryRaw(const char *name, size_t name_len, const char *raw, size_t raw_len, int force) -{ - if (force != 0) - { - nt::SetEntryTypeValue(StringRef(name, name_len), Value::MakeString(StringRef(raw, raw_len))); - return 1; - } - else - { - return nt::SetEntryValue(StringRef(name, name_len), Value::MakeString(StringRef(raw, raw_len))); - } - -} - -int NT_SetEntryBooleanArray(const char *name, size_t name_len, const int *arr, size_t size, int force) -{ - if (force != 0) - { - nt::SetEntryTypeValue(StringRef(name, name_len), Value::MakeBooleanArray(llvm::makeArrayRef(arr, size))); - return 1; - } - else - { - return nt::SetEntryValue(StringRef(name, name_len), Value::MakeBooleanArray(llvm::makeArrayRef(arr, size))); + } else { + return nt::SetEntryValue(StringRef(name, name_len), + Value::MakeString(StringRef(str, str_len))); } } -int NT_SetEntryDoubleArray(const char *name, size_t name_len, const double *arr, size_t size, int force) -{ - if (force != 0) - { - nt::SetEntryTypeValue(StringRef(name, name_len), Value::MakeDoubleArray(llvm::makeArrayRef(arr, size))); +int NT_SetEntryRaw(const char *name, size_t name_len, const char *raw, + size_t raw_len, int force) { + if (force != 0) { + nt::SetEntryTypeValue(StringRef(name, name_len), + Value::MakeString(StringRef(raw, raw_len))); return 1; - } - else - { - return nt::SetEntryValue(StringRef(name, name_len), Value::MakeDoubleArray(llvm::makeArrayRef(arr, size))); + } else { + return nt::SetEntryValue(StringRef(name, name_len), + Value::MakeString(StringRef(raw, raw_len))); } } -int NT_SetEntryNTStringArray(const char *name, size_t name_len, const struct NT_String *arr, size_t size, int force) -{ +int NT_SetEntryBooleanArray(const char *name, size_t name_len, const int *arr, + size_t size, int force) { + if (force != 0) { + nt::SetEntryTypeValue( + StringRef(name, name_len), + Value::MakeBooleanArray(llvm::makeArrayRef(arr, size))); + return 1; + } else { + return nt::SetEntryValue( + StringRef(name, name_len), + Value::MakeBooleanArray(llvm::makeArrayRef(arr, size))); + } +} + +int NT_SetEntryDoubleArray(const char *name, size_t name_len, const double *arr, + size_t size, int force) { + if (force != 0) { + nt::SetEntryTypeValue( + StringRef(name, name_len), + Value::MakeDoubleArray(llvm::makeArrayRef(arr, size))); + return 1; + } else { + return nt::SetEntryValue( + StringRef(name, name_len), + Value::MakeDoubleArray(llvm::makeArrayRef(arr, size))); + } +} + +int NT_SetEntryNTStringArray(const char *name, size_t name_len, + const struct NT_String *arr, size_t size, + int force) { std::vector v; v.reserve(size); - for (size_t i = 0; i < size; ++i) - v.push_back(ConvertFromC(arr[i])); + for (size_t i = 0; i < size; ++i) v.push_back(ConvertFromC(arr[i])); - if (force != 0) - { - nt::SetEntryTypeValue(StringRef(name, name_len), Value::MakeStringArray(std::move(v))); + if (force != 0) { + nt::SetEntryTypeValue(StringRef(name, name_len), + Value::MakeStringArray(std::move(v))); return 1; + } else { + return nt::SetEntryValue(StringRef(name, name_len), + Value::MakeStringArray(std::move(v))); } - else - { - return nt::SetEntryValue(StringRef(name, name_len), Value::MakeStringArray(std::move(v))); - } - } -enum NT_Type NT_GetTypeFromValue(const struct NT_Value *value) -{ +enum NT_Type NT_GetTypeFromValue(const struct NT_Value *value) { if (!value) return NT_Type::NT_UNASSIGNED; return value->type; } -int NT_GetEntryBooleanFromValue(const struct NT_Value *value, unsigned long long *last_change, int *v_boolean) -{ - if (!value || value->type != NT_Type::NT_BOOLEAN) - { - return 0; - } +int NT_GetEntryBooleanFromValue(const struct NT_Value *value, + unsigned long long *last_change, + int *v_boolean) { + if (!value || value->type != NT_Type::NT_BOOLEAN) return 0; *v_boolean = value->data.v_boolean; *last_change = value->last_change; return 1; - } -int NT_GetEntryDoubleFromValue(const struct NT_Value *value, unsigned long long *last_change, double *v_double) -{ - if (!value || value->type != NT_Type::NT_DOUBLE) - { - return 0; - } +int NT_GetEntryDoubleFromValue(const struct NT_Value *value, + unsigned long long *last_change, + double *v_double) { + if (!value || value->type != NT_Type::NT_DOUBLE) return 0; *last_change = value->last_change; *v_double = value->data.v_double; return 1; } -char *NT_GetEntryStringFromValue(const struct NT_Value *value, unsigned long long *last_change, size_t *str_len) -{ - if (!value || value->type != NT_Type::NT_STRING) - { - return nullptr; - } +char *NT_GetEntryStringFromValue(const struct NT_Value *value, + unsigned long long *last_change, + size_t *str_len) { + if (!value || value->type != NT_Type::NT_STRING) return nullptr; *last_change = value->last_change; *str_len = value->data.v_string.len; return value->data.v_string.str; } -char *NT_GetEntryRawFromValue(const struct NT_Value *value, unsigned long long *last_change, size_t *raw_len) -{ - if (!value || value->type != NT_Type::NT_RAW) - { - return nullptr; - } +char *NT_GetEntryRawFromValue(const struct NT_Value *value, + unsigned long long *last_change, + size_t *raw_len) { + if (!value || value->type != NT_Type::NT_RAW) return nullptr; *last_change = value->last_change; *raw_len = value->data.v_string.len; return value->data.v_string.str; } -int *NT_GetEntryBooleanArrayFromValue(const struct NT_Value *value, unsigned long long *last_change, size_t *arr_size) -{ +int *NT_GetEntryBooleanArrayFromValue(const struct NT_Value *value, + unsigned long long *last_change, + size_t *arr_size) { if (!value || value->type != NT_Type::NT_BOOLEAN_ARRAY) return nullptr; *last_change = value->last_change; *arr_size = value->data.arr_boolean.size; return value->data.arr_boolean.arr; } -double *NT_GetEntryDoubleArrayFromValue(const struct NT_Value *value, unsigned long long *last_change, size_t *arr_size) -{ +double *NT_GetEntryDoubleArrayFromValue(const struct NT_Value *value, + unsigned long long *last_change, + size_t *arr_size) { if (!value || value->type != NT_Type::NT_DOUBLE_ARRAY) return nullptr; *last_change = value->last_change; *arr_size = value->data.arr_double.size; return value->data.arr_double.arr; } -NT_String *NT_GetEntryStringArrayFromValue(const struct NT_Value *value, unsigned long long *last_change, size_t *arr_size) -{ +NT_String *NT_GetEntryStringArrayFromValue(const struct NT_Value *value, + unsigned long long *last_change, + size_t *arr_size) { if (!value || value->type != NT_Type::NT_STRING_ARRAY) return nullptr; *last_change = value->last_change; *arr_size = value->data.arr_string.size; return value->data.arr_string.arr; } -int NT_GetEntryBoolean(const char* name, size_t name_len, unsigned long long *last_change, int *v_boolean) -{ +int NT_GetEntryBoolean(const char *name, size_t name_len, + unsigned long long *last_change, int *v_boolean) { auto v = nt::GetEntryValue(StringRef(name, name_len)); - if (!v || !v->IsBoolean()) - { - return 0; - } + if (!v || !v->IsBoolean()) return 0; *v_boolean = v->GetBoolean(); *last_change = v->last_change(); return 1; } -int NT_GetEntryDouble(const char* name, size_t name_len, unsigned long long *last_change, double *v_double) -{ +int NT_GetEntryDouble(const char *name, size_t name_len, + unsigned long long *last_change, double *v_double) { auto v = nt::GetEntryValue(StringRef(name, name_len)); - if (!v || !v->IsDouble()) - { - return 0; - } + if (!v || !v->IsDouble()) return 0; *last_change = v->last_change(); *v_double = v->GetDouble(); return 1; } -char *NT_GetEntryString(const char *name, size_t name_len, unsigned long long *last_change, size_t *str_len) -{ +char *NT_GetEntryString(const char *name, size_t name_len, + unsigned long long *last_change, size_t *str_len) { auto v = nt::GetEntryValue(StringRef(name, name_len)); - if (!v || !v->IsString()) { - return nullptr; - } + if (!v || !v->IsString()) return nullptr; *last_change = v->last_change(); struct NT_String v_string; nt::ConvertToC(v->GetString(), &v_string); @@ -714,13 +678,10 @@ char *NT_GetEntryString(const char *name, size_t name_len, unsigned long long *l return v_string.str; } -char *NT_GetEntryRaw(const char *name, size_t name_len, unsigned long long *last_change, size_t *raw_len) -{ +char *NT_GetEntryRaw(const char *name, size_t name_len, + unsigned long long *last_change, size_t *raw_len) { auto v = nt::GetEntryValue(StringRef(name, name_len)); - if (!v || !v->IsRaw()) - { - return nullptr; - } + if (!v || !v->IsRaw()) return nullptr; *last_change = v->last_change(); struct NT_String v_raw; nt::ConvertToC(v->GetRaw(), &v_raw); @@ -728,43 +689,45 @@ char *NT_GetEntryRaw(const char *name, size_t name_len, unsigned long long *last return v_raw.str; } -int *NT_GetEntryBooleanArray(const char* name, size_t name_len, unsigned long long *last_change, size_t *arr_size) -{ +int *NT_GetEntryBooleanArray(const char *name, size_t name_len, + unsigned long long *last_change, + size_t *arr_size) { auto v = nt::GetEntryValue(StringRef(name, name_len)); if (!v || !v->IsBooleanArray()) return nullptr; *last_change = v->last_change(); auto vArr = v->GetBooleanArray(); - int *arr = static_cast(std::malloc(vArr.size() * sizeof(int))); + int *arr = static_cast(std::malloc(vArr.size() * sizeof(int))); *arr_size = vArr.size(); std::copy(vArr.begin(), vArr.end(), arr); return arr; } -double *NT_GetEntryDoubleArray(const char* name, size_t name_len, unsigned long long *last_change, size_t *arr_size) -{ +double *NT_GetEntryDoubleArray(const char *name, size_t name_len, + unsigned long long *last_change, + size_t *arr_size) { auto v = nt::GetEntryValue(StringRef(name, name_len)); if (!v || !v->IsDoubleArray()) return nullptr; *last_change = v->last_change(); auto vArr = v->GetDoubleArray(); - double *arr = static_cast(std::malloc(vArr.size() * sizeof(double))); + double *arr = + static_cast(std::malloc(vArr.size() * sizeof(double))); *arr_size = vArr.size(); std::copy(vArr.begin(), vArr.end(), arr); return arr; } -NT_String *NT_GetEntryStringArray(const char* name, size_t name_len, unsigned long long *last_change, size_t *arr_size) -{ +NT_String *NT_GetEntryStringArray(const char *name, size_t name_len, + unsigned long long *last_change, + size_t *arr_size) { auto v = nt::GetEntryValue(StringRef(name, name_len)); if (!v || !v->IsStringArray()) return nullptr; *last_change = v->last_change(); auto vArr = v->GetStringArray(); NT_String *arr = - static_cast(std::malloc(vArr.size()*sizeof(NT_String))); - for (size_t i = 0; i < vArr.size(); ++i) - { + static_cast(std::malloc(vArr.size() * sizeof(NT_String))); + for (size_t i = 0; i < vArr.size(); ++i) { ConvertToC(vArr[i], &arr[i]); } *arr_size = vArr.size(); return arr; } -