[Olsr-cvs] olsrd-current/lib/nameservice/src nameservice.c, 1.34, 1.35
Bernd Petrovitsch
(spam-protected)
Thu Nov 8 23:47:42 CET 2007
Update of /cvsroot/olsrd/olsrd-current/lib/nameservice/src
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv28726/lib/nameservice/src
Modified Files:
nameservice.c
Log Message:
Another fat commit:
The main target was:
- Fixed the misleading definition of "v4" in "struct olsr_ip_addr" fom
"olsr_u32_t" (in network-byteorder!) to "struct in_addr". Lots of
temporary variables to call inet_ntoa()/inet_ptoa() vanished .....
- declare "int_addr", "int_netmask" and "int_broadaddr" in "struct interface"
as "struct sockaddr_in" since it is that what we actually want there (and
it is similar to the IPv6 code).
To get that thoroughly via compiler errors, we get:
- We have now ip4_to_string(), ip6_to_string() and olsr_ip_to_string()
to print a "struct in_addr", "struct in6_addr" and "union olsr_ip_addr"
into a string buffer.
Alas, this also annoyed me since ages:
- cleanup: olsr_ip_to_string() and similar non-reentrant functions now must
get a target buffer. To ease that, there is the "struct ipaddr_str"
which is large enough for all of them (read: for an IPv6 address). This
also removes the cyclic buffer there.
All of these function return a "const char *" which can be directly used
for printf(3) and friends.
And some cleanups:
- const'ified more functions
- converted the source to UTF-8.
- "struct sig_msg" uses an olsr_u8_t for a byte array (and not "char")
- force the few inline function to always be inlined.
- #ifdef the body of the olsr_print_hna_set() and olsr_print_neighbor_table()
if nothing is done
- use "inline_avl_comp_ipv4()" in "avl_comp_ipv4()"
- clean up the routes on more signals. Basically we want to do this on all
signals which terminate the program.
- killed a superflous global buffer in src/main.c
This version was breing since weeks and running for severa day in Vienna's
FunkFeuer net without any noticably problem!
Please report anything that broke!
Index: nameservice.c
===================================================================
RCS file: /cvsroot/olsrd/olsrd-current/lib/nameservice/src/nameservice.c,v
retrieving revision 1.34
retrieving revision 1.35
diff -C2 -d -r1.34 -r1.35
*** nameservice.c 5 Nov 2007 15:32:55 -0000 1.34
--- nameservice.c 8 Nov 2007 22:47:40 -0000 1.35
***************
*** 170,174 ****
{
*v = add_name_to_list(*v, "", addon.ui, NULL);
! OLSR_PRINTF(1, "%s got %s (main address)\n", "Got", value);
return 0;
}
--- 170,174 ----
{
*v = add_name_to_list(*v, "", addon.ui, NULL);
! OLSR_PRINTF(1, "%s got %s (main address)\n", "Got", value);
return 0;
[...997 lines suppressed...]
! OLSR_FOR_ALL_TC_EDGE_ENTRIES(tc, tc_edge) {
! struct ipaddr_str dstbuf, addrbuf;
! fprintf(js, "Link('%s','%s',%f,%f,%f);\n",
! olsr_ip_to_string(&dstbuf, &tc_edge->T_dest_addr),
! olsr_ip_to_string(&addrbuf, &tc->addr),
tc_edge->link_quality,
tc_edge->inverse_link_quality,
! olsr_calc_tc_etx(tc_edge));
! } OLSR_FOR_ALL_TC_EDGE_ENTRIES_END(tc, tc_edge);
! } OLSR_FOR_ALL_TC_ENTRIES_END(tc);
fclose(js);
***************
*** 1543,1546 ****
--- 1584,1588 ----
* mode: c
* c-indent-tabs-mode: t
+ * indent-tabs-mode: t
* c-basic-offset: 4
* tab-width: 4
More information about the Olsr-cvs
mailing list