PostGIS  2.5.7dev-r@@SVN_REVISION@@

◆ lwpointiterator_modify_next()

int lwpointiterator_modify_next ( LWPOINTITERATOR s,
const POINT4D p 
)

Attempts to replace the next point int the iterator with p, and advances the iterator to the next point.

Returns LW_SUCCESS if the assignment was successful, LW_FAILURE otherwise.

Definition at line 226 of file lwiterator.c.

227 {
229  return LW_FAILURE;
230 
231  if (!s->allow_modification)
232  {
233  lwerror("Cannot write to read-only iterator");
234  return LW_FAILURE;
235  }
236 
237  ptarray_set_point4d(s->pointarrays->item, s->i, p);
238 
240  return LW_SUCCESS;
241 }
char * s
Definition: cu_in_wkt.c:23
#define LW_FAILURE
Definition: liblwgeom.h:79
#define LW_SUCCESS
Definition: liblwgeom.h:80
void ptarray_set_point4d(POINTARRAY *pa, uint32_t n, const POINT4D *p4d)
Definition: lwgeom_api.c:435
void lwerror(const char *fmt,...)
Write a notice out to the error handler.
Definition: lwutil.c:190
static int lwpointiterator_advance(LWPOINTITERATOR *s)
Definition: lwiterator.c:154
int lwpointiterator_has_next(LWPOINTITERATOR *s)
Returns LW_TRUE if there is another point available in the iterator.
Definition: lwiterator.c:204

References LW_FAILURE, LW_SUCCESS, lwerror(), lwpointiterator_advance(), lwpointiterator_has_next(), ptarray_set_point4d(), and s.

Referenced by lwgeom_trim_bits_in_place(), test_cannot_modify_read_only(), test_mixed_rw_access(), and test_modification().

Here is the call graph for this function:
Here is the caller graph for this function: