mirror of
https://git.jabber.space/devs/cproof.git
synced 2026-07-27 12:26:21 +00:00
Merge branch 'master' into merge/upstream-full
Resolve conflicts after master gained the flat-file database backend,
AI client, and other cproof-fork features:
- CHANGELOG: keep cproof-fork unreleased section atop full upstream
history (0.17.0 / 0.16.0 / 0.15.1)
- src/command/cmd_ac.c: keep both upstream spellcheck AC and cproof
/history switch|verify|export|import autocompletion
- src/config/preferences.c: merge upstream [spellcheck] group with the
cproof [ai]/[ai/<provider>] groups
- src/database.c: take master (thin dispatcher); upstream SQLite
improvements (v3 migration, auto_gchar) belong in database_sqlite.c
and will land in a follow-up commit
- src/tools/autocomplete.c: take upstream unescape of search_str
- src/ui/statusbar.c: keep guint signatures (per project preference)
and adapt _status_bar_draw_dbbackend to guint as well
- src/xmpp/jid.c: combine the new jid_is_valid/jid_is_valid_user_jid
with the "(null)" legacy-placeholder guard in
jid_create_from_bare_and_resource; use auto_gchar
- tests/functionaltests/proftest.c: keep unsigned-safe pre-check on
output_len before subtracting OUTPUT_BUF_SIZE
- tests/unittests/unittests.c: keep upstream subdirectory include
layout plus cproof-only test_ai_client/database_export/database_stress
- tests/unittests/test_jid.c: drop orphan top-level copy (the
restructured version lives in tests/unittests/xmpp/test_jid.c)
Upstream is included up to 1ac05754b (release 0.18.0 era). Follow-up:
pull 1ac05754b..upstream/master (esp. 42a849d16 db migration fix and
4749645c7 receipt-request restore), and adapt the SQLite improvements
into database_sqlite.c.
This commit is contained in:
@@ -79,6 +79,7 @@ jid_create(const gchar* const str)
|
||||
gboolean
|
||||
jid_is_valid(const gchar* const str)
|
||||
{
|
||||
<<<<<<< HEAD
|
||||
if (str == NULL) {
|
||||
return FALSE;
|
||||
}
|
||||
@@ -171,6 +172,17 @@ jid_is_valid_user_jid(const gchar* const str)
|
||||
Jid*
|
||||
jid_create_from_bare_and_resource(const gchar* const barejid, const gchar* const resource)
|
||||
{
|
||||
// NULL, empty, or the literal "(null)" (legacy artefact from earlier
|
||||
// builds where g_strdup_printf("%s", NULL) leaked the glibc placeholder
|
||||
// into stored data) all mean "no value" for either part. With no usable
|
||||
// bare jid there is nothing to construct; with no usable resource we
|
||||
// return the bare jid alone.
|
||||
if (!barejid || !*barejid || g_strcmp0(barejid, "(null)") == 0) {
|
||||
return NULL;
|
||||
}
|
||||
if (!resource || !*resource || g_strcmp0(resource, "(null)") == 0) {
|
||||
return jid_create(barejid);
|
||||
}
|
||||
auto_gchar gchar* jid = create_fulljid(barejid, resource);
|
||||
return jid_create(jid);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user