📄 change_0206.ec
字号:
/* * 证券交易系统 城综网帐户信息校验 打包解包模块(与代理集中点) * 时间: 2001.2.21*/#include "../incl/bank.h"$include sqlca;extern SEND_NET_0206 send_net_0206;extern RECV_NET_0206 recv_net_0206;extern int sndrcv_account();/* 按长度读取字段模块(来自代理集中点) */#define GET_REGION(region,recv_data) \ for ( ; strncmp (tmp,"=",1) != 0; ) *tmp ++; \ *tmp++; \ tmpa = tmp; \ for ( lena = 0; strncmp (tmpa,"|",1) != 0; lena++) *tmpa++; \ memset( recv_data.region, 0x00, sizeof(recv_data.region) ); \ memcpy( recv_data.region, tmp, lena ); \ for ( i=0; i<(lena+1); i++) *tmp ++; \ recv_data.region[ lena ] = '\0'; \/* 解包模块(来自代理集中点) */int unpknet_stock_0206( rcv_data,duig_0206_buffer)char *rcv_data;char *duig_0206_buffer;{ int i,lena,k; char *tmp,*tmpa; char tmp1[256]; tmp = rcv_data; GET_REGION ( trans_type, recv_net_0206 ) GET_REGION ( acco_type, recv_net_0206 )/* add by lyf on 2001.3.27 */ if(recv_net_0206.acco_type[0] >= '1'&&recv_net_0206.acco_type[0] <= '3') { k = sndrcv_account(rcv_data,duig_0206_buffer); if (k < 0) return(k); WriteLog(LOGFILE,"对公返回数据:[%s]\n",duig_0206_buffer); return -20; }/* add by lyf on 2001.3.27 */ GET_REGION ( account, recv_net_0206 ) GET_REGION ( time, recv_net_0206 ) if ( !memcmp(recv_net_0206.account,"436742",6) || !memcmp(recv_net_0206.account,"651009",6) ) { WriteLog(LOGFILE,"拆包处理结束(来自代理集中点)!"); return ( 0 ); } else { WriteLog(LOGFILE,"帐号不符合要求!"); return ( -1 ); }}pktonet_stock_0206( snd_data )char *snd_data;{ int lenb,len; int i,T_blan; char tmp_blan1[2],tmp_blan2[13]; char tmp[1024],lenstr[2]; char *temp,*snd_temp; memset ( tmp,0,1024 ); temp = tmp; len = 0; lenb = strlen(send_net_0206.retcode); memcpy ( temp,"RETCODE=",8 ); for ( i=0; i<8; i++ ) *temp ++; memcpy ( temp,send_net_0206.retcode,lenb); for ( i=0; i<lenb; i++ ) *temp ++; memcpy ( temp,"|",1 ); *temp++; len=len+lenb+9; lenb = strlen(send_net_0206.errmsg); memcpy ( temp,"ERRMSG=",7 ); for ( i=0; i<7; i++ ) *temp ++; memcpy ( temp,send_net_0206.errmsg,lenb); for ( i=0; i<lenb; i++ ) *temp ++; memcpy ( temp,"|",1 ); *temp ++; len=len+lenb+8; lenb = strlen(send_net_0206.balance); if ( lenb != 0) { memcpy ( temp,"BALANCE=",8 ); for ( i=0; i<8; i++ ) *temp ++;/* add by lyf on 2001.3.28 余额转换*/ sscanf(send_net_0206.balance,"%13s%2s",tmp_blan2,tmp_blan1); T_blan = atoi(tmp_blan2); sprintf(tmp_blan2,"%d",T_blan); strcpy(send_net_0206.balance,tmp_blan2); strcat(send_net_0206.balance,"."); strcat(send_net_0206.balance,tmp_blan1); lenb = strlen(send_net_0206.balance);/* add by lyf on 2001.3.28 余额转换*/ memcpy ( temp,send_net_0206.balance,lenb); for ( i=0; i<lenb; i++ ) *temp ++; memcpy ( temp,"|",1 ); *temp ++; len=len+lenb+9; } temp[len] = '\0'; snd_temp = snd_data; memcpy ( snd_temp, "03" , 2 ); for ( i=0; i<2; i++ ) *snd_temp ++; sprintf(lenstr,"%2d",len); memcpy ( snd_temp,lenstr , 2 ); for ( i=0; i<2; i++ ) *snd_temp ++; memcpy ( snd_temp,tmp , len ); return ( 0 );}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -