We are trying to make C++ routine,we have developed a code
Code: Select all
]#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
char * substr(char a[] ,int s,int l)
{
int i;
char * b;
b=NULL;
for(i=s;i<=s+l-1;i++)
{
b[i-s]=a[i-1];
}
b[i-1]='\0';
//printf("%s",b);
return b;
}
int Calc_call_code(int CALL_TYPE_CODE,int CALL_SERVICE_TYPE_CODE, char CALL_TERMINATING_NBR[],char TER_OPR_CD[],char CALL_TYPE[],char ORG_TER_OPR_NAME[], char CALL_ROAM_NET_OPERATOR_CODE[])
{
int CALL_CODE;
switch(CALL_TYPE_CODE)
{
case 1: { CALL_CODE=55;break;}
case 2: { CALL_CODE=56;break;}
case 3: {
switch(CALL_SERVICE_TYPE_CODE)
{
case -722: {CALL_CODE=72;break;}
case -679: {CALL_CODE=86;break;}
case -99 : {CALL_CODE=52;break;}
};break;
}
case 4:{switch(CALL_SERVICE_TYPE_CODE)
{
case -732:
case -728:
case -726:
case -724: {CALL_CODE=54;break;}
case -730:{CALL_CODE=53;break;}
}; break;
}
case 5: { {CALL_CODE=51;}
break;
}
case 6: {if(CALL_TERMINATING_NBR != "-99" && strcmp(substr(CALL_TERMINATING_NBR,1,5),"56465") == 0) {
CALL_CODE=35;}
else CALL_CODE=39;
break;}
default: CALL_CODE=1000;
}
return CALL_CODE;
}
but in the case of 6,30 my job get aborts
I am not able to find what exactly is the issue,i think this is due to some library,here i thnink Strcmp is not working
Please help me to resolve this problem.