- Timestamp:
- 2006-01-04T11:16:58Z (18 years ago)
- Branches:
- master
- Children:
- 0196c47
- Parents:
- 13c4cd3
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
util.c
r13c4cd3 r2a6ca4f 403 403 return source; 404 404 } 405 406 #ifdef IPV6 407 /* Wrap an IPv4 address into IPv6 space. Not thread-safe... */ 408 char *ipv6_wrap( char *src ) 409 { 410 static char dst[64]; 411 int i; 412 413 for( i = 0; src[i]; i ++ ) 414 if( ( src[i] < '0' || src[i] > '9' ) && src[i] != '.' ) 415 break; 416 417 /* Hmm, it's not even an IP... */ 418 if( src[i] ) 419 return src; 420 421 g_snprintf( dst, sizeof( dst ), "::ffff:%s", src ); 422 423 return dst; 424 } 425 426 /* Unwrap an IPv4 address into IPv6 space. Thread-safe, because it's very simple. :-) */ 427 char *ipv6_unwrap( char *src ) 428 { 429 int i; 430 431 if( g_strncasecmp( src, "::ffff:", 7 ) != 0 ) 432 return src; 433 434 for( i = 7; src[i]; i ++ ) 435 if( ( src[i] < '0' || src[i] > '9' ) && src[i] != '.' ) 436 break; 437 438 /* Hmm, it's not even an IP... */ 439 if( src[i] ) 440 return src; 441 442 return ( src + 7 ); 443 } 444 #endif
Note: See TracChangeset
for help on using the changeset viewer.