mirror of
https://github.com/profanity-im/profanity.git
synced 2024-11-03 19:37:16 -05:00
Merge pull request #1796 from profanity-im/minor-improvements
Minor improvements
This commit is contained in:
commit
e5e8ff221a
@ -355,6 +355,7 @@ prof_occurrences(const char* const needle, const char* const haystack, int offse
|
|||||||
return *result;
|
return *result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
do {
|
||||||
gchar* haystack_curr = g_utf8_offset_to_pointer(haystack, offset);
|
gchar* haystack_curr = g_utf8_offset_to_pointer(haystack, offset);
|
||||||
if (g_str_has_prefix(haystack_curr, needle)) {
|
if (g_str_has_prefix(haystack_curr, needle)) {
|
||||||
if (whole_word) {
|
if (whole_word) {
|
||||||
@ -379,9 +380,7 @@ prof_occurrences(const char* const needle, const char* const haystack, int offse
|
|||||||
}
|
}
|
||||||
|
|
||||||
offset++;
|
offset++;
|
||||||
if (g_strcmp0(g_utf8_offset_to_pointer(haystack, offset), "\0") != 0) {
|
} while (g_strcmp0(g_utf8_offset_to_pointer(haystack, offset), "\0") != 0);
|
||||||
*result = prof_occurrences(needle, haystack, offset, whole_word, result);
|
|
||||||
}
|
|
||||||
|
|
||||||
return *result;
|
return *result;
|
||||||
}
|
}
|
||||||
|
@ -1920,7 +1920,7 @@ char*
|
|||||||
omemo_qrcode_str()
|
omemo_qrcode_str()
|
||||||
{
|
{
|
||||||
char* mybarejid = connection_get_barejid();
|
char* mybarejid = connection_get_barejid();
|
||||||
char* fingerprint = omemo_own_fingerprint(TRUE);
|
char* fingerprint = omemo_own_fingerprint(FALSE);
|
||||||
uint32_t sid = omemo_device_id();
|
uint32_t sid = omemo_device_id();
|
||||||
|
|
||||||
char* qrstr = g_strdup_printf("xmpp:%s?omemo-sid-%d=%s", mybarejid, sid, fingerprint);
|
char* qrstr = g_strdup_printf("xmpp:%s?omemo-sid-%d=%s", mybarejid, sid, fingerprint);
|
||||||
|
@ -915,10 +915,12 @@ cons_show_qrcode(const char* const text)
|
|||||||
strcat(pad, "\u2588\u2588");
|
strcat(pad, "\u2588\u2588");
|
||||||
}
|
}
|
||||||
|
|
||||||
win_println(console, THEME_DEFAULT, "", pad);
|
win_println(console, THEME_DEFAULT, "", "");
|
||||||
|
win_println(console, THEME_DEFAULT, "", "");
|
||||||
|
win_println(console, THEME_DEFAULT, "", "%s", pad);
|
||||||
for (size_t y = 0; y < width; y += ZOOM_SIZE) {
|
for (size_t y = 0; y < width; y += ZOOM_SIZE) {
|
||||||
for (size_t x = 0; x < width; x += ZOOM_SIZE) {
|
for (size_t x = 0; x < width; x += ZOOM_SIZE) {
|
||||||
strcat(buf, !(*data & 1) ? "\u2588\u2588" : "\u2800\u2800");
|
strcat(buf, !(*data & 1) ? "\u2588\u2588" : " ");
|
||||||
|
|
||||||
data++;
|
data++;
|
||||||
}
|
}
|
||||||
@ -929,6 +931,8 @@ cons_show_qrcode(const char* const text)
|
|||||||
buf[0] = '\0';
|
buf[0] = '\0';
|
||||||
}
|
}
|
||||||
win_println(console, THEME_DEFAULT, "", "%s", pad);
|
win_println(console, THEME_DEFAULT, "", "%s", pad);
|
||||||
|
win_println(console, THEME_DEFAULT, "", "");
|
||||||
|
win_println(console, THEME_DEFAULT, "", "");
|
||||||
|
|
||||||
free(pad);
|
free(pad);
|
||||||
free(buf);
|
free(buf);
|
||||||
|
@ -847,8 +847,6 @@ connection_set_priority(const int priority)
|
|||||||
conn.priority = priority;
|
conn.priority = priority;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(LIBXMPP_VERSION_MAJOR) && defined(LIBXMPP_VERSION_MINOR) \
|
|
||||||
&& ((LIBXMPP_VERSION_MAJOR > 0) || (LIBXMPP_VERSION_MINOR >= 12))
|
|
||||||
static xmpp_stanza_t*
|
static xmpp_stanza_t*
|
||||||
_get_soh_error(xmpp_stanza_t* error_stanza)
|
_get_soh_error(xmpp_stanza_t* error_stanza)
|
||||||
{
|
{
|
||||||
@ -857,19 +855,6 @@ _get_soh_error(xmpp_stanza_t* error_stanza)
|
|||||||
XMPP_STANZA_NAME_IN_NS("see-other-host", STANZA_NS_XMPP_STREAMS),
|
XMPP_STANZA_NAME_IN_NS("see-other-host", STANZA_NS_XMPP_STREAMS),
|
||||||
NULL);
|
NULL);
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
static xmpp_stanza_t*
|
|
||||||
_get_soh_error(xmpp_stanza_t* error_stanza)
|
|
||||||
{
|
|
||||||
const char* name = xmpp_stanza_get_name(error_stanza);
|
|
||||||
const char* ns = xmpp_stanza_get_ns(error_stanza);
|
|
||||||
if (!name || !ns || strcmp(name, "error") || strcmp(ns, STANZA_NS_STREAMS)) {
|
|
||||||
log_debug("_get_soh_error: could not find error stanza");
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
return xmpp_stanza_get_child_by_name_and_ns(error_stanza, "see-other-host", STANZA_NS_XMPP_STREAMS);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if GLIB_CHECK_VERSION(2, 66, 0)
|
#if GLIB_CHECK_VERSION(2, 66, 0)
|
||||||
static gboolean
|
static gboolean
|
||||||
@ -878,12 +863,8 @@ _split_url(const char* alturi, gchar** host, gint* port)
|
|||||||
/* Construct a valid URI with `schema://` as `g_uri_split_network()`
|
/* Construct a valid URI with `schema://` as `g_uri_split_network()`
|
||||||
* requires this to be there.
|
* requires this to be there.
|
||||||
*/
|
*/
|
||||||
const char* xmpp = "xmpp://";
|
auto_gchar gchar* xmpp_uri = g_strdup_printf("xmpp://%s", alturi);
|
||||||
char* xmpp_uri = _xmalloc(strlen(xmpp) + strlen(alturi) + 1, NULL);
|
|
||||||
memcpy(xmpp_uri, xmpp, strlen(xmpp));
|
|
||||||
memcpy(xmpp_uri + strlen(xmpp), alturi, strlen(alturi) + 1);
|
|
||||||
gboolean ret = g_uri_split_network(xmpp_uri, 0, NULL, host, port, NULL);
|
gboolean ret = g_uri_split_network(xmpp_uri, 0, NULL, host, port, NULL);
|
||||||
free(xmpp_uri);
|
|
||||||
/* fix-up `port` as g_uri_split_network() sets port to `-1` if it's missing
|
/* fix-up `port` as g_uri_split_network() sets port to `-1` if it's missing
|
||||||
* in the passed-in URI, but libstrophe expects a "missing port"
|
* in the passed-in URI, but libstrophe expects a "missing port"
|
||||||
* to be passed as `0` (which then results in connecting to the standard port).
|
* to be passed as `0` (which then results in connecting to the standard port).
|
||||||
|
@ -535,6 +535,28 @@ _lists_equal(GSList* a, GSList* b)
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
prof_occurrences_of_large_message_tests(void** state)
|
||||||
|
{
|
||||||
|
GSList* actual = NULL;
|
||||||
|
GSList* expected = NULL;
|
||||||
|
/* use this with the old implementation to create a segfault
|
||||||
|
* const size_t haystack_sz = 1024 * 1024;
|
||||||
|
*/
|
||||||
|
const size_t haystack_sz = 1024;
|
||||||
|
size_t haystack_cur = 0;
|
||||||
|
char* haystack = malloc(haystack_sz);
|
||||||
|
const char needle[] = "needle ";
|
||||||
|
while (haystack_sz - haystack_cur > sizeof(needle)) {
|
||||||
|
memcpy(&haystack[haystack_cur], needle, sizeof(needle) - 1);
|
||||||
|
expected = g_slist_append(expected, GINT_TO_POINTER(haystack_cur));
|
||||||
|
haystack_cur += sizeof(needle) - 1;
|
||||||
|
}
|
||||||
|
assert_true(_lists_equal(prof_occurrences("needle", haystack, 0, FALSE, &actual), expected));
|
||||||
|
g_slist_free(actual);
|
||||||
|
g_slist_free(expected);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
prof_partial_occurrences_tests(void** state)
|
prof_partial_occurrences_tests(void** state)
|
||||||
{
|
{
|
||||||
|
@ -31,5 +31,6 @@ void strip_quotes_strips_last(void** state);
|
|||||||
void strip_quotes_strips_both(void** state);
|
void strip_quotes_strips_both(void** state);
|
||||||
void prof_partial_occurrences_tests(void** state);
|
void prof_partial_occurrences_tests(void** state);
|
||||||
void prof_whole_occurrences_tests(void** state);
|
void prof_whole_occurrences_tests(void** state);
|
||||||
|
void prof_occurrences_of_large_message_tests(void** state);
|
||||||
void unique_filename_from_url_td(void** state);
|
void unique_filename_from_url_td(void** state);
|
||||||
void format_call_external_argv_td(void** state);
|
void format_call_external_argv_td(void** state);
|
||||||
|
@ -620,6 +620,7 @@ main(int argc, char* argv[])
|
|||||||
|
|
||||||
unit_test(prof_partial_occurrences_tests),
|
unit_test(prof_partial_occurrences_tests),
|
||||||
unit_test(prof_whole_occurrences_tests),
|
unit_test(prof_whole_occurrences_tests),
|
||||||
|
unit_test(prof_occurrences_of_large_message_tests),
|
||||||
|
|
||||||
unit_test(returns_no_commands),
|
unit_test(returns_no_commands),
|
||||||
unit_test(returns_commands),
|
unit_test(returns_commands),
|
||||||
|
Loading…
Reference in New Issue
Block a user