X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FNetworkOLK%2Fnet_send.cxx;h=2465d843ccdd069a40e205bae2cc898ca7fc1d02;hb=b9e866cfdd765cc742a6c9b3e35c8a9c1ca08dfc;hp=473fd9925ab05312b03268a3f9d115e9d52a5eca;hpb=485230b443de22c97d5c4ddfda98598fb52ce98a;p=flightgear.git diff --git a/src/NetworkOLK/net_send.cxx b/src/NetworkOLK/net_send.cxx index 473fd9925..2465d843c 100644 --- a/src/NetworkOLK/net_send.cxx +++ b/src/NetworkOLK/net_send.cxx @@ -32,6 +32,7 @@ /*************************************************************/ #include +#include #include "fgd.h" /* I prefer NHV's decl. */ @@ -39,11 +40,11 @@ #include #include -#include
+#include
+#include
//#define printf // - /* Netstuff */ #include int sock = -1; @@ -51,15 +52,33 @@ int my_sock; struct sockaddr_in address; struct sockaddr_in my_address; int result; -extern const char *const sys_errlist[]; -extern int errno; + +//#if defined( __CYGWIN__ ) +#include +//const char *const *sys_errlist = _sys_errlist; +//#else +//extern int errno; +//extern const char *const sys_errlist[]; +//#endif + +//#if defined( __CYGWIN__ ) +//#include +//#else +//extern int errno; +//#endif + +//extern const char *const sys_errlist[]; + +/* -dlw- I fixed a few of the cases, but please make non externally used */ +/* symbols static to avoid possible linker conflicts */ int current_port = 10000; u_short base_port = 10000; u_short end_port = 10010; -int verbose = 0; -struct hostent *host_info, *f_host_info; -struct servent *service_info; -struct utsname myname; + +static int verbose = 0; +static struct hostent *host_info, *f_host_info; +static struct servent *service_info; +static struct utsname myname; /* Program-stuff */ int i, j; @@ -75,8 +94,8 @@ extern char *FGFS_host, *net_callsign; /* List-stuff */ -const int True = 0; -const int False= -1; +const int listTrue = 0; +const int listFalse= -1; struct list_ele { /* unsigned */ char ipadr[16], callsign[16]; @@ -183,17 +202,17 @@ struct list_ele *clr_ele; int list_not_in( char name[16]) { - i = True; + i = listTrue; test = head->next; - while ((test != tail) && (i==True)) { - i = (strcmp(test->ipadr, name) ? True : False); + while ((test != tail) && (i==listTrue)) { + i = (strcmp(test->ipadr, name) ? listTrue : listFalse); test = test->next; if (verbose != 0) printf("list_not_in : %d\n",i); } - return(i); + return i; } -void fgd_print_Mat4( sgMat4 m ) { +void fgd_print_Mat4( const sgMat4 m ) { printf("0.0 %f 0.1 %f 0.2 %f 0.3 %f\n", m[0][0], m[0][1], m[0][2], m[0][3] ); printf("1.0 %f 1.1 %f 1.2 %f 1.3 %f\n", @@ -240,7 +259,7 @@ void fgd_init(void){ /* determinating the source/sending host */ if (uname(&myname) == 0) strcpy(src_host , myname.nodename); printf("MCP: I'm running on HOST : %s ", src_host); - if (host_info = gethostbyname( src_host)) { + if ( (host_info = gethostbyname( src_host)) != NULL ) { bcopy(host_info->h_addr, (char *)&address.sin_addr,host_info->h_length); strcpy((char *) fgd_mcp_ip, (char *) inet_ntoa(address.sin_addr)); } @@ -248,7 +267,7 @@ void fgd_init(void){ FGFS_host = src_host; /* resolving the destination host, here fgd's host */ if (verbose == 2) printf(" Resolving default DEAMON: %s ->", fgd_host); - if (host_info = gethostbyname( fgd_host)) { + if ( (host_info = gethostbyname( fgd_host)) != NULL ) { bcopy(host_info->h_addr, (char *)&address.sin_addr,host_info->h_length); strcpy((char *) fgd_ip, (char *) inet_ntoa(address.sin_addr)); if (verbose == 2) { @@ -262,7 +281,7 @@ void fgd_init(void){ } else if (verbose == 2) printf(" address valid\n"); if ((base_port > end_port) || ((short)base_port < 0)) { - fprintf(stderr,"Bad port range : start=%d end=%d !\n"); + fprintf(stderr,"Bad port range : start=%d end=%d !\n",base_port,end_port); // exit(1); } else if (verbose == 2) { printf(" Port range: %d to %d\n",base_port,end_port); @@ -271,12 +290,12 @@ void fgd_init(void){ int net_resolv_fgd( char *fgd_host_check ) { -char *fgd_ip_check; + char *fgd_ip_check = ""; /* resolving the destination host, here fgd's host */ net_r = 0; if (verbose == 2) printf(" Resolving default DEAMON: %s ->", fgd_host_check); - if (host_info = gethostbyname( fgd_host_check)) { + if ( (host_info = gethostbyname( fgd_host_check)) != NULL ) { bcopy(host_info->h_addr, (char *)&address.sin_addr,host_info->h_length); strcpy((char *) fgd_ip_check, (char *) inet_ntoa(address.sin_addr)); fgd_ip = fgd_ip_check; @@ -284,24 +303,25 @@ char *fgd_ip_check; printf(" FGD: resolved\nFGD: running on HOST : %s", fgd_host_check); printf(" IP : %s\n", fgd_ip_check); strcpy( fgd_host, fgd_host_check); -// return(0); +// return 0; } } else if ((address.sin_addr.s_addr = inet_addr( fgd_host)) == INADDR_NONE) { fprintf(stderr,"FGD: Could not get %s host entry !\n", fgd_host_check); printf(" FGD: NOT resolved !!!\n"); net_r = -1; - return(-1); + return -1; // exit(1); } else if (verbose == 2) printf(" address valid\n"); if ((base_port > end_port) || ((short)base_port < 0)) { - fprintf(stderr,"Bad port range : start=%d end=%d !\n"); + fprintf(stderr,"Bad port range : start=%d end=%d !\n",base_port,end_port); // exit(1); net_r = -2; - return(-2); + return -2; } else if (verbose == 2) { printf(" Port range: %d to %d\n",base_port,end_port); } + return 0; } @@ -315,7 +335,9 @@ void fgd_send_com( char *FGD_com, char *FGFS_host) { sock = socket(PF_INET, SOCK_STREAM, 0); if (sock == -1) { - fprintf(stderr, "Error assigning master socket: %s\n",sys_errlist[errno]); +// fprintf(stderr, "Error assigning master socket: %s\n",sys_errlist[errno]); + fprintf(stderr, "Error assigning master socket: %s\n", + strerror(errno)); /* must check how severe this really is */ // exit(-1); } @@ -364,18 +386,18 @@ void fgd_send_com( char *FGD_com, char *FGFS_host) { speed loss/gain in network-area... */ get_latitude(), get_longitude(), get_altitude(), - get_speed(), get_roll()*RAD_TO_DEG, - get_pitch()*RAD_TO_DEG, get_heading()); + get_speed(), get_roll()*SGD_RADIANS_TO_DEGREES, + get_pitch()*SGD_RADIANS_TO_DEGREES, get_heading()); write( sock, fgd_txt, 56); break; /* Here sending the previously calculated view.Mat4 by FGFS */ case 17: if (verbose == 2) printf("Checkpoint\n"); - sgCopyMat4(sgFGD_COORD, current_view.VIEW); + sgCopyMat4(sgFGD_COORD, globals->get_current_view()->get_VIEW()); if (verbose == 2) { printf("current_view\n"); - fgd_print_Mat4( current_view.VIEW); + fgd_print_Mat4( globals->get_current_view()->get_VIEW()); printf("FGD_COORD\n"); fgd_print_Mat4( sgFGD_COORD); }