Skip to content

Commit daeb229

Browse files
committed
Add extern keyword to functions called from C
1 parent b20f34d commit daeb229

File tree

1 file changed

+18
-18
lines changed

1 file changed

+18
-18
lines changed

src/engines/mod.rs

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -468,21 +468,21 @@ extern {
468468

469469
// Entry points for the C/C++ API functions.
470470

471-
fn issue_warning<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, text: *const libc::c_char) {
471+
extern fn issue_warning<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, text: *const libc::c_char) {
472472
let es = unsafe { &mut *es };
473473
let rtext = unsafe { CStr::from_ptr(text) };
474474

475475
tt_warning!(es.status, "{}", rtext.to_string_lossy());
476476
}
477477

478-
fn issue_error<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, text: *const libc::c_char) {
478+
extern fn issue_error<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, text: *const libc::c_char) {
479479
let es = unsafe { &mut *es };
480480
let rtext = unsafe { CStr::from_ptr(text) };
481481

482482
tt_error!(es.status, "{}", rtext.to_string_lossy());
483483
}
484484

485-
fn get_file_md5<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, path: *const libc::c_char, digest: *mut u8) -> libc::c_int {
485+
extern fn get_file_md5<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, path: *const libc::c_char, digest: *mut u8) -> libc::c_int {
486486
let es = unsafe { &mut *es };
487487
let rpath = osstr_from_cstr(unsafe { CStr::from_ptr(path) });
488488
let rdest = unsafe { slice::from_raw_parts_mut(digest, 16) };
@@ -494,7 +494,7 @@ fn get_file_md5<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, path: *c
494494
}
495495
}
496496

497-
fn get_data_md5<'a, I: 'a + IoProvider>(_es: *mut ExecutionState<'a, I>, data: *const u8, len: libc::size_t, digest: *mut u8) -> libc::c_int {
497+
extern fn get_data_md5<'a, I: 'a + IoProvider>(_es: *mut ExecutionState<'a, I>, data: *const u8, len: libc::size_t, digest: *mut u8) -> libc::c_int {
498498
//let es = unsafe { &mut *es };
499499
let rdata = unsafe { slice::from_raw_parts(data, len) };
500500
let rdest = unsafe { slice::from_raw_parts_mut(digest, 16) };
@@ -507,21 +507,21 @@ fn get_data_md5<'a, I: 'a + IoProvider>(_es: *mut ExecutionState<'a, I>, data: *
507507
0
508508
}
509509

510-
fn output_open<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, name: *const libc::c_char, is_gz: libc::c_int) -> *const libc::c_void {
510+
extern fn output_open<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, name: *const libc::c_char, is_gz: libc::c_int) -> *const libc::c_void {
511511
let es = unsafe { &mut *es };
512512
let rname = osstr_from_cstr(&unsafe { CStr::from_ptr(name) });
513513
let ris_gz = is_gz != 0;
514514

515515
es.output_open(&rname, ris_gz) as *const _
516516
}
517517

518-
fn output_open_stdout<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, ) -> *const libc::c_void {
518+
extern fn output_open_stdout<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, ) -> *const libc::c_void {
519519
let es = unsafe { &mut *es };
520520

521521
es.output_open_stdout() as *const _
522522
}
523523

524-
fn output_putc<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, handle: *mut libc::c_void, c: libc::c_int) -> libc::c_int {
524+
extern fn output_putc<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, handle: *mut libc::c_void, c: libc::c_int) -> libc::c_int {
525525
let es = unsafe { &mut *es };
526526
let rhandle = handle as *mut OutputHandle;
527527
let rc = c as u8;
@@ -533,7 +533,7 @@ fn output_putc<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, handle: *
533533
}
534534
}
535535

536-
fn output_write<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, handle: *mut libc::c_void, data: *const u8, len: libc::size_t) -> libc::size_t {
536+
extern fn output_write<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, handle: *mut libc::c_void, data: *const u8, len: libc::size_t) -> libc::size_t {
537537
let es = unsafe { &mut *es };
538538
let rhandle = handle as *mut OutputHandle;
539539
let rdata = unsafe { slice::from_raw_parts(data, len) };
@@ -547,7 +547,7 @@ fn output_write<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, handle:
547547
}
548548
}
549549

