[Autosec-devel] sonar/src expand.c,1.6,1.7 expand.h,1.3,1.4
Brought to you by:
red0x
From: Jacob F. <ph...@us...> - 2004-06-11 04:39:48
|
Update of /cvsroot/autosec/sonar/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19700 Modified Files: expand.c expand.h Log Message: Changed expand_target to take an addrinfo struct. Trying to add in ip expansion Index: expand.c =================================================================== RCS file: /cvsroot/autosec/sonar/src/expand.c,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** expand.c 11 Jun 2004 04:03:45 -0000 1.6 --- expand.c 11 Jun 2004 04:39:36 -0000 1.7 *************** *** 49,53 **** char * ! expand_target(char *format, target_t* target, uint16_t port) { char *fmtptr; --- 49,53 ---- char * ! expand_target(char *format, struct addrinfo *target, uint16_t port) { char *fmtptr; *************** *** 87,93 **** switch (*(++fmtptr)) /* skip over the % */ { ! case 't': /* hostname:port number */ fmtptr++; ! print_hostname(target, &result); checksize(1, &result); *(result.resptr++) = ':'; --- 87,93 ---- switch (*(++fmtptr)) /* skip over the % */ { ! case 't': /* ip:port number */ fmtptr++; ! print_ip(target, &result); checksize(1, &result); *(result.resptr++) = ':'; *************** *** 107,110 **** --- 107,114 ---- print_hostname(target, &result); break; + case 'i': /* ip address */ + fmtptr++; + print_ip(target, &result); + break; case 'p': /* port number */ fmtptr++; *************** *** 258,266 **** int ! print_hostname(target_t * t, resultBox result) { ! int strl = strlen(t->addrinfo->ai_canonname); checksize(strl+2, result); ! snprintf(result->resptr, strl+1, "%s", t->addrinfo->ai_canonname); result->curlen+=strl; result->resptr+=strl; --- 262,282 ---- int ! print_hostname(struct addrinfo *target, resultBox result) { ! int strl = strlen(target->ai_canonname); checksize(strl+2, result); ! snprintf(result->resptr, strl+1, "%s", target->ai_canonname); ! result->curlen+=strl; ! result->resptr+=strl; ! return strl; ! } ! ! int print_ip(struct addrinfo *target, resultBox result) ! { ! char ip[INET_ADDRSTRLEN]; ! inet_ntop(PF_INET, target->ai_addr, ip, INET_ADDRSTRLEN); ! int strl = strlen(ip); ! checksize(strl+2, result); ! snprintf(result->resptr, strl+1, "%s", ip); result->curlen+=strl; result->resptr+=strl; Index: expand.h =================================================================== RCS file: /cvsroot/autosec/sonar/src/expand.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** expand.h 10 Jun 2004 22:11:35 -0000 1.3 --- expand.h 11 Jun 2004 04:39:38 -0000 1.4 *************** *** 24,27 **** --- 24,30 ---- #include <netdb.h> #include <netinet/in.h> + #include <sys/types.h> + #include <sys/socket.h> + #include <arpa/inet.h> #include <time.h> #include "mem.h" *************** *** 43,51 **** typedef struct rb* resultBox; ! char *expand_target(char *, target_t *, uint16_t); void checksize(int, resultBox); int countdigits(int); ! int print_hostname(target_t *, resultBox); ! int print_ip(target_t *, resultBox); int print_portname(int, resultBox); int print_number(int, resultBox); --- 46,54 ---- typedef struct rb* resultBox; ! char *expand_target(char *, struct addrinfo*, uint16_t); void checksize(int, resultBox); int countdigits(int); ! int print_hostname(struct addrinfo*, resultBox); ! int print_ip(struct addrinfo*, resultBox); int print_portname(int, resultBox); int print_number(int, resultBox); |