@@ -292,6 +292,129 @@ pub unsafe fn test_strdup_10() {
292292 ) ;
293293 libc:: free ( ( d3 as * mut u8 as * mut :: libc:: c_void ) ) ;
294294}
295+ pub unsafe fn test_strcspn_11 ( ) {
296+ assert ! (
297+ ( ( libc:: strcspn(
298+ b"hello\0 " . as_ptr( ) as * const i8 ,
299+ b"el\0 " . as_ptr( ) as * const i8
300+ ) as u64 )
301+ == ( 1_u64 ) )
302+ ) ;
303+ assert ! (
304+ ( ( libc:: strcspn(
305+ b"abc\0 " . as_ptr( ) as * const i8 ,
306+ b"xyz\0 " . as_ptr( ) as * const i8
307+ ) as u64 )
308+ == ( 3_u64 ) )
309+ ) ;
310+ assert ! (
311+ ( ( libc:: strcspn( b"\0 " . as_ptr( ) as * const i8 , b"abc\0 " . as_ptr( ) as * const i8 ) as u64 )
312+ == ( 0_u64 ) )
313+ ) ;
314+ let mut s: * const u8 = b"hello\0 " . as_ptr ( ) ;
315+ let mut rej: * const u8 = b"el\0 " . as_ptr ( ) ;
316+ assert ! ( ( ( libc:: strcspn( s as * const i8 , rej as * const i8 ) as u64 ) == ( 1_u64 ) ) ) ;
317+ }
318+ pub unsafe fn test_strspn_12 ( ) {
319+ assert ! (
320+ ( ( libc:: strspn(
321+ b"hello\0 " . as_ptr( ) as * const i8 ,
322+ b"hel\0 " . as_ptr( ) as * const i8
323+ ) as u64 )
324+ == ( 4_u64 ) )
325+ ) ;
326+ assert ! (
327+ ( ( libc:: strspn(
328+ b"abc\0 " . as_ptr( ) as * const i8 ,
329+ b"xyz\0 " . as_ptr( ) as * const i8
330+ ) as u64 )
331+ == ( 0_u64 ) )
332+ ) ;
333+ assert ! (
334+ ( ( libc:: strspn( b"aaa\0 " . as_ptr( ) as * const i8 , b"a\0 " . as_ptr( ) as * const i8 ) as u64 )
335+ == ( 3_u64 ) )
336+ ) ;
337+ let mut s: * const u8 = b"hello\0 " . as_ptr ( ) ;
338+ let mut acc: * const u8 = b"hel\0 " . as_ptr ( ) ;
339+ assert ! ( ( ( libc:: strspn( s as * const i8 , acc as * const i8 ) as u64 ) == ( 4_u64 ) ) ) ;
340+ }
341+ pub unsafe fn test_strstr_13 ( ) {
342+ let mut h: * const u8 = b"hello world\0 " . as_ptr ( ) ;
343+ let mut r: * const u8 =
344+ libc:: strstr ( h as * const i8 , b"world\0 " . as_ptr ( ) as * const i8 ) as * const u8 ;
345+ assert ! ( !( ( r) . is_null( ) ) ) ;
346+ assert ! ( ( ( r) == ( h. offset( ( 6 ) as isize ) ) ) ) ;
347+ assert ! ( ( libc:: strstr( h as * const i8 , b"xyz\0 " . as_ptr( ) as * const i8 ) as * const u8 ) . is_null( ) ) ;
348+ let mut buf: [ u8 ; 6 ] = [
349+ ( 'h' as u8 ) ,
350+ ( 'e' as u8 ) ,
351+ ( 'l' as u8 ) ,
352+ ( 'l' as u8 ) ,
353+ ( 'o' as u8 ) ,
354+ ( '\0' as u8 ) ,
355+ ] ;
356+ assert ! (
357+ ( ( libc:: strstr( buf. as_mut_ptr( ) as * const i8 , b"ll\0 " . as_ptr( ) as * const i8 ) as * mut u8 )
358+ == ( & mut buf[ ( 2 ) as usize ] as * mut u8 ) )
359+ ) ;
360+ }
361+ pub unsafe fn test_strpbrk_14 ( ) {
362+ let mut s: * const u8 = b"hello world\0 " . as_ptr ( ) ;
363+ let mut r: * const u8 =
364+ libc:: strpbrk ( s as * const i8 , b"wo\0 " . as_ptr ( ) as * const i8 ) as * const u8 ;
365+ assert ! ( !( ( r) . is_null( ) ) ) ;
366+ assert ! ( ( ( r) == ( s. offset( ( 4 ) as isize ) ) ) ) ;
367+ assert ! ( ( libc:: strpbrk( s as * const i8 , b"xyz\0 " . as_ptr( ) as * const i8 ) as * const u8 ) . is_null( ) ) ;
368+ let mut buf: [ u8 ; 4 ] = [ ( 'a' as u8 ) , ( 'b' as u8 ) , ( 'c' as u8 ) , ( '\0' as u8 ) ] ;
369+ assert ! (
370+ ( ( libc:: strpbrk( buf. as_mut_ptr( ) as * const i8 , b"b\0 " . as_ptr( ) as * const i8 ) as * mut u8 )
371+ == ( & mut buf[ ( 1 ) as usize ] as * mut u8 ) )
372+ ) ;
373+ }
374+ pub unsafe fn test_memrchr_15 ( ) {
375+ let data: [ u8 ; 5 ] = [ 1_u8 , 2_u8 , 3_u8 , 2_u8 , 4_u8 ] ;
376+ let mut r: * const :: libc:: c_void = libc:: memrchr (
377+ ( data. as_ptr ( ) as * const u8 as * const :: libc:: c_void ) as * const :: libc:: c_void ,
378+ 2 ,
379+ 5_u64 as usize ,
380+ ) as * const :: libc:: c_void ;
381+ assert ! ( ( ( r) == ( ( & data[ ( 3 ) as usize ] as * const u8 ) as * const u8 as * const :: libc:: c_void) ) ) ;
382+ assert ! ( ( libc:: memrchr(
383+ ( data. as_ptr( ) as * const u8 as * const :: libc:: c_void) as * const :: libc:: c_void,
384+ 99 ,
385+ 5_u64 as usize
386+ ) as * const :: libc:: c_void)
387+ . is_null( ) ) ;
388+ let mut p: * const :: libc:: c_void = ( data. as_ptr ( ) as * const u8 as * const :: libc:: c_void ) ;
389+ let mut n: u64 = 5_u64 ;
390+ assert ! (
391+ ( ( libc:: memrchr( p as * const :: libc:: c_void, 1 , n as usize ) as * const :: libc:: c_void)
392+ == ( p) )
393+ ) ;
394+ }
395+ pub unsafe fn test_strcasecmp_16 ( ) {
396+ assert ! (
397+ ( ( libc:: strcasecmp(
398+ b"HELLO\0 " . as_ptr( ) as * const i8 ,
399+ b"hello\0 " . as_ptr( ) as * const i8
400+ ) ) == ( 0 ) )
401+ ) ;
402+ assert ! (
403+ ( ( libc:: strcasecmp(
404+ b"abc\0 " . as_ptr( ) as * const i8 ,
405+ b"abd\0 " . as_ptr( ) as * const i8
406+ ) ) < ( 0 ) )
407+ ) ;
408+ assert ! (
409+ ( ( libc:: strcasecmp(
410+ b"abd\0 " . as_ptr( ) as * const i8 ,
411+ b"abc\0 " . as_ptr( ) as * const i8
412+ ) ) > ( 0 ) )
413+ ) ;
414+ let mut p: * const u8 = b"FOO\0 " . as_ptr ( ) ;
415+ let mut q: * const u8 = b"foo\0 " . as_ptr ( ) ;
416+ assert ! ( ( ( libc:: strcasecmp( p as * const i8 , q as * const i8 ) ) == ( 0 ) ) ) ;
417+ }
295418pub fn main ( ) {
296419 unsafe {
297420 std:: process:: exit ( main_0 ( ) as i32 ) ;
@@ -309,5 +432,11 @@ unsafe fn main_0() -> i32 {
309432 ( unsafe { test_memchr_8 ( ) } ) ;
310433 ( unsafe { test_strrchr_9 ( ) } ) ;
311434 ( unsafe { test_strdup_10 ( ) } ) ;
435+ ( unsafe { test_strcspn_11 ( ) } ) ;
436+ ( unsafe { test_strspn_12 ( ) } ) ;
437+ ( unsafe { test_strstr_13 ( ) } ) ;
438+ ( unsafe { test_strpbrk_14 ( ) } ) ;
439+ ( unsafe { test_memrchr_15 ( ) } ) ;
440+ ( unsafe { test_strcasecmp_16 ( ) } ) ;
312441 return 0 ;
313442}
0 commit comments