550-
fn output_flush<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, handle: *mut libc::c_void) -> libc::c_int {
550+
extern fn output_flush<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, handle: *mut libc::c_void) -> libc::c_int {
551551
let es = unsafe { &mut *es };
552552
let rhandle = handle as *mut OutputHandle;
553553

@@ -558,7 +558,7 @@ fn output_flush<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, handle:
558558
}
559559
}
560560

561-
fn output_close<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, handle: *mut libc::c_void) -> libc::c_int {
561+
extern fn output_close<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, handle: *mut libc::c_void) -> libc::c_int {
562562
let es = unsafe { &mut *es };
563563

564564
if handle == 0 as *mut _ {
@@ -575,7 +575,7 @@ fn output_close<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, handle:
575575
}
576576

577577

578-
fn input_open<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, name: *const libc::c_char, format: libc::c_int, is_gz: libc::c_int) -> *const libc::c_void {
578+
extern fn input_open<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, name: *const libc::c_char, format: libc::c_int, is_gz: libc::c_int) -> *const libc::c_void {
579579
let es = unsafe { &mut *es };
580580
let rname = osstr_from_cstr(unsafe { CStr::from_ptr(name) });
581581
let rformat = c_format_to_rust(format);
@@ -589,20 +589,20 @@ fn input_open<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, name: *con
589589
}
590590
}
591591

592-
fn input_open_primary<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>) -> *const libc::c_void {
592+
extern fn input_open_primary<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>) -> *const libc::c_void {
593593
let es = unsafe { &mut *es };
594594

595595
es.input_open_primary() as *const _
596596
}
597597

598-
fn input_get_size<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, handle: *mut libc::c_void) -> libc::size_t {
598+
extern fn input_get_size<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, handle: *mut libc::c_void) -> libc::size_t {
599599
let es = unsafe { &mut *es };
600600
let rhandle = handle as *mut InputHandle;
601601

602602
es.input_get_size(rhandle)
603603
}
604604

605-
fn input_seek<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, handle: *mut libc::c_void, offset: libc::ssize_t, whence: libc::c_int, internal_error: *mut libc::c_int) -> libc::size_t {
605+
extern fn input_seek<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, handle: *mut libc::c_void, offset: libc::ssize_t, whence: libc::c_int, internal_error: *mut libc::c_int) -> libc::size_t {
606606
let es = unsafe { &mut *es };
607607
let rhandle = handle as *mut InputHandle;
608608

@@ -630,7 +630,7 @@ fn input_seek<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, handle: *m
630630
}
631631
}
632632

633-
fn input_getc<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, handle: *mut libc::c_void) -> libc::c_int {
633+
extern fn input_getc<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, handle: *mut libc::c_void) -> libc::c_int {
634634
let es = unsafe { &mut *es };
635635
let rhandle = handle as *mut InputHandle;
636636

@@ -647,7 +647,7 @@ fn input_getc<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, handle: *m
647647
}
648648
}
649649

650-
fn input_ungetc<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, handle: *mut libc::c_void, ch: libc::c_int) -> libc::c_int {
650+
extern fn input_ungetc<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, handle: *mut libc::c_void, ch: libc::c_int) -> libc::c_int {
651651
let es = unsafe { &mut *es };
652652
let rhandle = handle as *mut InputHandle;
653653

@@ -660,7 +660,7 @@ fn input_ungetc<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, handle:
660660
}
661661
}
662662

663-
fn input_read<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, handle: *mut libc::c_void, data: *mut u8, len: libc::size_t) -> libc::ssize_t {
663+
extern fn input_read<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, handle: *mut libc::c_void, data: *mut u8, len: libc::size_t) -> libc::ssize_t {
664664
let es = unsafe { &mut *es };
665665
let rhandle = handle as *mut InputHandle;
666666
let rdata = unsafe { slice::from_raw_parts_mut(data, len) };
@@ -674,7 +674,7 @@ fn input_read<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, handle: *m
674674
}
675675
}
676676

677-
fn input_close<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, handle: *mut libc::c_void) -> libc::c_int {
677+
extern fn input_close<'a, I: 'a + IoProvider>(es: *mut ExecutionState<'a, I>, handle: *mut libc::c_void) -> libc::c_int {
678678
let es = unsafe { &mut *es };
679679

680680
if handle == 0 as *mut _ {

0 commit comments

Comments
 (0)