Fossil SCM
Do not assume little-endian architecture within <tt>to_base26()</tt> function.
Commit
4b63b1ee55c339b0a82b034b164dfa610cbfa034dbea19ec99d9a6acc0a505b5
Parent
50dcf92f85750f5…
1 file changed
+4
-2
+4
-2
| --- src/markdown_html.c | ||
| +++ src/markdown_html.c | ||
| @@ -70,13 +70,15 @@ | ||
| 70 | 70 | if( i >= 0 ){ |
| 71 | 71 | for(j=7; j >= 0; j--){ |
| 72 | 72 | x.b[j] = (unsigned char)(uppercase?'A':'a') + i%26; |
| 73 | 73 | if( (i /= 26) == 0 ) break; |
| 74 | 74 | } |
| 75 | - x.u >>= 8*j; | |
| 75 | + assert( j > 0 ); /* because 2^32 < 26^7 */ | |
| 76 | + for(i=0; i<8-j; i++) x.b[i] = x.b[i+j]; | |
| 77 | + for( ; i<8 ; i++) x.b[i] = 0; | |
| 76 | 78 | } |
| 77 | - x.c[7] = 0; | |
| 79 | + assert( x.c[7] == 0 ); | |
| 78 | 80 | return x; |
| 79 | 81 | } |
| 80 | 82 | |
| 81 | 83 | /* HTML escapes |
| 82 | 84 | ** |
| 83 | 85 |
| --- src/markdown_html.c | |
| +++ src/markdown_html.c | |
| @@ -70,13 +70,15 @@ | |
| 70 | if( i >= 0 ){ |
| 71 | for(j=7; j >= 0; j--){ |
| 72 | x.b[j] = (unsigned char)(uppercase?'A':'a') + i%26; |
| 73 | if( (i /= 26) == 0 ) break; |
| 74 | } |
| 75 | x.u >>= 8*j; |
| 76 | } |
| 77 | x.c[7] = 0; |
| 78 | return x; |
| 79 | } |
| 80 | |
| 81 | /* HTML escapes |
| 82 | ** |
| 83 |
| --- src/markdown_html.c | |
| +++ src/markdown_html.c | |
| @@ -70,13 +70,15 @@ | |
| 70 | if( i >= 0 ){ |
| 71 | for(j=7; j >= 0; j--){ |
| 72 | x.b[j] = (unsigned char)(uppercase?'A':'a') + i%26; |
| 73 | if( (i /= 26) == 0 ) break; |
| 74 | } |
| 75 | assert( j > 0 ); /* because 2^32 < 26^7 */ |
| 76 | for(i=0; i<8-j; i++) x.b[i] = x.b[i+j]; |
| 77 | for( ; i<8 ; i++) x.b[i] = 0; |
| 78 | } |
| 79 | assert( x.c[7] == 0 ); |
| 80 | return x; |
| 81 | } |
| 82 | |
| 83 | /* HTML escapes |
| 84 | ** |
| 85 |