pike.git / src / modules / _Stdio / buffer.cmod

version» Context lines:

pike.git/src/modules/_Stdio/buffer.cmod:1:   #include "global.h"   #include "fdlib.h"   #include "pike_netlib.h"   #include "object.h"   #include "interpret.h"   #include "operators.h"   #include "bignum.h"   #include "sscanf.h"   #include "builtin_functions.h"   #include "interpret.h" + #include "cyclic.h"   #include "backend.h"   #include "fd_control.h"   #include "file_machine.h"   #include "file.h"   #include "whitespace.h"   #include "pike_types.h"   #include "pike_threadlib.h"   #include "iobuffer.h"   #include "module_support.h"   
pike.git/src/modules/_Stdio/buffer.cmod:743:    s->refs++;    }    else    io_append( io, s->str, s->len );    }    break;    case PIKE_T_ARRAY:    {    struct array *argp = p->u.array;    INT_TYPE i; +  DECLARE_CYCLIC(); +  +  if (BEGIN_CYCLIC(io, argp)) +  Pike_error("Attempt to append a cyclic array to a buffer.\n"); +     for(i=0; i<argp->size; i++ )    io_append_svalue( io, argp->item+i ); -  +  +  END_CYCLIC();    }    break;    case PIKE_T_OBJECT:    {    struct object *x = p->u.object;    union {    IOBuffer *io;    struct string_builder *b;    struct sysmem *s;    } src;