diff --git a/src/as/asLib.h b/src/as/asLib.h index 352fd7c2b..4f592b19b 100644 --- a/src/as/asLib.h +++ b/src/as/asLib.h @@ -218,7 +218,7 @@ typedef struct asgClient { epicsShareFunc long epicsShareAPI asComputeAsg(ASG *pasg); /*following is "friend" function*/ epicsShareFunc void * epicsShareAPI asCalloc(size_t nobj,size_t size); - +epicsShareFunc char * epicsShareAPI asStrdup(unsigned char *str); #ifdef __cplusplus } #endif diff --git a/src/as/asLibRoutines.c b/src/as/asLibRoutines.c index 873f7b80c..37846ab68 100644 --- a/src/as/asLibRoutines.c +++ b/src/as/asLibRoutines.c @@ -842,6 +842,11 @@ epicsShareFunc void * epicsShareAPI asCalloc(size_t nobj,size_t size) p=callocMustSucceed(nobj,size,"asCalloc"); return(p); } +epicsShareFunc char * epicsShareAPI asStrdup(unsigned char *str) +{ + size_t len = strlen((char *) str); + return (char *) asCalloc(1, len + 1); +} static long asAddMemberPvt(ASMEMBERPVT *pasMemberPvt,const char *asgName) {