int mode;
} php_stream_memory_data;
-static size_t php_stream_memory_write(php_stream *stream, const char *buf, size_t count TSRMLS_DC) { /* {{{ */
+
+/* {{{ */
+static size_t php_stream_memory_write(php_stream *stream, const char *buf, size_t count TSRMLS_DC)
+{
php_stream_memory_data *ms;
assert(stream != NULL);
ms->fpos += count;
}
return count;
-} /* }}} */
+}
+/* }}} */
+
-static size_t php_stream_memory_read(php_stream *stream, char *buf, size_t count TSRMLS_DC) { /* {{{ */
+/* {{{ */
+static size_t php_stream_memory_read(php_stream *stream, char *buf, size_t count TSRMLS_DC)
+{
php_stream_memory_data *ms;
assert(stream != NULL);
ms->fpos += count;
}
return count;
-} /* }}} */
+}
+/* }}} */
-static int php_stream_memory_close(php_stream *stream, int close_handle TSRMLS_DC) { /* {{{ */
+/* {{{ */
+static int php_stream_memory_close(php_stream *stream, int close_handle TSRMLS_DC)
+{
php_stream_memory_data *ms;
assert(stream != NULL);
ms->fsize = 0;
ms->fpos = 0;
return 0;
-} /* }}} */
+}
+/* }}} */
-static int php_stream_memory_flush(php_stream *stream TSRMLS_DC) { /* {{{ */
+/* {{{ */
+static int php_stream_memory_flush(php_stream *stream TSRMLS_DC) {
/* nothing to do here */
return 0;
-} /* }}} */
+}
+/* }}} */
-static int php_stream_memory_seek(php_stream *stream, off_t offset, int whence TSRMLS_DC) { /* {{{ */
+/* {{{ */
+static int php_stream_memory_seek(php_stream *stream, off_t offset, int whence TSRMLS_DC)
+{
php_stream_memory_data *ms;
assert(stream != NULL);
return 0;
/*return EINVAL;*/
}
-} /* }}} */
+}
+/* }}} */
-static char *php_stream_memory_gets(php_stream *stream, char *buf, size_t maxlen TSRMLS_DC) { /* {{{ */
+
+/* {{{ */
+static char *php_stream_memory_gets(php_stream *stream, char *buf, size_t maxlen TSRMLS_DC)
+{
size_t n = 1;
char *c = buf;
}
*c = 0;
return buf;
-} /* }}} */
+}
+/* }}} */
-static int php_stream_memory_cast(php_stream *stream, int castas, void **ret TSRMLS_DC) { /* {{{ */
+
+/* {{{ */
+static int php_stream_memory_cast(php_stream *stream, int castas, void **ret TSRMLS_DC)
+{
return FAILURE;
-} /* }}} */
+}
+/* }}} */
+
php_stream_ops php_stream_memory_ops = {
php_stream_memory_write, php_stream_memory_read,
"MEMORY"
};
-PHPAPI php_stream *_php_stream_memory_create(int mode STREAMS_DC TSRMLS_DC) { /* {{{ */
+
+/* {{{ */
+PHPAPI php_stream *_php_stream_memory_create(int mode STREAMS_DC TSRMLS_DC)
+{
php_stream_memory_data *self;
self = emalloc(sizeof(*self));
self->smax = -1;
self->mode = mode;
return php_stream_alloc(&php_stream_memory_ops, self, 0, "rwb");
-} /* }}} */
+}
+/* }}} */
-PHPAPI php_stream *_php_stream_memory_open(int mode, char *buf, size_t length STREAMS_DC TSRMLS_DC) { /* {{{ */
- php_stream *stream;
+
+/* {{{ */
+PHPAPI php_stream *_php_stream_memory_open(int mode, char *buf, size_t length STREAMS_DC TSRMLS_DC)
+{ php_stream *stream;
php_stream_memory_data *ms;
if ((stream = php_stream_memory_create_rel(TEMP_STREAM_DEFAULT)) != NULL) {
ms->mode = mode;
}
return stream;
-} /* }}} */
+}
+/* }}} */
+
-PHPAPI char *_php_stream_memory_get_buffer(php_stream *stream, size_t *length STREAMS_DC TSRMLS_DC) { /* {{{ */
+/* {{{ */
+PHPAPI char *_php_stream_memory_get_buffer(php_stream *stream, size_t *length STREAMS_DC TSRMLS_DC)
+{
php_stream_memory_data *ms;
assert(stream != NULL);
*length = ms->fsize;
return ms->data;
-} /* }}} */
-
+}
/* }}} */
+
/* {{{ ------- TEMP stream implementation -------*/
typedef struct {
int mode;
} php_stream_temp_data;
-static size_t php_stream_temp_write(php_stream *stream, const char *buf, size_t count TSRMLS_DC) { /* {{{ */
+
+/* {{{ */
+static size_t php_stream_temp_write(php_stream *stream, const char *buf, size_t count TSRMLS_DC)
+{
php_stream_temp_data *ts;
assert(stream != NULL);
}
}
return php_stream_write(ts->innerstream, buf, count);
-} /* }}} */
+}
+/* }}} */
+
-static size_t php_stream_temp_read(php_stream *stream, char *buf, size_t count TSRMLS_DC) { /* {{{ */
+/* {{{ */
+static size_t php_stream_temp_read(php_stream *stream, char *buf, size_t count TSRMLS_DC)
+{
php_stream_temp_data *ts;
assert(stream != NULL);
assert(ts != NULL);
return php_stream_read(ts->innerstream, buf, count);
-} /* }}} */
+}
+/* }}} */
-static int php_stream_temp_close(php_stream *stream, int close_handle TSRMLS_DC) { /* {{{ */
+/* {{{ */
+static int php_stream_temp_close(php_stream *stream, int close_handle TSRMLS_DC)
+{
php_stream_temp_data *ts;
assert(stream != NULL);
assert(ts != NULL);
return php_stream_close(ts->innerstream);
-} /* }}} */
+}
+/* }}} */
-static int php_stream_temp_flush(php_stream *stream TSRMLS_DC) { /* {{{ */
+/* {{{ */
+static int php_stream_temp_flush(php_stream *stream TSRMLS_DC)
+{
php_stream_temp_data *ts;
assert(stream != NULL);
assert(ts != NULL);
return php_stream_flush(ts->innerstream);
-} /* }}} */
+}
+/* }}} */
-static int php_stream_temp_seek(php_stream *stream, off_t offset, int whence TSRMLS_DC) { /* {{{ */
+/* {{{ */
+static int php_stream_temp_seek(php_stream *stream, off_t offset, int whence TSRMLS_DC)
+{
php_stream_temp_data *ts;
assert(stream != NULL);
assert(ts != NULL);
return php_stream_seek(ts->innerstream, offset, whence);
-} /* }}} */
+}
+/* }}} */
-char *php_stream_temp_gets(php_stream *stream, char *buf, size_t maxlen TSRMLS_DC) { /* {{{ */
+
+/* {{{ */
+char *php_stream_temp_gets(php_stream *stream, char *buf, size_t maxlen TSRMLS_DC)
+{
php_stream_temp_data *ts;
assert(stream != NULL);
assert(ts != NULL);
return php_stream_gets(ts->innerstream, buf, maxlen);
-} /* }}} */
+}
+/* }}} */
-static int php_stream_temp_cast(php_stream *stream, int castas, void **ret TSRMLS_DC) { /* {{{ */
+
+/* {{{ */
+static int php_stream_temp_cast(php_stream *stream, int castas, void **ret TSRMLS_DC)
+{
php_stream_temp_data *ts;
assert(stream != NULL);
assert(ts != NULL);
return php_stream_cast(ts->innerstream, castas, ret, 0);
-} /* }}} */
+}
+/* }}} */
php_stream_ops php_stream_temp_ops = {
php_stream_temp_write, php_stream_temp_read,
"TEMP"
};
-PHPAPI php_stream *_php_stream_temp_create(int mode, size_t max_memory_usage STREAMS_DC TSRMLS_DC) { /* {{{ */
+
+/* {{{ */
+PHPAPI php_stream *_php_stream_temp_create(int mode, size_t max_memory_usage STREAMS_DC TSRMLS_DC)
+{
php_stream_temp_data *self;
php_stream *stream;
self->innerstream = php_stream_memory_create(mode);
php_stream_temp_write(stream, NULL, 0 TSRMLS_CC);
return stream;
-} /* }}} */
+}
+/* }}} */
-PHPAPI php_stream *_php_stream_temp_open(int mode, size_t max_memory_usage, char *buf, size_t length STREAMS_DC TSRMLS_DC) { /* {{{ */
+
+/* {{{ */
+PHPAPI php_stream *_php_stream_temp_open(int mode, size_t max_memory_usage, char *buf, size_t length STREAMS_DC TSRMLS_DC)
+{
php_stream *stream;
php_stream_temp_data *ms;
ms->mode = mode;
}
return stream;
-} /* }}} */
+}
+/* }}} */
/*
* Local variables: