1 #include <headers.h>
2 #include <datatypes.h>
3 #include <options.h>
4 #include <utils.h>
5 
6 int split_ip( char *text, u8b *dest, int place )
7 {
8   int dotcount;
9 
10   /* Don't touch this, unless you like pointer aritmethic */
11 
12   *dest = 0;
13 
14   if( !text )
15     return -1;
16 
17   for( dotcount = 0; (dotcount < place) && ( text ); text++ )
18       if( *text == '.' )
19 	dotcount++;
20 
21   if( !text )
22     return -2;
23 
24   while(( *text != '.' ) && ( *text != '\0' ))
25     {
26       *dest *= 10;
27       *dest += (u8b)(*text-48);
28       /* 48 is not a hack, is just the code of 0 */
29       text++;
30     }
31 
32   return 0;
33 }
34 
35 int get_ip( char *text, u32b *dest )
36 {
37   /* Don't touch this, unless you like pointer aritmethic */
38 
39   *dest = 0;
40 
41   if( !text )
42     return -1;
43 
44   while( *text != '\0' )
45     {
46       if( *text == '.' )
47 	{
48 	  *dest = *dest << 8;
49 	  text++;
50 	  continue;
51 	}
52       *dest *= 10;
53       *dest += (u8b)(*text-48);
54       /* 48 is not a hack, is just the code of 0 */
55       text++;
56     }
57 
58   return 0;
59 }
60