GPLization banner introduced to *.[hc] files
[sip-router] / parser / parse_hostport.c
1 /*
2  * $Id$
3  *
4  * Copyright (C) 2001-2003 Fhg Fokus
5  *
6  * This file is part of ser, a free SIP server.
7  *
8  * ser is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 2 of the License, or
11  * (at your option) any later version
12  *
13  * For a license to use the ser software under conditions
14  * other than those described here, or to purchase support for this
15  * software, please contact iptel.org by e-mail at the following addresses:
16  *    info@iptel.org
17  *
18  * ser is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21  * GNU General Public License for more details.
22  *
23  * You should have received a copy of the GNU General Public License 
24  * along with this program; if not, write to the Free Software 
25  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
26  */
27
28
29 #include "parse_hostport.h"
30 #include <string.h>    /* strlen */
31 #include "../dprint.h"
32 #include "../ut.h"     /* str2s */
33
34 char* parse_hostport(char* buf, str* host, short int* port)
35 {
36         char *tmp;
37         int err;
38
39         host->s=buf;
40         for(tmp=buf;(*tmp)&&(*tmp!=':');tmp++);
41         host->len=tmp-buf;
42         if (*tmp==0) {
43                 *port=0;
44         } else {
45                 *tmp=0;
46                 *port=str2s((unsigned char*)(tmp+1), strlen(tmp+1), &err);
47                 if (err ){
48                         LOG(L_INFO, 
49                             "ERROR: hostport: trailing chars in port number: %s\n",
50                             tmp+1);
51                              /* report error? */
52                 }
53         }
54
55         return host->s;
56 }