blob: b425a68d9138fcef3854912c308c71221453c519 [file] [log] [blame]
Dirk Behme6a45e382010-01-03 08:33:58 +01001/*
2 * Generic network code. Moved from net.c
3 *
4 * Copyright 1994 - 2000 Neil Russell.
5 * Copyright 2000 Roland Borde
6 * Copyright 2000 Paolo Scaffardi
7 * Copyright 2000-2002 Wolfgang Denk, wd@denx.de
8 * Copyright 2009 Dirk Behme, dirk.behme@googlemail.com
9 *
10 * See file CREDITS for list of people who contributed to this
11 * project.
12 *
13 * This program is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU General Public License as
15 * published by the Free Software Foundation; either version 2 of
16 * the License, or (at your option) any later version.
17 *
18 * This program 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,
26 * MA 02111-1307 USA
27 */
28
29#include <common.h>
30
Mike Frysinger908c6b62010-10-20 07:16:58 -040031IPaddr_t string_to_ip(const char *s)
Dirk Behme6a45e382010-01-03 08:33:58 +010032{
33 IPaddr_t addr;
34 char *e;
35 int i;
36
37 if (s == NULL)
38 return(0);
39
40 for (addr=0, i=0; i<4; ++i) {
41 ulong val = s ? simple_strtoul(s, &e, 10) : 0;
42 addr <<= 8;
43 addr |= (val & 0xFF);
44 if (s) {
45 s = (*e) ? e+1 : e;
46 }
47 }
48
49 return (htonl(addr));
50}