📄 change_0210.ec
字号:
/* * 证券交易系统 城综网帐户信息校验 打包解包模块(与代理集中点) * 时间: 2001.2.21*/#include "../incl/bank.h"$include sqlca;extern SEND_NET_0210 send_net_0210;extern RECV_NET_0210 recv_net_0210;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'; \ WriteLog(LOGFILE,"region=%s",recv_data.region); \/* 解包模块(来自代理集中点) */int unpknet_stock_0210( rcv_data,duig_0210_buffer)char *rcv_data;char *duig_0210_buffer;{ int i,lena,k; char *tmp,*tmpa; char tmp1[256]; char *rbuf; char T_buf1[4],T_buf2[12]; tmp = rcv_data; /* add by lyf on 2001.3.27 */ rbuf = rcv_data; WriteLog(LOGFILE,"对公签到开始\n"); k = sndrcv_account(rcv_data,rbuf); if (k < 0) return(k); WriteLog(LOGFILE,"对公返回数据:[%s]\n",rbuf); sscanf(rbuf,"%12s%4s",T_buf2,T_buf1); if(strcmp(T_buf1,"0000")) { strcpy(duig_0210_buffer,rbuf); return -20; } printf("对公签到结束\n");/* add by lyf on 2001.3.27 */ GET_REGION ( trans_type, recv_net_0210 ) WriteLog(LOGFILE,"拆包处理结束(来自代理集中点)!"); return ( 0 );}pktonet_stock_0210( snd_data )char *snd_data;{ int lenb,len; int i; char tmp[1024],lenstr[2]; char *temp,*snd_temp; memset ( tmp,0,1024 ); temp = tmp; len = 0; lenb = strlen(send_net_0210.retcode); memcpy ( temp,"RETCODE=",8 ); for ( i=0; i<8; i++ ) *temp ++; memcpy ( temp,send_net_0210.retcode,lenb); for ( i=0; i<lenb; i++ ) *temp ++; memcpy ( temp,"|",1 ); *temp++; len=len+lenb+9; if(strcmp(send_net_0210.retcode,"0000")) { lenb = strlen(send_net_0210.errmsg); memcpy ( temp,"ERRMSG=",7 ); for ( i=0; i<7; i++ ) *temp ++; memcpy ( temp,send_net_0210.errmsg,lenb); for ( i=0; i<lenb; i++ ) *temp ++; memcpy ( temp,"|",1 ); *temp ++; len=len+lenb+8; 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 + -