o adjust to compile with -g flag
1 [The qDecoder Project] 2 ------------------------------------------------------------------------------- 3 4 qDecoder Changes 5 6 ``FIX'', ``NEW'', ``REP'' and ``REM'' are stand on ``Fixed or Modified'', 7 ``New'', ``Replaced'' and ``Removed''. 8 9 Release 10.1.6 10 ADD) qHexEncode(), qHexDecode() 11 FIX) qHashMd5Str(), qHashMd5File - fix to use qHexEncode() 12 13 Release 10.1.4 14 FIX) qCountRead(), qCountUpdate() - bug fix. 15 FIX) replace strerror() to thread-safe strerror_r(). 16 FIX) AutoConf and Makefile adjustments. 17 18 Release 10.1.2 19 ADD) qBase64Encode(), qBase64Decode() 20 ADD) qStrIsIpv4Addr() 21 ADD) qStrTest() 22 REP) qStrIsAlnum() -> qStrTest() 23 REP) qEncodeUrl() -> qUrlEncode() 24 REP) qDecodeUrl() -> qUrlDecode() 25 26 Release 10.1.1 27 FIX) Q_HTTPCLIENT uses TCP_NODELAY socket to improve performance. 28 FIX) Q_HTTPCLIENT performance improvements. 29 ADD) Add qStrDupf() - duplicate a formatted string. 30 FIX) qSocketClose() - added timeoutms parameter. 31 ADD) Q_OBSTACK->writeFinal() - write out merged final data to the file descriptor. 32 FIX) Q_ENTRY->putStrf() - fix memory leak 33 FIX) merge qCount.c and qSed.c into qUtil.c 34 Release 10.1.0 35 ADD) qIo.c 36 REP) qSocketWaitReadable() => qIoWaitReadable() 37 REP) qSocketWaitWritable() => qIoWaitWritable() 38 REP) qSocketRead() => qIoRead() 39 REP) qSocketWrite() => qIoWrite() 40 REP) qSocketGets() => qIoGets() 41 REP) qSocketPuts() => qIoPuts() 42 REP) qSocketPrintf() => qIoPrintf() 43 REP) qSocketSendfile() => qIoSend() 44 REP) qSocketSaveIntoFile() => qIoSend() 45 REP) qSocketSaveIntoMemory() => qIoRead() 46 Release 10.0.0 47 ADD) Added "--enable-threadsafe" option to support multi-thread program 48 model. 49 ADD) Q_HTTPCLIENT (HTTP client) 50 FIX) Q_HASHTBL (Object of dynamic hash-table) 51 Add thread-safe feature. 52 Introduce Object-C style interface. ex) qHashtblGetStr() => 53 Q_HASHTBL->getStr() 54 FIX) Q_HASHARR (Object of static hash-table) 55 Add thread-safe feature. 56 Introduce Object-C style interface. ex) qHasharrGetStr() => 57 Q_HASHARR->getStr() 58 FIX) Q_ENTRY (Object of linked-list data structure) 59 Add thread-safe feature. 60 Introduce Object-C style interface. ex) qEntryGetStr() => 61 Q_ENTRY->getStr() 62 FIX) Q_OBSTACK (Object of object stack data structure) 63 Add thread-safe feature. 64 Introduce Object-C style interface. ex) qObstackGrow() => 65 Q_OBSTACK->grow() 66 FIX) Q_DATABASE (Object of object stack data structure) 67 Add thread-safe feature. 68 Introduce Object-C style interface. ex) qDbOpen() => Q_DB->open() 69 ADD) Added timeout parameter to qSocketOpen(). 70 ADD) qMkdir() - attempts to create a directory recursively. 71 FIX) configure script supports --enable-fastcgi option. 72 FIX) Fixed bug about qCountUpdate(). It did not return updated counter 73 value. 74 FIX) Wrong MD5 checksum on a 64bit machine. (reported by SimenKing) 75 REM) qCgiResponseError() is removed. 76 REP) qHtmlIsEmail() => qStrIsEmail() 77 REP) qHtmlIsUrl() => qStrIsUrl() 78 ADD) qFileCheckPath() - validate file path. 79 ADD) qFileCorrectPath() - correct file path. 80 ADD) qFileGetAbsPath() - get absolute system path. 81 ADD) qSysGetIp() - get system IP address string. 82 ADD) Q_ENTRY->truncate() 83 Release 9.0.3 84 NEW) Modified autoconf script and source codes to support FastCGI. 85 Release 9.0.2 86 FIX) large file problems. (changing some size_t type to off_t type) 87 FIX) fixed up shared library building problem on FreeBSD AMD 64 machine. 88 Release 9.0.1 89 FIX) qCgiRequestParseQueries() - quoted boundary patch. (by Hidai Kenichi) 90 NEW) qStrUnchar() - remove character from head and tail of the string. 91 NEW) qDecoderVersion() - get the version string of qDecoder library. 92 FIX) minor fixes related packaging. 93 Release 9.0 94 This is new branch of qDecoder. 95 qDecoder 9.0 does not support lower version compatibility any more. 96 Distributed under BSD-like License. 97 Release 8.0 98 NEW) qDecoderSetUploadBase() - Initialize qDecoder() for progressive 99 uploading. 100 FIX) qDecoder() - Now qDecoder() supports progressive uploading and direct 101 file saving into disk. 102 NEW) qSedArgAddDirect() - For huge size(over 1024 - 1) value. 103 Release 7.1.1 104 FIX) qSedArgAdd() - Adjust miss typed variable length. (1024*64 => 1024) 105 Release 7.1 106 NEW) qGetTimeStr() - Generate date string formatted as 'YYYYMMDDhhmmss'. 107 NEW) qJavaScript() - Print out some JavaScript code. 108 NEW) qAwkStr() - Scanning pattern from string. 109 FIX) qAwkOpen() - Compatibility increment 110 FIX) qAwkNext() - Expand array size to 1024(before 256) 111 FIX) qCountRead() - Compatibility increment 112 FIX) qCountSave() - Compatibility increment 113 FIX) qCountUpdate() - Compatibility increment 114 FIX) qDecoder() - Now qdecoder uses more smaller memory 115 FIX) qCheckFile() - Utility increment 116 New socket functions(unix only). Please refer the reference for more 117 details. 118 NEW) qSocketOpen() 119 NEW) qSocketClose() 120 NEW) qSocketWaitReadable() 121 NEW) qSocketRead() 122 NEW) qSocketGets() 123 NEW) qSocketWrite() 124 NEW) qSocketPuts() 125 NEW) qSocketPrintf() 126 NEW) qSocketSendFile() 127 NEW) qSocketSaveIntoFile() 128 NEW) qSocketSetNonblock() 129 NEW) qSocketConv2file() 130 Release 7.0.1 131 NEW) qDecoder() - Added another argument, "variable_name.contenttype", when 132 file is uploaded. 133 NEW) qCookieValue() - Return only cookie data. 134 NEW) qValueType() - Return the type of query. 135 NEW) qfopen(), qfclose() - Open file stream with file lock. 136 FIX) qPrintf(), qPuts() - Added new modes. 137 FIX) qSession() - Changed return type. 138 Release 7.0 139 NEW) qSession...() - Session related functions 140 NEW) qMD5Str(), qMD5File() - Calculate a message-digest 141 fingerprint(checksum). 142 NEW) qUniqueID() - Always returns unique 32 bytes string. 143 NEW) qCookieRemove() - Remove cookie from client(browser). 144 NEW) qfValueFirst(), qfValueNext() - Used for patching the arguments having 145 an identical variable name inregular sequence. 146 NEW) qsValueFirst(), qsValueNext() - Used for patching the arguments having 147 an identical variable name inregular sequence. 148 NEW) qGetContentFlag() - qCheck execution of qContentType(). 149 NEW) qFreeAll() - Deallocates the all allocated memories by qDecoder. 150 FIX) qDecoder() - qcDecoder() is merged 151 FIX) qSedStr(), qSedFile() - Changed parameters 152 FIX) qCatFile() - Support formatted arguments, Support Win32 environment 153 FIX) qCheckFile() - Support formatted parameters 154 FIX) qURLencode - Does not encode '@', '.', '/', '', '-', '_', ':' 155 character 156 FIX) qRedirect - Regular code improvement 157 FIX) qPrint(), qArgPrint, qsPrint, qfPrint - Changed return type 158 FIX) qPuts() - Regular code improvement 159 REP) qcDecoder() - Merged by qDecoder() 160 REP) qAddCookie() - Merged by qValueAdd() 161 REP) qSetCookie() - Renamed to qCookieSet() 162 REP) qReadCounter(), qUpdateCounter(), qSaveCounter() - Renamed to 163 qCountRead(), qCountSave(), qCountUpdate() 164 Release 6.0.5 165 FIX) qAddCookie() - Solves the problems in which qAddCookie() does not 166 operate when there is no existing cookie (when _cookie_first_entry is NULL). 167 168 Release 6.0.4 169 NEW) qAddCookie() - Forcibly adds the cookie value to the cookie linked 170 list. 171 NEW) qResetContentFlag() - Initializes the system for ContentType() to be 172 forcibly displayed in dublicate. 173 FIX) qURLencode() - Adjusts the system so that "@./-?&=#:_" will not be 174 encoded. 175 FIX) qPrintf(), qPuts() - Modifies the token character into " 176 `(){}[]<>"',rn" so that the character strings after '&' will not be 177 linked at the automatic link function. 178 FIX) qSetCookie(), qGetGMTime() - Solves the cookie settings-related 179 problems occurring from the fact that, in connection with qGetGMTime() at 180 Solaris machines, Time Zone is displayed not in GMT but in Local Time Zone 181 such as KST while time is normally displayed in GMT. 182 FIX) qReadFile(), qFileSize() - Supports Win32. 183 Release 6.0.3 184 NEW) qValueReplace() - Transposes the tokens or specific character strings 185 of query strings into given character strings. 186 NEW) qStrReplace() - Transposes the tokens or specific character strings of 187 strings into given character strings. 188 NEW) qReset() - Initializes qDecoder. (Deallocates memory and initializes 189 internal variables) 190 FIX) qAwkClose() - Modifies the system to have return values. 191 Release 6.0.2 192 NEW) Adds the static library creation project files for Microsoft Visual C++ 193 use. 194 FIX) Converts those internally used functions (starting with '_') into 195 "static". 196 Release 6.0.1 197 NEW) Applies Autoconf. 198 Release 6.0 199 REP) qCgienv() - Replacement function qCGIenv(). 200 FIX) qDecoder() - Adds the security code for overflow attacks when 201 multipart/form-data is interpreted. 202 FIX) qSaveStr() - Removes permission setup arguments for the compatibility 203 with WIN32. 204 FIX) Changes the name of structure Entry into Q_Entry. 205 FIX) Changes the name of structure Cgienv into Q_CGIenv. 206 FIX) Adjusts the installation path into /usr/local/lib, /usr/local/include 207 in case of "make install". 208 FIX) qDownload(), qDownloadMime() - Modifies the system for return values to 209 have the number of transmitted bytes. 210 FIX) qPrintf() - Modifies the system so that the length of combined 211 character strings can be supported up to 10K. 212 NEW) Supports the shared library (libqDecoder.so). 213 NEW) qCGIenv() - Extended edition of qCgienv() of old versions. 214 Release 5.0.8 215 FIX) qSetCookie() - Corrects the sequence of arguments according to the 216 standard specification. 217 FIX) qURLdecode() - Changes the function prototype from void to char* so 218 that the decoded string pointer can be returned. 219 FIX) qDownload() - Modifies the system so that the entire file size can be 220 identified when downloading at clients. 221 NEW) qDownloadMime() - Transmits files to clients according to MIME. 222 NEW) qFileSize() - Notifies the file size by the unit of byte. 223 Release 5.0.7 224 REP) qStrBig() - Replacement function qStrupr(). 225 NEW) qArgMake(), qArgPrint(), qArgMatch(), qArgEmprint(), qArgFree() - A 226 group of functions that analyzes search queries, identifies the number of 227 query hits inside strings, and displays the results making the matching 228 parts in bold characters. 229 NEW) qValueDefault() - Same as qValue(). But hands over the basic string 230 value when there is no corresponding query name. 231 NEW) qValueNotEmpty() - Same as qValue(). But displays error messages in 232 case of NULL or blank character strings (""). 233 NEW) qStrincmp() - Plays the role of the strncmp() function plus the 234 stricmp() function. Compares the first n bytes of character strings without 235 distinguishing uppercase/lowercase letters. 236 Release 5.0.6 237 FIX) qitocomma() - Solves the problems in which negative numbers are 238 displayed as '-,123,456'. 239 FIX) qURLencode() - Modifies the system so that a space ' ' can be encoded 240 not into '+' but into '%20'. 241 FIX) qUpdateCounter() - Modifies the problem of returning the 'existing 242 value' into figures of 'existing value + update'. 243 FIX) qDownload() - Changes the function type from void to int so that it can 244 have return values when there is no file. 245 FIX) qError(), qErrorContact() - Corrects the problems in which 246 [Administrator: ...] is inserted before and after those messages set up as 247 qErrorContact() (for original messages to be displayed without the 248 insertion). 249 Release 5.0.5 250 REP) qStrStr() - Replacement function qStristr() 251 REP) qSed() - Replacement function qSedFile() 252 NEW) qStricmp() - Functionally the same as the strcmp() function. But does 253 not distinguish uppercase/lowercase letters. 254 NEW) qSedStr() - Performs source input by strings. 255 Release 5.0.4 256 REP) qFileCat() - Replacement function qCatFile(). 257 FIX) qUpdateCounter() - Modifies interfaces (so that the update 258 increase/decrease can be numerically controlled). 259 FIX) qDecoder() - Processes the arguments handed over to the environment 260 variable of QUERY-STRING in the multipart/form-data method. 261 NEW) qReadFile() - Reads files and stores them in memory. 262 NEW) qSaveStr() - Stores the contents of strings in files. 263 Release 5.0.3 264 FIX) qPrintf(), qPuts() - Adds '&' to tokens again. 265 NEW) qfGetLine() - Returns allocated memory pointers by reading a line of 266 files regardless of the length. 267 Release 5.0.2 268 FIX) qSed() - Makes a modification so that NULL pointers can be inserted as 269 the arg argumentation. Solves the problems in which the segmentation fault 270 errors occur in case the first argument of arg is NULL (when the SSI 271 function is to be used without conversion). 272 FIX) qPrintf(), qPuts() - Removes the '&' character from tokens. 273 Release 5.0.1 274 FIX) qValue(), qiValue(), qfValue(), qfiValue(), qsValue(), qsiValue(), 275 qcValue(), qciValue() - Uses vsprintf() instead of the vsnprintf() function 276 due to the compatibility problem. 277 NEW) qSed() - Displays specified symbols in files after changing them into 278 defined character strings. 279 Release 5.0 280 REP) qSendFile() - Replacement function qFileCat(). 281 FIX) qValue(), qiValue(), qfValue(), qfiValue(), qsValue(), qsiValue(), 282 qcValue(), qciValue() - Performs patch works so that arguments can be 283 transmitted by formats. 284 FIX) qPuts() - Removes '&' from the token list. 285 NEW) qValueFirst() - Acquires the variable value for the first argument 286 among the arguments transmitted in an identical variable name. 287 NEW) qValueNext() - Acquires the next variable value. 288 NEW) qRedirect() - The page-jump function using the location: header of 289 HTTP. 290 NEW) qFileCat() - Displays all the corresponding files in stdout. 291 Release 4.3.1 292 FIX) Modifies install/deinstall method of Makefile. 293 Release 4.3 294 FIX) qDecoder() - Performs patch works so that the queries handed over to 295 SSI can be received. 296 NEW) qAwkOpen() 297 NEW) qAwkNext() 298 NEW) qAwkClose() 299 NEW) *qGetFirstEntry() 300 NEW) *qitocomma() 301 Release 4.2 302 FIX) qDecoder() - Patches related to Macintosh IE. 303 FIX) qGgienv() - Patches related to Apache 1.3. 304 FIX) qGetGMTime() - Performance improvement. 305 NEW) *qCGIname() 306 NEW) qDownload() 307 NEW) *qGetEnv() 308 NEW) *qStrBig() 309 NEW) *qStrStr() 310 Release 4.0.1 311 FIX) qfDecoder() - emoves the length restriction of one line in files. 312 FIX) qDecoder() - Modifies the internal algorithm of the multipart/form-data 313 format. 314 Release 4.0 315 FIX) qDecoder() - Supports file uploading. 316 FIX) qfDecoder() - Processes those lines starting with # as explanatory 317 notes. 318 FIX) qURLencode() - Makes a modification for '@' and '.' not to be encoded. 319 FIX) _decode_query() - Changes the function name into qURLdecode(). 320 FIX) qCheckEmail() - Allows '.' in ID. 321 FIX) qPrintf(), qPuts() - Modes 10 through 16 are newly supported. 322 Release 3.5 323 FIX) _get_query() - Adds the confirmation that the environment variable is 324 not set up. 325 FIX) qCgienv() - Optimizes using environment variables that are used in 326 Netscape and Explore in common. 327 FIX) qSetCookie() - Changes the expiration-date designation from char* to 328 the int type. 329 FIX) qError() - Adds logging functions. 330 FIX) qURLencode() - Makes a modification for numbers and English alphabets 331 not to be encoded. 332 NEW) qErrLog() 333 Release 3.4.2 334 FIX) qDecoder(), qfDecoder(), qcDecoder() - Modifies Linked List algorithm. 335 FIX) qPuts() - Solves the problems in which warnings are given when 336 compilation is performed at certain systems. 337 Release 3.4.1 338 FIX) qPrintf(), qPuts() - Removes the space displayed at the end of 339 character strings. 340 Release 3.4 341 FIX) qCheckEmail() - Makes a modification for emails including '-' or '_' to 342 be possible. 343 FIX) qPrintf(), qPuts() - Corrects the problems in which < and > of 344 character-string contents are displayed as '<' and '>' (displays them as < 345 and >). Only those character strings such as 'mailto:guest@hongik.ac.kr' 346 were automatically linked, but the automatic link of such types as 347 'guest@hongik.ac.kr' can be performed. 348 NEW) qSetCookie() 349 NEW) *qURLencode() 350 NEW) qGetGMTime() 351 Release 3.3.1 352 FIX) qDecoder() - Corrects the problem in which the '&' character of the 353 query value is recognized as a separator. 354 Release 3.3 355 NEW) qcDecoder() 356 NEW) *qcValue() 357 NEW) qcPrint() 358 NEW) qcFree() 359 Release 3.2.2 360 NEW) qUpdateCounter() 361 NEW) qPuts() 362 NEW) qCheckURL() 363 Release 3.2 364 NEW) qReadCounter() 365 NEW) qSaveCounter() 366 NEW) qStr09AZaz() 367 Release 3.1 368 NEW) qPrintf() 369 NEW) qCheckEmail() 370 NEW) qError() 371 Release 3.0 372 NEW) *qfDecoder() 373 NEW) *qfValue() 374 NEW) qfPrint() 375 NEW) qError() 376 NEW) *qRemoveSpace() 377 Release 2.2 378 NEW) qDecoder() 379 NEW) *qValue() 380 NEW) qPrint() 381 NEW) qFree() 382 NEW) qContentType() 383 NEW) qCgienv() 384 NEW) *qGetTime() 385 NEW) qCheckFile() 386 NEW) qSendFile() 387 388 ------------------------------------------------------------------------------- 389 [The qDecoder Project]
[Home] [About] [Examples] [Changes] [Download] [SVN Repository] [Install] [Reference] |