xref: /openbmc/u-boot/lib/net_utils.c (revision b419e87287ddb26ed991a64b2b14db7841b5f8c6)
1  /*
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   * SPDX-License-Identifier:	GPL-2.0+
11   */
12  
13  #include <common.h>
14  
15  struct in_addr string_to_ip(const char *s)
16  {
17  	struct in_addr addr;
18  	char *e;
19  	int i;
20  
21  	addr.s_addr = 0;
22  	if (s == NULL)
23  		return addr;
24  
25  	for (addr.s_addr = 0, i = 0; i < 4; ++i) {
26  		ulong val = s ? simple_strtoul(s, &e, 10) : 0;
27  		addr.s_addr <<= 8;
28  		addr.s_addr |= (val & 0xFF);
29  		if (s) {
30  			s = (*e) ? e+1 : e;
31  		}
32  	}
33  
34  	addr.s_addr = htonl(addr.s_addr);
35  	return addr;
36  }
37