Mercurial > hg > freeDiameter
comparison libfdproto/utils.c @ 1103:d8591b1c56cd
Implemented a few hooks
author | Sebastien Decugis <sdecugis@freediameter.net> |
---|---|
date | Fri, 10 May 2013 18:48:57 +0800 |
parents | 44f3e48dfe27 |
children | 79dd22145f52 |
comparison
equal
deleted
inserted
replaced
1102:1d7b3ebda27f | 1103:d8591b1c56cd |
---|---|
63 if (sa) { | 63 if (sa) { |
64 int rc = getnameinfo(sa, sSAlen( sa ), addrbuf, sizeof(addrbuf), servbuf, sizeof(servbuf), flags); | 64 int rc = getnameinfo(sa, sSAlen( sa ), addrbuf, sizeof(addrbuf), servbuf, sizeof(servbuf), flags); |
65 if (rc) { | 65 if (rc) { |
66 CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "%s", gai_strerror(rc)), return NULL); | 66 CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "%s", gai_strerror(rc)), return NULL); |
67 } else { | 67 } else { |
68 CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "%s", &addrbuf[0]), return NULL); | 68 CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "%s(s)", &addrbuf[0], &servbuf[0]), return NULL); |
69 } | 69 } |
70 } else { | 70 } else { |
71 CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "(NULL / ANY)"), return NULL); | 71 CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "(NULL / ANY)"), return NULL); |
72 } | 72 } |
73 return *buf; | 73 return *buf; |
74 } | 74 } |
75 | |
76 void fd_sa_sdump_numeric(char * buf /* must be at least sSA_DUMP_STRLEN */, sSA * sa) | |
77 { | |
78 char addrbuf[INET6_ADDRSTRLEN]; | |
79 char servbuf[32]; | |
80 | |
81 if (sa) { | |
82 int rc = getnameinfo(sa, sSAlen( sa ), addrbuf, sizeof(addrbuf), servbuf, sizeof(servbuf), NI_NUMERICHOST | NI_NUMERICSERV); | |
83 if (rc) { | |
84 snprintf(buf, sSA_DUMP_STRLEN, "%s", gai_strerror(rc)); | |
85 } else { | |
86 snprintf(buf, sSA_DUMP_STRLEN, "%s(%s)", addrbuf, servbuf); | |
87 } | |
88 } else { | |
89 snprintf(buf, sSA_DUMP_STRLEN, "(NULL / ANY)"); | |
90 } | |
91 | |
92 } |