@@ -153,35 +153,25 @@ local_data_key!(test_idx: Cell<uint>)
153
153
local_data_key ! ( pub playground_krate: Option <String >)
154
154
155
155
pub fn render ( w : & mut fmt:: Formatter , s : & str , print_toc : bool ) -> fmt:: Result {
156
- extern fn block ( ob : * mut hoedown_buffer , text : * const hoedown_buffer ,
156
+ extern fn block ( ob : * mut hoedown_buffer , orig_text : * const hoedown_buffer ,
157
157
lang : * const hoedown_buffer , opaque : * mut libc:: c_void ) {
158
158
unsafe {
159
- if text . is_null ( ) { return }
159
+ if orig_text . is_null ( ) { return }
160
160
161
161
let opaque = opaque as * mut hoedown_html_renderer_state ;
162
162
let my_opaque: & MyOpaque = & * ( ( * opaque) . opaque as * const MyOpaque ) ;
163
- slice:: raw:: buf_as_slice ( ( * text) . data , ( * text) . size as uint , |text| {
163
+ slice:: raw:: buf_as_slice ( ( * orig_text) . data , ( * orig_text) . size as uint ,
164
+ |text| {
164
165
let origtext = str:: from_utf8 ( text) . unwrap ( ) ;
165
166
debug ! ( "docblock: ==============\n {}\n =======" , text) ;
166
- let mut lines = origtext. lines ( ) . filter ( |l| {
167
- stripped_filtered_line ( * l) . is_none ( )
168
- } ) ;
169
- let text = lines. collect :: < Vec < & str > > ( ) . connect ( "\n " ) ;
170
-
171
- let buf = hoedown_buffer {
172
- data : text. as_bytes ( ) . as_ptr ( ) ,
173
- size : text. len ( ) as libc:: size_t ,
174
- asize : text. len ( ) as libc:: size_t ,
175
- unit : 0 ,
176
- } ;
177
167
let rendered = if lang. is_null ( ) {
178
168
false
179
169
} else {
180
170
slice:: raw:: buf_as_slice ( ( * lang) . data ,
181
171
( * lang) . size as uint , |rlang| {
182
172
let rlang = str:: from_utf8 ( rlang) . unwrap ( ) ;
183
173
if LangString :: parse ( rlang) . notrust {
184
- ( my_opaque. dfltblk ) ( ob, & buf , lang,
174
+ ( my_opaque. dfltblk ) ( ob, orig_text , lang,
185
175
opaque as * mut libc:: c_void ) ;
186
176
true
187
177
} else {
@@ -190,6 +180,10 @@ pub fn render(w: &mut fmt::Formatter, s: &str, print_toc: bool) -> fmt::Result {
190
180
} )
191
181
} ;
192
182
183
+ let mut lines = origtext. lines ( ) . filter ( |l| {
184
+ stripped_filtered_line ( * l) . is_none ( )
185
+ } ) ;
186
+ let text = lines. collect :: < Vec < & str > > ( ) . connect ( "\n " ) ;
193
187
if !rendered {
194
188
let mut s = String :: new ( ) ;
195
189
let id = playground_krate. get ( ) . map ( |krate| {
0 commit comments