diff --git a/qse/include/qse/sed/Sed.hpp b/qse/include/qse/sed/Sed.hpp index b391fe17..3a7fe314 100644 --- a/qse/include/qse/sed/Sed.hpp +++ b/qse/include/qse/sed/Sed.hpp @@ -37,8 +37,9 @@ class Sed: public Mmgr { public: typedef qse_sed_t sed_t; - typedef qse_sed_io_cmd_t sed_io_cmd_t; - typedef qse_sed_io_arg_t sed_io_arg_t; + typedef qse_sed_errnum_t errnum_t; + typedef qse_sed_io_cmd_t io_cmd_t; + typedef qse_sed_io_arg_t io_arg_t; /** * The Sed() function creates a uninitialized stream editor. @@ -102,7 +103,7 @@ public: * error occurred. It returns 0 if the stream editor has not been * initialized with the open function. */ - int getErrorNumber () const; + errnum_t getErrorNumber () const; protected: /** @@ -123,7 +124,7 @@ protected: }; protected: - IO (sed_io_arg_t* arg, Mode mode): arg(arg), mode (mode) {} + IO (io_arg_t* arg, Mode mode): arg(arg), mode (mode) {} public: /** @@ -159,7 +160,7 @@ protected: } protected: - sed_io_arg_t* arg; + io_arg_t* arg; Mode mode; }; @@ -171,7 +172,7 @@ protected: { protected: friend class Sed; - Console (sed_io_arg_t* arg, Mode mode): IO (arg, mode) {} + Console (io_arg_t* arg, Mode mode): IO (arg, mode) {} }; /** @@ -182,7 +183,7 @@ protected: { protected: friend class Sed; - File (sed_io_arg_t* arg, Mode mode): IO (arg, mode) {} + File (io_arg_t* arg, Mode mode): IO (arg, mode) {} public: /** @@ -218,10 +219,8 @@ protected: sed_t* sed; private: - static ssize_t xin ( - sed_t* s, sed_io_cmd_t cmd, sed_io_arg_t* arg) throw (); - static ssize_t xout ( - sed_t* s, sed_io_cmd_t cmd, sed_io_arg_t* arg) throw (); + static ssize_t xin (sed_t* s, io_cmd_t cmd, io_arg_t* arg) throw (); + static ssize_t xout (sed_t* s, io_cmd_t cmd, io_arg_t* arg) throw (); }; ///////////////////////////////// diff --git a/qse/include/qse/sed/sed.h b/qse/include/qse/sed/sed.h index 97ece4bb..337844e9 100644 --- a/qse/include/qse/sed/sed.h +++ b/qse/include/qse/sed/sed.h @@ -70,7 +70,7 @@ enum qse_sed_errnum_t QSE_SED_EREXMA, /**< regular expression match error */ QSE_SED_EA1PHB, /**< address 1 prohibited */ QSE_SED_EA2PHB, /**< address 2 prohibited */ - QSE_SED_EASTEP, /**< invalid step address */ + QSE_SED_EA2MOI, /**< address 2 missing or invalid */ QSE_SED_ENEWLN, /**< a new line is expected */ QSE_SED_EBSEXP, /**< \ is expected */ QSE_SED_EBSDEL, /**< \ used a delimiter */ @@ -92,6 +92,13 @@ enum qse_sed_errnum_t }; typedef enum qse_sed_errnum_t qse_sed_errnum_t; +/** + * The qse_sed_errstr_t type defines a prototype for an error string getter. + */ +typedef const qse_char_t* (*qse_sed_errstr_t) ( + qse_sed_t* sed, qse_sed_errnum_t errnum +); + /** * The qse_sed_option_t type defines various option codes for a stream editor. * Options can be XOR'ed with each other and be passed to a stream editor with @@ -200,11 +207,26 @@ void qse_sed_setoption ( int opt /**< 0 or a number XOR'ed of qse_sed_option_t values */ ); +/** + * The qse_sed_geterrstr() gets an error string getter. + */ +qse_sed_errstr_t qse_sed_geterrstr ( + qse_sed_t* sed /**< a stream editor */ +); + +/** + * The qse_sed_seterrstr() sets an error string getter. + */ +void qse_sed_seterrstr ( + qse_sed_t* sed, /**< a stream editor */ + qse_sed_errstr_t errstr /**< an error string getter */ +); + /** * The qse_sed_geterrnum() function gets the number of the last error. * @return the number of the last error */ -int qse_sed_geterrnum ( +qse_sed_errnum_t qse_sed_geterrnum ( qse_sed_t* sed /**< a stream editor */ ); @@ -232,7 +254,7 @@ const qse_char_t* qse_sed_geterrmsg ( */ void qse_sed_geterror ( qse_sed_t* sed, /**< a stream editor */ - int* errnum, /**< a pointer to an error number holder */ + qse_sed_errnum_t* errnum, /**< a pointer to an error number holder */ qse_size_t* errlin, /**< a pointer to an error line holder */ const qse_char_t** errmsg /**< a pointer to an error message */ ); @@ -244,7 +266,7 @@ void qse_sed_geterror ( */ void qse_sed_seterror ( qse_sed_t* sed, /**< a stream editor */ - int errnum, /**< an error number */ + qse_sed_errnum_t errnum, /**< an error number */ qse_size_t errlin, /**< an error line */ const qse_cstr_t* errarg /**< a string array for formatting an error message */ );