@@ -7,7 +7,7 @@ use crate::{
7
7
php_stream_wrapper_ops, php_unregister_url_stream_wrapper,
8
8
php_unregister_url_stream_wrapper_volatile, zend_string,
9
9
} ,
10
- types:: ZendStr ,
10
+ types:: ZendStr , error :: Error ,
11
11
} ;
12
12
13
13
pub type StreamWrapper = php_stream_wrapper ;
@@ -41,20 +41,20 @@ impl StreamWrapper {
41
41
}
42
42
}
43
43
44
- pub fn register ( self , name : & str ) -> Result < Self , ( ) > {
44
+ pub fn register ( self , name : & str ) -> Result < Self , Error > {
45
45
// We have to convert it to a static so owned streamwrapper doesn't get dropped.
46
46
let copy = Box :: new ( self ) ;
47
47
let copy = Box :: leak ( copy) ;
48
- let name = std:: ffi:: CString :: new ( name) . unwrap ( ) ;
48
+ let name = std:: ffi:: CString :: new ( name) . expect ( "Could not create C string for name!" ) ;
49
49
let result = unsafe { php_register_url_stream_wrapper ( name. as_ptr ( ) , copy) } ;
50
50
if result == 0 {
51
51
Ok ( * copy)
52
52
} else {
53
- Err ( ( ) )
53
+ Err ( Error :: StreamWrapperRegistrationFailure )
54
54
}
55
55
}
56
56
57
- pub fn register_volatile ( self , name : & str ) -> Result < Self , ( ) > {
57
+ pub fn register_volatile ( self , name : & str ) -> Result < Self , Error > {
58
58
// We have to convert it to a static so owned streamwrapper doesn't get dropped.
59
59
let copy = Box :: new ( self ) ;
60
60
let copy = Box :: leak ( copy) ;
@@ -64,23 +64,23 @@ impl StreamWrapper {
64
64
if result == 0 {
65
65
Ok ( * copy)
66
66
} else {
67
- Err ( ( ) )
67
+ Err ( Error :: StreamWrapperRegistrationFailure )
68
68
}
69
69
}
70
70
71
- pub fn unregister ( name : & str ) -> Result < ( ) , ( ) > {
72
- let name = std:: ffi:: CString :: new ( name) . unwrap ( ) ;
71
+ pub fn unregister ( name : & str ) -> Result < ( ) , Error > {
72
+ let name = std:: ffi:: CString :: new ( name) . expect ( "Could not create C string for name!" ) ;
73
73
match unsafe { php_unregister_url_stream_wrapper ( name. as_ptr ( ) ) } {
74
74
0 => Ok ( ( ) ) ,
75
- _ => Err ( ( ) ) ,
75
+ _ => Err ( Error :: StreamWrapperUnregistrationFailure ) ,
76
76
}
77
77
}
78
78
79
- pub fn unregister_volatile ( name : & str ) -> Result < ( ) , ( ) > {
79
+ pub fn unregister_volatile ( name : & str ) -> Result < ( ) , Error > {
80
80
let name = ZendStr :: new ( name, false ) ;
81
81
match unsafe { php_unregister_url_stream_wrapper_volatile ( ( * name) . as_ptr ( ) as _ ) } {
82
82
0 => Ok ( ( ) ) ,
83
- _ => Err ( ( ) ) ,
83
+ _ => Err ( Error :: StreamWrapperUnregistrationFailure ) ,
84
84
}
85
85
}
86
86
0 commit comments