diff --git a/Plugins/ScriptingPython/scriptingpython.cpp b/Plugins/ScriptingPython/scriptingpython.cpp index a9578df196..65cb6d9433 100644 --- a/Plugins/ScriptingPython/scriptingpython.cpp +++ b/Plugins/ScriptingPython/scriptingpython.cpp @@ -420,9 +420,9 @@ PyObject* ScriptingPython::variantToPythonObj(const QVariant& value) int listSize = list.size(); obj = PyList_New(listSize); int pos = 0; - for (const QVariant& item : list) + for (const QString& item : list) { - PyObject* subObj = variantToPythonObj(item); + PyObject* subObj = stringToPythonObj(item); PyList_SetItem(obj, pos++, subObj); Py_DECREF(subObj); } diff --git a/SQLiteStudio3/coreSQLiteStudio/chillout/windows/StackWalker.cpp b/SQLiteStudio3/coreSQLiteStudio/chillout/windows/StackWalker.cpp index 91d68242e5..126d556de3 100644 --- a/SQLiteStudio3/coreSQLiteStudio/chillout/windows/StackWalker.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/chillout/windows/StackWalker.cpp @@ -81,6 +81,8 @@ **********************************************************************/ #ifdef _WIN32 +#define MINGW_HAS_SECURE_API 1 // for strncpy_s and friends in MinGW-w64 < 7.0 + #include #include #include @@ -241,11 +243,13 @@ DWORD64 #endif #ifdef __MINGW32__ +#ifndef __GOT_SECURE_LIB__ #define strcpy_s(dst, len, src) strcpy(dst, src) #define strncpy_s(dst, len, src, maxLen) strncpy(dst, src, len) #define strcat_s(dst, len, src) strcat(dst, src) #define _snprintf_s _snprintf #endif +#endif static void MyStrCpy(char* szDest, size_t nMaxDestSize, const char* szSrc) { diff --git a/SQLiteStudio3/coreSQLiteStudio/common/utils.cpp b/SQLiteStudio3/coreSQLiteStudio/common/utils.cpp index a5723303fe..1a33544cf9 100644 --- a/SQLiteStudio3/coreSQLiteStudio/common/utils.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/common/utils.cpp @@ -385,34 +385,36 @@ QString center(const QString& str, int length, const QChar& fillChar) return result.prepend(fillLeft).append(fillRight); } -QString longest(const QStringList& strList) +const QString& longest(const QStringList& strList) { int max = 0; - QString result; - for (const QString str : strList) + qsizetype maxIndex = -1; + for (qsizetype i = 0; i < strList.size(); i++) { - if (str.size() > max) + int size = strList.at(i).size(); + if (size > max) { - result = str; - max = str.size(); + maxIndex = i; + max = size; } } - return result; + return strList.at(maxIndex); } -QString shortest(const QStringList& strList) +const QString& shortest(const QStringList& strList) { int max = INT_MAX; - QString result; - for (const QString str : strList) + qsizetype maxIndex = -1; + for (qsizetype i = 0; i < strList.size(); i++) { - if (str.size() < max) + int size = strList.at(i).size(); + if (size < max) { - result = str; - max = str.size(); + maxIndex = i; + max = size; } } - return result; + return strList.at(maxIndex); } QString longestCommonPart(const QStringList& strList) diff --git a/SQLiteStudio3/coreSQLiteStudio/common/utils.h b/SQLiteStudio3/coreSQLiteStudio/common/utils.h index 0ceecc55cc..f0b5bcbcaa 100644 --- a/SQLiteStudio3/coreSQLiteStudio/common/utils.h +++ b/SQLiteStudio3/coreSQLiteStudio/common/utils.h @@ -195,7 +195,7 @@ API_EXPORT QString center(const QString& str, int length, const QChar& fillChar) * * If there are many values with the same, longest length, then the first one is picked. */ -API_EXPORT QString longest(const QStringList& strList); +API_EXPORT const QString& longest(const QStringList& strList); /** * @brief Picks the shortest string from the list. @@ -204,7 +204,7 @@ API_EXPORT QString longest(const QStringList& strList); * * If there are many values with the same, shortest length, then the first one is picked. */ -API_EXPORT QString shortest(const QStringList& strList); +API_EXPORT const QString& shortest(const QStringList& strList); /** * @brief Finds the longest common part of all strings. diff --git a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliteorderby.cpp b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliteorderby.cpp index 4db4b5d6c0..25500281f6 100644 --- a/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliteorderby.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/parser/ast/sqliteorderby.cpp @@ -144,7 +144,7 @@ void SqliteOrderBy::pullLastCollationAsOuterExpr() if (!collateExpr) { qCritical() << "Could not cast statement to SqliteExpr, even though it's identified as COLLATE expr. The actual contents:" - << collateExpr->detokenize(); + << stmt->detokenize(); return; }