fis-gtm/sr_port/rtnlaboff2entryref.c

36 lines
1.1 KiB
C

/****************************************************************
* *
* Copyright 2002, 2004 Sanchez Computer Associates, Inc. *
* *
* This source code contains the intellectual property *
* of its copyright holder(s), and is made available *
* under a license. If you do not know the terms of *
* the license, please stop and do not read further. *
* *
****************************************************************/
#include "mdef.h"
#include "gtm_string.h"
#include <rtnhdr.h>
/* Format the given routine, label and offset into user presentable label+offset^routine string,
* return end of formatted output + 1. Does not check for buffer overflow, it's caller's
* responsibility to pass buffer with enough space */
char *rtnlaboff2entryref(char *entryref_buff, mident *rtn, mident *lab, int offset)
{
char *ptr, *from, *top;
ptr = entryref_buff;
memcpy(ptr, lab->addr, lab->len);
ptr += lab->len;
if (0 != offset)
{
*ptr++ = '+';
ptr = (char *)i2asc((uchar_ptr_t)ptr, offset);
}
*ptr++ = '^';
memcpy(ptr, rtn->addr, rtn->len);
ptr += rtn->len;
return ptr;
}