enabled qse_http_feed() to get trailing headers after 0

This commit is contained in:
2010-11-27 09:00:57 +00:00
parent 84376d6d92
commit 5b4845db55
11 changed files with 339 additions and 183 deletions

View File

@ -37,7 +37,8 @@
*/
/** @struct qse_cut_t
* The qes_cut_t type defines a text cutter.
* The qse_cut_t type defines a text cutter. The details are hidden as it is
* a large complex structure vulnerable to unintended changes.
*/
typedef struct qse_cut_t qse_cut_t;
@ -110,7 +111,7 @@ typedef enum qse_cut_io_cmd_t qse_cut_io_cmd_t;
*/
struct qse_cut_io_arg_t
{
void* handle; /**< I/O handle */
void* handle; /**< I/O handle */
};
typedef struct qse_cut_io_arg_t qse_cut_io_arg_t;
@ -133,12 +134,12 @@ extern "C" {
QSE_DEFINE_COMMON_FUNCTIONS (cut)
/**
* The qse_cut_open() function creates a text cutter object.
* @return A pointer to a text cutter on success, QSE_NULL on failure
* The qse_cut_open() function creates a text cutter.
* @return A pointer to a text cutter on success, #QSE_NULL on failure
*/
qse_cut_t* qse_cut_open (
qse_mmgr_t* mmgr, /**< a memory manager */
qse_size_t xtn /**< the size of extension in bytes */
qse_mmgr_t* mmgr, /**< memory manager */
qse_size_t xtnsize /**< extension size in bytes */
);
/**

View File

@ -1,5 +1,5 @@
/*
* $Id: Sed.hpp 321 2009-12-21 12:44:33Z hyunghwan.chung $
* $Id: Sed.hpp 373 2010-11-26 15:00:57Z hyunghwan.chung $
*
Copyright 2006-2009 Chung, Hyung-Hwan.
This file is part of QSE.
@ -24,6 +24,18 @@
#include <qse/cmn/Mmged.hpp>
#include <qse/sed/sed.h>
/**
* @defgroup sed_cxx C++
* @ingroup sed
* @{
*/
/**
* @defgroup sed_cxx_core Core interface
* @ingroup sed_cxx
* @{
*/
/** @file
* Stream Editor
*/
@ -310,4 +322,7 @@ private:
QSE_END_NAMESPACE(QSE)
/////////////////////////////////
/* @} */
/* @} */
#endif

View File

@ -1,5 +1,5 @@
/*
* $Id: sed.h 344 2010-08-17 13:15:14Z hyunghwan.chung $
* $Id: sed.h 373 2010-11-26 15:00:57Z hyunghwan.chung $
*
Copyright 2006-2009 Chung, Hyung-Hwan.
This file is part of QSE.
@ -24,6 +24,25 @@
#include <qse/types.h>
#include <qse/macros.h>
/**
* @defgroup sed_c C
* @ingroup sed
* @{
* hello
*/
/**
* @defgroup sed_c_core Core interface
* @ingroup sed_c
* @{
* The sed library provides data types and functions for creating a custom
* stream editor commonly available on platforms. It is a non-interactive
* text editing tool that reads text from an input stream, stores it to
* pattern space, manipulates the pattern space by applying a set of editing
* commands, and writes the pattern space to an output stream. Typically,
* the input and output streams are a console or a file.
*/
/** @file
* A stream editor performs text transformation on a text stream.
*
@ -423,4 +442,7 @@ void qse_sed_setlinnum (
}
#endif
/* @} */
/* @} */
#endif

View File

@ -21,10 +21,20 @@
#ifndef _QSE_SED_STD_H_
#define _QSE_SED_STD_H_
/**
* @defgroup sed_c_std Helper functions
* @ingroup sed_c
* @{
* If you don't care about the details of memory management and I/O,
* you can choose to use the helper functions provided here. It is
* a higher-level interface that is easier to use as it implements
* default handlers for I/O and memory management.
*/
#include <qse/sed/sed.h>
/** @file
* This file provides easier-to-use versions of selected API functions
* This file provides easier-to-use interface
* by implementing default handlers for I/O and memory management.
*
* @example sed01.c
@ -38,8 +48,9 @@ extern "C" {
/**
* The qse_sed_openstd() function creates a stream editor with the default
* memory manager and initialized it for other qse_sed_xxxxstd functions.
* @return pointer to a stream editor on success, QSE_NULL on failure.
* memory manager and initializes it. Use qse_getxtnstd(), not qse_getxtn()
* to get the pointer to the extension area.
* @return pointer to a stream editor on success, #QSE_NULL on failure.
*/
qse_sed_t* qse_sed_openstd (
qse_size_t xtnsize /**< extension size in bytes */
@ -48,8 +59,9 @@ qse_sed_t* qse_sed_openstd (
/**
* The qse_sed_openstdwithmmgr() function creates a stream editor with a
* user-defined memory manager. It is equivalent to qse_sed_openstd(),
* except that you can specify your own memory manager.
* @return pointer to a stream editor on success, QSE_NULL on failure.
* except that you can specify your own memory manager.Use qse_getxtnstd(),
* not qse_getxtn() to get the pointer to the extension area.
* @return pointer to a stream editor on success, #QSE_NULL on failure.
*/
qse_sed_t* qse_sed_openstdwithmmgr (
qse_mmgr_t* mmgr, /**< memory manager */
@ -62,7 +74,7 @@ qse_sed_t* qse_sed_openstdwithmmgr (
* created with qse_sed_openstd() and qse_sed_openstdwithmmgr().
*/
void* qse_sed_getxtnstd (
qse_sed_t* sed
qse_sed_t* sed /**< stream editor */
);
/**
@ -71,26 +83,27 @@ void* qse_sed_getxtnstd (
* @return 0 on success, -1 on failure
*/
int qse_sed_compstd (
qse_sed_t* sed,
const qse_char_t* str
qse_sed_t* sed, /**< stream editor */
const qse_char_t* str /**< null-terminated script */
);
/**
* The qse_sed_execstd() function executes the compiled script
* over an input file @a infile and an output file @a outfile.
* If @a infile is QSE_NULL, the standard console input is used.
* If @a outfile is QSE_NULL, the standard console output is used.
* If @a infile is #QSE_NULL, the standard console input is used.
* If @a outfile is #QSE_NULL, the standard console output is used.
* @return 0 on success, -1 on failure
*/
int qse_sed_execstd (
qse_sed_t* sed,
const qse_char_t* infile,
const qse_char_t* outfile
qse_sed_t* sed, /**< stream editor */
const qse_char_t* infile, /**< input file */
const qse_char_t* outfile /**< output file */
);
#ifdef __cplusplus
}
#endif
/* @} */
#endif

View File

@ -57,6 +57,7 @@ struct qse_http_t
qse_http_octb_t raw;
qse_http_octb_t con;
qse_http_octb_t tra;
enum
{