Fossil SCM
similar to previous commit, but for UNIX: if file with commit message contains invalid utf-8, assome it to be iso8859-1 (actually: cp1252, which is a superset of iso8859-1)
Commit
331204dc9305d9b201053f8f84e6f4aa6115f6dd
Parent
5960016a3d8f1f3…
1 file changed
+3
-1
+3
-1
| --- src/blob.c | ||
| +++ src/blob.c | ||
| @@ -1193,14 +1193,16 @@ | ||
| 1193 | 1193 | /* Make sure the blob contains two terminating 0-bytes */ |
| 1194 | 1194 | blob_append(pBlob, "", 1); |
| 1195 | 1195 | zUtf8 = blob_str(pBlob) + bomSize; |
| 1196 | 1196 | zUtf8 = fossil_unicode_to_utf8(zUtf8); |
| 1197 | 1197 | blob_set_dynamic(pBlob, zUtf8); |
| 1198 | -#if defined(_WIN32) || defined(__CYGWIN__) | |
| 1199 | 1198 | }else if( useMbcs && invalid_utf8(pBlob) ){ |
| 1199 | +#if defined(_WIN32) || defined(__CYGWIN__) | |
| 1200 | 1200 | zUtf8 = fossil_mbcs_to_utf8(blob_str(pBlob)); |
| 1201 | 1201 | blob_reset(pBlob); |
| 1202 | 1202 | blob_append(pBlob, zUtf8, -1); |
| 1203 | 1203 | fossil_mbcs_free(zUtf8); |
| 1204 | +#else | |
| 1205 | + blob_cp1252_to_utf8(pBlob); | |
| 1204 | 1206 | #endif /* _WIN32 */ |
| 1205 | 1207 | } |
| 1206 | 1208 | } |
| 1207 | 1209 |
| --- src/blob.c | |
| +++ src/blob.c | |
| @@ -1193,14 +1193,16 @@ | |
| 1193 | /* Make sure the blob contains two terminating 0-bytes */ |
| 1194 | blob_append(pBlob, "", 1); |
| 1195 | zUtf8 = blob_str(pBlob) + bomSize; |
| 1196 | zUtf8 = fossil_unicode_to_utf8(zUtf8); |
| 1197 | blob_set_dynamic(pBlob, zUtf8); |
| 1198 | #if defined(_WIN32) || defined(__CYGWIN__) |
| 1199 | }else if( useMbcs && invalid_utf8(pBlob) ){ |
| 1200 | zUtf8 = fossil_mbcs_to_utf8(blob_str(pBlob)); |
| 1201 | blob_reset(pBlob); |
| 1202 | blob_append(pBlob, zUtf8, -1); |
| 1203 | fossil_mbcs_free(zUtf8); |
| 1204 | #endif /* _WIN32 */ |
| 1205 | } |
| 1206 | } |
| 1207 |
| --- src/blob.c | |
| +++ src/blob.c | |
| @@ -1193,14 +1193,16 @@ | |
| 1193 | /* Make sure the blob contains two terminating 0-bytes */ |
| 1194 | blob_append(pBlob, "", 1); |
| 1195 | zUtf8 = blob_str(pBlob) + bomSize; |
| 1196 | zUtf8 = fossil_unicode_to_utf8(zUtf8); |
| 1197 | blob_set_dynamic(pBlob, zUtf8); |
| 1198 | }else if( useMbcs && invalid_utf8(pBlob) ){ |
| 1199 | #if defined(_WIN32) || defined(__CYGWIN__) |
| 1200 | zUtf8 = fossil_mbcs_to_utf8(blob_str(pBlob)); |
| 1201 | blob_reset(pBlob); |
| 1202 | blob_append(pBlob, zUtf8, -1); |
| 1203 | fossil_mbcs_free(zUtf8); |
| 1204 | #else |
| 1205 | blob_cp1252_to_utf8(pBlob); |
| 1206 | #endif /* _WIN32 */ |
| 1207 | } |
| 1208 | } |
| 1209 |