X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=form%2Ffld_link.c;h=c0604584179f8fac733291b975649b50802ae582;hp=c0461afacb5d40c89d00f01d86ce2510e4bc8a02;hb=643ec2bf782cd02efafe3ccdeaea8920a404645e;hpb=5242fccf157e715ed878455a3efea6c82b840eb5 diff --git a/form/fld_link.c b/form/fld_link.c index c0461afa..c0604584 100644 --- a/form/fld_link.c +++ b/form/fld_link.c @@ -1,5 +1,6 @@ /**************************************************************************** - * Copyright (c) 1998-2004,2007 Free Software Foundation, Inc. * + * Copyright 2020,2021 Thomas E. Dickey * + * Copyright 1998-2010,2012 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * * copy of this software and associated documentation files (the * @@ -32,37 +33,37 @@ #include "form.priv.h" -MODULE_ID("$Id: fld_link.c,v 1.10 2007/02/03 23:37:46 tom Exp $") +MODULE_ID("$Id: fld_link.c,v 1.17 2021/06/17 21:20:30 tom Exp $") /*--------------------------------------------------------------------------- -| Facility : libnform -| Function : FIELD *link_field(FIELD *field, int frow, int fcol) -| +| Facility : libnform +| Function : FIELD *link_field(FIELD *field, int frow, int fcol) +| | Description : Duplicates the field at the specified position. The | new field shares its buffers with the original one, | the attributes are independent. | If an error occurs, errno is set to -| +| | E_BAD_ARGUMENT - invalid argument | E_SYSTEM_ERROR - system error | | Return Values : Pointer to the new field or NULL if failure +--------------------------------------------------------------------------*/ -NCURSES_EXPORT(FIELD *) +FORM_EXPORT(FIELD *) link_field(FIELD *field, int frow, int fcol) { FIELD *New_Field = (FIELD *)0; int err = E_BAD_ARGUMENT; - T((T_CALLED("link_field(%p,%d,%d)"), field, frow, fcol)); + T((T_CALLED("link_field(%p,%d,%d)"), (void *)field, frow, fcol)); if (field && (frow >= 0) && (fcol >= 0) && ((err = E_SYSTEM_ERROR) != 0) && /* trick: this resets the default error */ - (New_Field = (FIELD *)malloc(sizeof(FIELD)))) + (New_Field = typeMalloc(FIELD, 1))) { - T((T_CREATE("field %p"), New_Field)); + T((T_CREATE("field %p"), (void *)New_Field)); *New_Field = *_nc_Default_Field; - New_Field->frow = frow; - New_Field->fcol = fcol; + New_Field->frow = (short)frow; + New_Field->fcol = (short)fcol; New_Field->link = field->link; field->link = New_Field;