diff --git a/tasks/task_translation.c b/tasks/task_translation.c index 715316e0a883..25f5f3583491 100644 --- a/tasks/task_translation.c +++ b/tasks/task_translation.c @@ -1547,17 +1547,17 @@ static void build_request_url(char *buffer, size_t length, settings_t *settings) && video_st->poke->load_texture && video_st->poke->unload_texture; #endif - - _len = strlcpy(buffer, service_url, length); - buffer += _len; - length -= _len; - + token[1] = '\0'; - if (strrchr(buffer, '?')) + if (strrchr(service_url, '?')) token[0] = '&'; else token[0] = '?'; - + + _len = strlcpy(buffer, service_url, length); + buffer += _len ; + length -= _len; + if (service_source_lang != TRANSLATION_LANG_DONT_CARE) { const char *lang_source @@ -1569,7 +1569,7 @@ static void build_request_url(char *buffer, size_t length, settings_t *settings) buffer += _len; length -= _len; - _len = strlcpy(buffer + _len, "source_lang=", length - _len); + _len = strlcpy(buffer, "source_lang=", length); buffer += _len; length -= _len;