@@ -182,7 +182,7 @@ template<typename T> static inline bool
182182array_find_str (const T &kwlist, const char *s)
183183{
184184 for (const auto kw : kwlist)
185- if (strcmp (s, kw) == 0 )
185+ if (strcasecmp (s, kw) == 0 )
186186 return true ;
187187 return false ;
188188}
@@ -337,13 +337,13 @@ static std::unique_ptr<char[]> mail_engine_ct_decode_mime(const char *charset,
337337 end_pos - begin_pos + 1 , &encode_string);
338338 auto tmp_len = strlen (encode_string.title );
339339 std::unique_ptr<char []> tmp_string;
340- if (0 == strcmp (encode_string.encoding , " base64" )) {
340+ if (strcasecmp (encode_string.encoding , " base64" ) == 0 ) {
341341 size_t decode_len = 0 ;
342342 decode64 (encode_string.title , tmp_len,
343343 temp_buff, std::size (temp_buff), &decode_len);
344344 temp_buff[decode_len] = ' \0 ' ;
345345 tmp_string = mail_engine_ct_to_utf8 (encode_string.charset , temp_buff);
346- } else if (0 == strcmp (encode_string.encoding , " quoted-printable" )) {
346+ } else if (strcasecmp (encode_string.encoding , " quoted-printable" ) == 0 ) {
347347 auto decode_len = qp_decode_ex (temp_buff, std::size (temp_buff),
348348 encode_string.title , tmp_len);
349349 if (decode_len < 0 )
@@ -1332,7 +1332,7 @@ static std::optional<std::vector<int>> mail_engine_ct_match(const char *charset,
13321332static uint64_t me_get_folder_id_raw (IDB_ITEM *pidb, std::string_view name)
13331333{
13341334 auto pstmt = gx_sql_prep (pidb->psqlite , " SELECT "
1335- " folder_id FROM folders WHERE name=?" );
1335+ " folder_id FROM folders WHERE name=? COLLATE NOCASE LIMIT 1 " );
13361336 if (pstmt == nullptr )
13371337 return 0 ;
13381338 pstmt.bind_text (1 , name);
@@ -1858,7 +1858,7 @@ static BOOL mail_engine_sync_mailbox(IDB_ITEM *pidb,
18581858 parent_fid, folder_id);
18591859 gx_sql_exec (pidb->psqlite , qstr.c_str ());
18601860 }
1861- if (strcmp (encoded_name.c_str (), pstmt1.col_text (3 )) != 0 ) {
1861+ if (strcasecmp (encoded_name.c_str (), pstmt1.col_text (3 )) != 0 ) {
18621862 auto ust = gx_sql_prep (pidb->psqlite , " UPDATE folders SET name=? "
18631863 " WHERE folder_id=?" );
18641864 if (ust == nullptr ||
@@ -2455,7 +2455,7 @@ static int mail_engine_mrenf(int argc, char **argv, int sockd)
24552455 if (!system_services_get_user_ids (pidb->username .c_str (), &user_id, nullptr , nullptr ))
24562456 return MIDB_E_SSGETID;
24572457 auto pstmt = gx_sql_prep (pidb->psqlite , " SELECT folder_id,"
2458- " parent_fid FROM folders WHERE name=?" );
2458+ " parent_fid FROM folders WHERE name=? COLLATE NOCASE " );
24592459 if (pstmt == nullptr )
24602460 return MIDB_E_SQLPREP;
24612461 pstmt.bind_text (1 , decoded_name);
0 commit comments