Truyn
King of clowns
- Сообщения
- 1,591
- Реакции
- 750
Это можно запустить с этим jansson ?
Имею ввиду адаптировать под него можно?Нет, там конфликт имен
Что нового?
- Добавлены "try" методы для извлечения данных из JsonObject.
Методы содержат нативную проверку существования заданного ключа.
Возвращаемое значение функции сигнализирует об успешности извлечения.
Параметр - буфер, который передается в функцию, зануляется.
Перечень:
- JsonObject.TryGet
- JsonObject.TryGetBool
- JsonObject.TryGetFloat
- JsonObject.TryGetInt
- JsonObject.TryGetString
Что нового?
- Изменена сигнатура дляJsonObject.TryGetи возвращаемый тип с bool на Json *.
Соответственно, в случае успеха Json, иначе - null.
* - остался прикол с высвобождением дескриптора Json, передаваемого в качестве второго параметра.
Поэтому кому необходимо достать Json из объекта и лень писать delete - welcome.
Что нового?
- Добавлено SMExtension API для взаимодействия с другими SM расширениями (sm-jansson/IJansson.h at main · rej-clown/sm-jansson)
- Изменено Sourcepawn API в целом
- Добавлено высвобождение памяти из подJsonобъектов автоматически, в некоторых случаях
- Изменения в резервации типов
В доработке:
- Отступы при дампе JsonObject & JsonArray
- Int64 методы для SP API
Тестируется:
-...
Что нового?
- Исправлена утечка памяти при неявном закрытии дескриптора
- Исправлено игнорирование encode/decode флагов
test.smx:#include <jansson> public void OnPluginStart() { Json b; Json o = (new JsonBuilder("{}")) .SetString("abc", "dbc") .SetFloat("ab", 012.32) .SetInt("ada", 232) .SetBool("asdada", true) .Set("array", (b = (new JsonBuilder("[]")) .PushString("asdada") .PushInt(41)...
Что нового?
-JsonObject.Keys()теперь является свойством типа ArrayList*:ArrayList JsonObject.Keys
* - хардкодистая хрень, как и все типы ядра SM (ノ-_-)ノ~┻━┻
Что планируется:
- Что-то придумать с ArrayList, т.к. хранить в нем строки неизвестной длины дорого
- Добавить фильтрацию по типу для методаJsonObject.Keys(JsonType)
test.sp:#include <jansson> public void OnPluginStart() { Json b; Json o = (new...
помню, одного чела просил тестить выделяемую память для adt_* и datapack, по итогу adt_* выделяет память в геометрической прогрессии (я не преувеличиваю), тогда как datapack выделяет практически ровно столько, сколько в нём было записано. можешь накидать какую-нибудь оболочку a.k.a. JsonArray, которая будет работать с датапакамиrejchev обновил(а) ресурс sm-jansson новой записью:
version 1.5.2 (beta)
Узнать больше об этом обновлении...
С датапаками там отдельная история.помню, одного чела просил тестить выделяемую память для adt_* и datapack, по итогу adt_* выделяет память в геометрической прогрессии (я не преувеличиваю), тогда как datapack выделяет практически ровно столько, сколько в нём было записано. можешь накидать какую-нибудь оболочку a.k.a. JsonArray, которая будет работать с датапаками
Что нового?
- Исправлена внутренняя утечка
- [SMExt-API]IJsonErrorзаменен наJsonError_t
- [SMExt-API]IJansson.createpзаменен наIJansson.create
- [SMExt-API]IJsonObject.keys(JsonType, size_t)теперь принимает два параметра и возвращаетIJsonArray
- [SP-API]JsonErrorудален
- [SP-API]Json.Errorсвойство изменено наJson.Valid
- [SP-API]...
Что нового (итого)?
- Версия релизная, поскольку большая часть функционала протестировано
- Реализован интерфейс для взаимодействия с расширениями: sm-jansson/public/IJansson.h at main · rejchev/sm-jansson
- Обновлено SourcePawn API: sm-jansson/pawn/scripting/include/jansson.inc at main · rejchev/sm-jansson
- Контроль...
Что нового?
- Вызов исключений заменен вызовом сообщений об ошибках (поскольку нет возможности как-то корректно обрабатывать исключения плагином)
- Отложено выделение памяти (должно гарантировать, что очередной Json != null валиден)
Не требует перекомпиляции плагинов
Что нового?
- Возвращена поддержка null-значения* дляJsonObject.Set / JsonArray.Push / JsonArray.Set
- Исправлена утечка памяти при дампе Json в строку
- Для методов с параметромfreeHandleтеперь гарантируется высвобождение памяти из под объекта при истинности значения параметра
* - поле типаJNullTypeмогут быть получены черезJsonObject.Get / JsonArray.Get, как полноценныйJsonобъект, однако в этом нет особого...
Что нового?
- Отсрочено выделение памяти под Json объект в случае, когда Json строка синтаксически неверна (в том числе при чтении из файла)*
* - конструктор Json и JsonF теперь содержит пару необязательных параметров для извлечения ошибки.
Версия 1.7.x теперь LTS версия
Что нового?
- Исправлено некорректное поведение при чтении Json из файла, используяJson.JsonF
- Исправлено некорректное возвращение состояния при использованииJsonObject.Set
- Изменена сигнатура методаIJansson::create
Что нового?
- Исправлена передача неверного параметра при чтении json из файла (из-за чего некоторые файлы не могли быть открыты)
- Добавлена сборка `ubuntu-20.04`*
* - для тех, у кого проблемы на `ubuntu-latest`, связанные с `version glibcxx_3.4.x not found` могут попробовать сборку `ubuntu-20.04` (в ином случае придется собирать самостоятельно, либо костылить, особенно это касается пользователей различных панелек)
Фиксация LTS 1.7.x до 31.12.24:
- GitHub - rejchev/sm-jansson at 1.7.x