allocrdsrec - allocates memory for a rectangle
See the file man1/alc_origin.1.
#include"rdsnnn.h"
rdsrec_list ∗allocrdsrec( Size )
unsigned int Size;
- Size
- Size of the added structure to the rdsrec_list structure.
Allocates a memory block for rdsrec_list structure and an added
structure defined by the user. Fields contained in the two structures are
set to NULL for pointers and 0L for numbers.
NOTE: Allocation by heap ( see rdsalloc function ).
The pointer to the rectangle structure allocated.
"Rds202: rdsalloc error, can't continue !"
it's impossible to allocate the memory size
desired.
# include "mutnnn.h"
# include "rdsnnn.h"
# include "rtlnnn.h"
/∗ Name and fields of UserStruct are defined by the user ∗/
typedef struct UserStruct
{
char ∗STRING;
void ∗USER1;
} UserStruct;
# define POINTER_STRING(R) \
\
(((UserStruct ∗)((char ∗)(R)+sizeof(rdsrec_list)))->STRING )
# define POINTER_USER1(R) \
\
(((UserStruct ∗)((char ∗)(R)+sizeof(rdsrec_list)))->USER1 )
main()
{
rdsfig_list ∗Figure;
rdsrec_list ∗Rectangle;
mbkenv();
rdsenv();
loadrdsparam();
Rectangle = allocrdsrec ( sizeof ( UserStruct ) );
Rectangle->X = 20;
Rectangle->Y = 20;
Rectangle->DX = 48;
Rectangle->DY = 8;
POINTER_STRING (Rectangle) = (char ∗) malloc (strlen ("Alu1")+1);
strcpy(POINTER_STRING(Rectangle),"Alu1");
POINTER_USER1 (Rectangle) = (void ∗) Figure;
...
}
librds, freerdsrec, rdsalloc,
rdsfree
See the file man1/alc_bug_report.1.