diff options
Diffstat (limited to 'sualibrary/sua/sua_database.cpp')
-rw-r--r-- | sualibrary/sua/sua_database.cpp | 94 |
1 files changed, 47 insertions, 47 deletions
diff --git a/sualibrary/sua/sua_database.cpp b/sualibrary/sua/sua_database.cpp index ce953e1..8604ee5 100644 --- a/sualibrary/sua/sua_database.cpp +++ b/sualibrary/sua/sua_database.cpp @@ -15,7 +15,7 @@ * * ***************************************************************************/ /* - * $Id: sua_database.cpp,v 1.1.1.1 2002/02/04 14:30:41 p82609 Exp $ + * $Id: sua_database.cpp,v 1.2 2002/10/30 16:04:09 p82609 Exp $ * * SUA implementation according to SUA draft issue 6. * @@ -155,58 +155,58 @@ void db_Sua_AddressObject::read_addr_param(string address_str){ #ifdef DEBUG cout << "address = " << address_str << " len = " <<address_str.length() << "\n"; #endif - + while ((i <= address_str.length())) - { - if (address_str[i] == '.') count_punct++; - if (address_str[i] == ':') count_colon++; - if ((address_str[i] == ',') || (i == address_str.length())) - { - len = i - b; - string dest(address_str,b,len); - - tokstr_len = dest.length()+1; - tokstr = new char[tokstr_len]; - - dest.copy(tokstr,dest.length()); - // we are dealing with char arrays, so.... - tokstr[dest.length()] = '\0'; - short k; - for(k=0; k < tokstr_len; k++) - address_string[nr_of_addrs][k] = tokstr[k]; - if (count_punct == 3) - { // IPv4 address parameters - addrs[nr_of_addrs].sa.sa_family = AF_INET; - addrs[nr_of_addrs].sin.sin_port = SUA_PORT; - result = inet_pton(AF_INET, tokstr,&addrs[nr_of_addrs].sin.sin_addr); - if (result != 1) - cout << "IPvx address conversion returned "<< result << " \n"; + { + if (address_str[i] == '.') count_punct++; + if (address_str[i] == ':') count_colon++; + if ((address_str[i] == ',') || (i == address_str.length())) + { + len = i - b; + string dest(address_str,b,len); + + tokstr_len = dest.length()+1; + tokstr = new char[tokstr_len]; + + dest.copy(tokstr,dest.length()); + // we are dealing with char arrays, so.... + tokstr[dest.length()] = '\0'; + short k; + for(k=0; k < tokstr_len; k++) + address_string[nr_of_addrs][k] = tokstr[k]; + if (count_punct == 3) + { // IPv4 address parameters + addrs[nr_of_addrs].sa.sa_family = AF_INET; + addrs[nr_of_addrs].sin.sin_port = SUA_PORT; + result = inet_pton(AF_INET, tokstr,&addrs[nr_of_addrs].sin.sin_addr); + if (result != 1) + cout << "IPvx address conversion returned "<< result << " \n"; #ifdef DEBUG - cout << "IPv4 = " << addrs[nr_of_addrs].sin.sin_addr.s_addr << " \n"; + cout << "IPv4 = " << addrs[nr_of_addrs].sin.sin_addr.s_addr << " \n"; #endif - } - if (count_colon >= 2) - { // IPv6 address parameters - addrs[nr_of_addrs].sa.sa_family = AF_INET6; - addrs[nr_of_addrs].sin6.sin6_port = SUA_PORT; - result = inet_pton(AF_INET6, tokstr,&addrs[nr_of_addrs].sin6.sin6_addr); - if (result != 1) - cout << "IPvx address conversion returned "<< result << " \n"; + } + if (count_colon >= 2) + { // IPv6 address parameters + addrs[nr_of_addrs].sa.sa_family = AF_INET6; + addrs[nr_of_addrs].sin6.sin6_port = SUA_PORT; + result = inet_pton(AF_INET6, tokstr,&addrs[nr_of_addrs].sin6.sin6_addr); + if (result != 1) + cout << "IPvx address conversion returned "<< result << " \n"; #ifdef DEBUG - cout << "IPv6 = " << &addrs[nr_of_addrs].sin6.sin6_addr << " \n"; + cout << "IPv6 = " << &addrs[nr_of_addrs].sin6.sin6_addr << " \n"; #endif - } - - nr_of_addrs++; - b = i + 1; - count_punct = 0; - count_colon = 0; - - } + } + + nr_of_addrs++; + b = i + 1; + count_punct = 0; + count_colon = 0; + + } - i++; - - } + i++; + + } #ifdef DEBUG cout << "number of address = " << nr_of_addrs << " \n"; #endif |