- Remove is_dm column from channels table (dm detection by member count) - Rename member name column to userinfo — extensible json_flat format - Add json_flat.c/h library for compact JSON serialization - Fix join_sig message format: use ch_x25519+ch_ed25519 instead of channel_id string - Remove name from join_msg body (now in userinfo via json_flat) - Update chat_core, chat_sync, member_sync, db_manager to new format - Add topo_strategy.txt — архитектурные заметки по топологии
26 lines
600 B
C
26 lines
600 B
C
/**
|
|
* @file json_flat.h
|
|
* @brief Парсер плоского JSON без вложенности: {"key":"value",...}
|
|
*
|
|
* Только строковые значения. Без malloc, без зависимостей.
|
|
*/
|
|
|
|
#ifndef JSON_FLAT_H
|
|
#define JSON_FLAT_H
|
|
|
|
#include <stddef.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef int (*json_flat_cb)(const char* key, const char* value, void* arg);
|
|
|
|
int json_flat_parse(const char* json, json_flat_cb cb, void* arg);
|
|
int json_flat_get(const char* json, const char* key, char* value_out, size_t value_sz);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif
|