Qore Programming Language

dynamically-typed embeddable programming language

  • Increase font size
  • Default font size
  • Decrease font size
Qore Release Notes

qore 0.7.2 RELEASE-NOTES

E-mail Print PDF

RELEASE NOTES for qore v0.7.2


release summary: qore 0.7.2 is a bugfix release from 0.7.1
  • several bug fixes (including 8 crashing bugs), including packaging fixes
  • support for timeouts in Socket::connect*() methods
  • terminal attribute support, TermIOS class, new constants
  • non-blocking read support for the File class
  • event support for File class

 

several bug fixes (including 8 crashing bugs), including packaging fixes


CRASH FIX: fixed a crashing bug in the map operator when the list operand is not a list

CRASH FIX: fixed a crashing bug in the parser with parse errors

CRASH FIX: fixed crash when pthread_create fails in thread.cc, thanks to Dmytro Milinevskyy for the info and patch

CRASH FIX: fixed a race condition with getAllThreadCallStacks() (only affected debugging builds)

CRASH FIX: fixed a bug where thread-local variables (as top-level local variables of a Program) were not being instantiated when another    Program called a function in a Program with such variables

CRASH FIX: fixed an issue where proper locking was not done to DBI drivers and more than one call could be issued to a connection at one time, causing crashes

CRASH FIX: fixed a crashing bug in the %= operator when the operand is NULL

CRASH FIX: fixed a crashing bug in the map with select operator when the map expression is NULL

fix to allow references to be used in closure and call reference calls

implemented an optimization to map to efficiently handle the case when no return value is used

spec file fixes; 0.7.1 spec file was badly broken

fixed configure.ac to account for linkable libraries in /lib - would cause configure to fail before

 

support for timeouts in Socket::connect*() methods


added optional timeout parameters in ms to:
      Socket::connect()
      Socket::connectINET()
      Socket::connectSSL()
      Socket::connectINETSSL()

see updated documentation for details

 

terminal attribute support, TermIOS class, new constants


new methods:

    File::setTerminalAttributes(action, TermIOS);
    File::getTerminalAttributes(TermIOS);


new class:
    TermIOS

 

non-blocking read support for the File class


 new method:
    File::isDataAvailable()

the following methods now take optional timeout values in milliseconds:
    File::read()
    File::readBinary()

 

event support for File class


new method:
    File::setEventQueue()

new events:
    QORE_EVENT_OPEN_FILE
    QORE_EVENT_FILE_OPENED
    QORE_EVENT_DATA_READ
    QORE_EVENT_DATA_WRITTEN

new event source:
    SOURCE_FILE

 

Qore 0.7.1 RELEASE-NOTES

E-mail Print PDF

RELEASE NOTES for qore v0.7.1

release summary: qore 0.7.1 is a bugfix release from 0.7.0

release overview:
  • bug fixes
  • new ABI 5.0, problems were found with ABI 4.0
  • packaging and build updated to support building universal binaries on Darwin
  • support for atomic operations in 64bit builds with itanium processors
  • support for stack guard including RSE monitoring in 64-bit builds on itanium processors
  • default module dir change, module handling updated
  • network event notification support
  • implemented the ability to specify qore, module, and feature version requirements
  • misc additions

bug fixes


* fixed a bug in the != operator for strings
!= would return True for strings with different encodings but otherwise equal content; this has been fixed to return False

* fixed a bug in QoreString::set()

* fixed 2 crashing bugs in the "-" operator
the operator functions were expecting certain arguments but the operator code was making partial matches and sending other types to the functions.  Added the ability for an operator function to require an exact argument match for both arguments.

* fixed evaluation of nonsensical arguments with the "-" and "+" operators
now this will return NOTHING instead of nonsense

* fixed a crashing bug in the FtpClient class
the FtpClient class was not usable in Qore 0.7.0

* fixed a parsing bug with the switch statement
when a case value using a constant was not resolved, it caused a crash (affected debug builds only)

* fixed parsing XML-RPC arrays when the first element is empty
would previously generate an exception even though the XML was valid

* mostly fixed signal handling on Darwin
however for some reason it looks like signal handling after a fork() on Leopard (OS/X 10.5, Darwin 9.5) is broken. I haven't figured out why.

* fixed a setting the URL in the HTTPClient class with only a path if a hostname is already set

* fixed a bug setting the URL in parseURL()

* fixed a bug parsing the Content-Type in the HTTPClient class

* fixed Queue::copy()

now copies the elements in the original Queue instead of returning an empty object

* fixed a problem with exit() when threads were active

* fixed the problem where exit() caused a random segmentation fault when other threads were active by doing the following:

  • all threads started with joinable status PTHREAD_CREATE_JOINABLE, threads call pthread_detach() before exiting
  • implemented a new function, qore_exit_process() to be called instead of exit() that calls pthread_cancel() on each thread (except the calling thread) and then pthread_join() on that thread
  • added a call to pthread_testcancel() in AbstractStatement::exec()
* fixed a bug in an internal API in QoreHTTPClient where the wrong type was passed
* fixed bugs in JsonRpcClient and XmlRpcClient where a new connection was established with each request
* fixed a bug in the HTTPClient where a new connection was established for each request even if the connection was already open and Keep-Alive was set
* fixed socket handling on HPUX 64/bit builds
the header files declare socklen_t to be 8 bytes wide, but the libraries expect a pointer to a 32-bit value
* fixed getAllThreadCallStacks()
(only enabled with debugging builds and with the explicit configure option: --enable-runtime-thread-stack-trace because it has a performance penalty) by requiring all threads to grab a read lock before updating the thread stack, and getAllThreadCallStacks() to grab a write lock before reading all threads' call stacks.  This function was not thread-safe before now.
* SOAP improvements in example code
in the examples/ directory: WSDL.qc, SoapHandler.qc, SoapClient.qc, HTTPServer.qc
soap 1.2 is handled better, namespace handling improvements

new ABI 5.0, problems were found with ABI 4.0


The 4.0 ABI was supposed to be fixed for a while; hopefully version 5.0 will last a little longer :-)

The multi-byte character support was defective; it could lead to reading from outside the buffer, so functions in QoreEncoding.h were updated.

Also it turns out that an array is not the same as a pointer to the array type; and the array size of global objects is somehow part of the ABI.

Changing any of these arrays (including character arrays) caused ABI issues, which was really a bad situation.

The following symbols are now pointers (all except the last are in Qore.h, the last is in QoreProgram.h):

DLLEXPORT extern const char *qore_version_string;
DLLEXPORT extern const char *qore_target_os;
DLLEXPORT extern const char *qore_target_arch;
DLLEXPORT extern const char *qore_module_dir;
DLLEXPORT extern const char *qore_cplusplus_compiler;
DLLEXPORT extern const char *qore_cflags;
DLLEXPORT extern const char *qore_ldflags;
DLLEXPORT extern const char *qore_build_host;
DLLEXPORT extern const char **qore_warnings;

The old definitions were:
DLLEXPORT extern const char qore_version_string[];
DLLEXPORT extern const char qore_target_os[];
DLLEXPORT extern const char qore_target_arch[];
DLLEXPORT extern const char qore_module_dir[];
DLLEXPORT extern const char qore_cplusplus_compiler[];
DLLEXPORT extern const char qore_cflags[];
DLLEXPORT extern const char qore_ldflags[];
DLLEXPORT extern const char qore_build_host[];
DLLEXPORT extern const char *qore_warnings[];


Note that module API 0.4 (supported by qore 0.7.0) is not supported

packaging and build updated to support building universal binaries on Darwin


Qore header files and build were updated to support building Universal binaries by using cpp macros to select the right inline assembly code or defines for atomic operation and stack guard support in the macros-*.h header files.

support for atomic operations in 64bit builds with itanium processors


supported with g++ and aCC, 64-bit builds only

Note that if you built qore 0.7.0 for 64bit itanium previously, the ABI now will be completely incompatible with this version due to atomic operation support, therefore all modules will have to be rebuilt with the new header files.

support for stack guard including RSE monitoring in 64-bit builds on itanium processors


RSE = Register Stack Engine: the itanium has basically 2 stacks, a normal stack and a register stack; qore now will throw an exception before either stack will overflow.

default module dir change, module handling updated


the default module directory is $libdir/qore-modules; all modules should be stored in this directory from now on.  Modules are also expected to append the module api supported to the file name (i.e.: module-api-0.5.qmod).

Qore has been updated to support multiple module APIs; when loading a feature, the corresponding module name will be searched with the module api tag in descending order, if not found then the filename without a module api will be searched.

network event notification support


you can now add an event queue (Queue object) to the Socket, HTTPClient, FtpClient, XmlRpcClient, and JsonRpcClient classes.

Currently the Socket, HTTPClient, and FtpClient classes all post events to the event queue, if one is set.

The events allow for more detailed reporting of the technical events occurring during network operations that are abstracted to a relatively high level through the previously-listed classes.

The events supported are:
  EVENT_PACKET_READ
  EVENT_PACKET_SENT
  EVENT_HTTP_CONTENT_LENGTH
  EVENT_HTTP_CHUNKED_START
  EVENT_HTTP_CHUNKED_END
  EVENT_HTTP_REDIRECT
  EVENT_CHANNEL_CLOSED
  EVENT_DELETED
  EVENT_FTP_SEND_MESSAGE
  EVENT_FTP_MESSAGE_RECEIVED
  EVENT_HOSTNAME_LOOKUP
  EVENT_HOSTNAME_RESOLVED
  EVENT_HTTP_SEND_MESSAGE
  EVENT_HTTP_MESSAGE_RECEIVED
  EVENT_HTTP_FOOTERS_RECEIVED
  EVENT_HTTP_CHUNKED_DATA_RECEIVED
  EVENT_HTTP_CHUNK_SIZE
  EVENT_CONNECTING
  EVENT_CONNECTED
  EVENT_START_SSL
  EVENT_SSL_ESTABLISHED

For most events posted to the event Queue, associated detailed information is posted to the queue along with the event type a listed above; for example when the EVENT_HTTP_CONTENT_LENGTH event is posted, the number of bytes given in the content-length header is also posted.

See the Qore 0.7.1 documentation for more information; see examples/qget for an example of a qore script using this new functionality (for example, run examples/qget -v <url> to see all network events as a URL is retrieved).

implemented the ability to specify qore, module, and feature version requirements


you can now use:

  %requires <module> OP <version>

where OP is one of <, <=, =, >=, >

for example:

  %requires oracle >= 1.0.1

also a special feature "qore" was implemented to give a requirement for the qore library, for example:

  %requires qore >= 0.7.1 

misc additions


added AF_UNIX and AF_LOCAL constants (which are actually interchangable)

Last Updated ( Wednesday, 19 November 2008 19:43 )
 

Qore 0.7.0 RELEASE-NOTES

E-mail Print PDF

RELEASE NOTES for qore v0.7.0

release summary: qore 0.7.0 is a major release with major new features - please see compatibility warnings beflow.

NOTE: modules are now delivered separately from the qore library, see the file README-MODULES in the source distribution for more information (or click here)

release overview:
  • COMPATIBILITY WARNING: local variables declared with my at the top-level are now global thread-local variables
  • COMPATIBILITY WARNING: qore command-line options changed, 3 seldomly-used short options removed
  • all modules are delivered separately now from the library, see README-MODULES for more information (or click here)
  • stable ABI and API, cleaned-up public header files, development packages
  • library may be used under the GPL or LGPL (enforced with license tagging on library and module initialization)
  • documented public API (with doxygen), documentation packages
  • complete reimplementation of the type and operator subsystems
  • reimplemented variable and object locking, no more possibility of nested locks and deadlocks
  • major performance and memory usage improvements
  • support for closures and encapsulating the state of local variables in the closure
  • some (quasi) functional programming support: new operators: map, foldr, foldl, select
  • new implicit argument references: $$ (entire argument list), $1, $2, ...
  • new special object method: "memberNotification()", called when members are updated externally to the class
  • "static" class methods are now supported
  • dereference string characters and binary bytes with [] operator
  • new qt-core, qt-gui, qt-opengl, qt-svg, opengl, glut, asn1, and xmlsec modules (delivered separately, see the file README-MODULES for more information -- or click here)
  • bz2 compressed data support (compression and decompression)
  • file locking support in the File class (based on fcntl())
  • support for SHA224, SHA256, SHA384, and SHA512 digest algorithms
  • 64-bit builds are the default on x86_64 CPUs on Linux
  • module dependencies
  • XML improvements, some XSD support
  • thread stack overrun protection on some platforms
  • build option support and constants
  • initial SOAP support included as user code
  • lots of bug fixes, new functions, new clases, class improvements, etc

 

COMPATIBILITY WARNING: local variables declared with "my" at the top-level are now global thread-local variables


This can be considered a bug fix as Qore was updated to match documented behavior.  However, in order to implement this, a new restriction was added to declaring local variables at the top-level: they can only be declared in the first parsing call in a Program object.  That is; if you try to declare a new top-level local variable with "my" in a Program object that already contains code, a parse exception will be raised.

 

COMPATIBILITY WARNING: qore command-line options changed, 3 seldomly-used short options removed


The following short options were removed:
 -C: corresponding to "--no-class-defs"
 -J: corresponding to "--no-constant-defs"
 -X: corresponding to "--no-thread-classes" (this short option was reused for a new option: --eval=arg)

The respective long options are still available.

Some new command-line options were added:
 --module-dir
 --module-api
 -X, --eval=arg

Also the -V, --version output gives much more information about the qore build.


all modules are delivered separately now from the library, see README-MODULES for more information


due to the fact that Qore now has a stable and documented API, and that the number of qore modules is growing, modules have been separated from the qore library and are now delivered separately. 

See the file README-MODULES for more information (or click here).

 

stable ABI and API, cleaned-up public header files, development packages


Finally Qore is useful for what it was designed to be in the first place: for embedding code in arbitrary applications.  

With a public, stable, and documented API, qore can be used by anyone that wants to support logic embedding in their application (here is a link).

Relevant classes exported by the Qore API now have private implementations, separating the interface from the implementation.  "const correctness" has been liberally applied to the API as well.  Modules may now be packaged and delivered separately from Qore.

Development packages (rpms) are now available as well.

library may be used under the GPL or LGPL


With this release, the qore library may be used under either the GPL or LGPL licenses.  

When calling qore_init() to initialize the library, you have to pass a license rgument.

When the qore library is initialized with the LGPL license, no licenses tagged as requiring the GPL license can be loaded.

 

documented public API (with doxygen), documentation packages


The Qore API documentation is generated with doxygen directly from the Qore header files.

Documentation packages (rpms) are now available as well.

 

complete reimplementation of the type and operator subsystems


The internal type and operator subsystems have been streamlined and improved for this release.

 

reimplemented variable and object locking, no more possibility of nested locks and deadlocks


Internal locking in Qore was simplified by eliminating nested locks and the possibility of deadlocking based on internal locks.

 

major performance and memory usage improvements


Performance of Qore code has been significantly improved for this release.  Additionally, the qore library uses less memory than in previous versions.

 

support for closures and encapsulating the state of local variables in the closure


Closures are now supported, ex:

my $a = sub () { return $x + $y * 3; };

the local variable $a can be returned as a return value of a function or called like a call reference.  If the closure references local variables from outside the closure's scope, when the closure is created the values of those variables are encapsulated in the closure and can be used normally.  Such encapsulated local variables can also be used in other threads (normally Qore local variables are local to the thread they are declared in).

 

some (quasi) functional programming support: new operators: map, foldr, foldl, select


These operators provide advanced and efficient list processing functionality to Qore.
  • map: "maps" an expression onto a list and returns a list of the results of evaluting the expression on each element of the list
  • foldr and foldl: "fold" an expression on a list, evaluting each new element of the list with the result of the last evaluation and the new element
  • select: creates a new list from a list

 

new implicit argument references: $$ (entire argument list), $1, $2, ...


Implicit arguments are used primary with the new list operators (map, foldr, foldl, and select), but can also be used in functions now as well.

 

new special object method: "memberNotification()", called when members are updated externally to the class


Objects can now be notified if public members are modified from outside the object's scope by declaring a new special method: "memberNotification()"

 

"static" class methods are now supported


Static class methods are not associated with an object; they are like regular functions attached to a class.  Static methods may also be private.

This allows programmers to write more efficient object-oriented programs and also addresses some Qore programmers' desire to put functions in namespaces (functions cannot be declared in a Qore namespace).

 

dereference string characters and binary bytes with [] operator


To get a single character of a string, the [] operator may be used, similar to how it's used with lists.
To get the value of a byte, the [] operator may be used as well.
Note that the [] operator when used in an lvalue expression will always convert its argument to a list

In other words, assignments using these new features of the [] operator will not work; the following is illegal:

$string[1] = "a"
$binary[1] = 0x1f 

the examples above will convert the value of the variables on the left-hand side to a list and assign the value on the right-hand side to the second position in the new lists.

 

new modules: qt-core, qt-gui, qt-opengl, qt-svg, opengl, glut, asn1, and xmlsec


QT modules are based on QT4
all modules are now delivered separately from the qore library, see the file README-MODULES for more information (or click here)

 

bz2 compressed data support (compression and decompression)


libbz2 is now required to run qore, and bz2 includes are required to build qore new functions provided:

  • bzip2()
  • bunzip2_to_binary()
  • bunzip2_to_string()

 

improvements to the File class


file locking support in the File class (based on fcntl()), more new File class members:

  • File::lock()
  • File::lockBlocking()
  • File::getLockInfo()
  • File::chown()

support for SHA224, SHA256, SHA384, and SHA512 digest algorithms


if Qore is built with an appropriate version of openssl, support for these new digest algorithms is supplied through the following functions:

  • SHA224()
  • SHA224_bin()
  • SHA256()
  • SHA256_bin()
  • SHA384()
  • SHA384_bin()
  • SHA512()
  • SHA512_bin()

64-bit builds are the default on x86_64 CPUs on Linux


the configure script will automatically set the build to a 64-bit target if the CPU is detected to be x86_64 on Linux note that on Solaris x86_64 you still have to manually add --enable-64bit to configure

 

XML improvements, XSD support


  • parseXMLWithSchema() - new function supports parsing an XML string based on an XSD schema
  • improved XML generation, top-level elements may now have attributes
  • improved XML parse error reporting, more details are included and context is now reported in the exception strings

thread stack overrun protection on some platforms


there is a new "stack guard" implementation that will cause an exception to be thrown when a thread runs out of stack space (instead of crashing the entire process, which is what happened previously).

The "stack guard" implementation simply determines the stack size for the thread and then checks the stack pointer before each Qore statement is executed to see if if passes a threshold.  

If the threshold has been breached, the statement is not executed and an exception is raised instead.

See the new test in test/stack-test.q for an example.

Stack guard availability depends on the compiler and CPU used to build qore; so
far there are tested implementations on:

  • i386 (gcc, SunPro CC)
  • x86_64 (gcc, SunPro CC)
  • 32-bit powerpc (gcc)
  • 32-bit sparc (gcc, SunPro CC)
  • 32-bit pa-risc (gcc, HP aCC)

Other platforms will still crash when the thread's stack is overrun.

 

build option support


now qore has constants that will tell you which options are available in the library.

Furthermore all functions are now available for parsing; but functions without an implementation will throw an exception (in previous versions of qore parse xceptions would be raised due to missing functions, which meant that it was not possible to build portable programs that could optionally use these functions if available).

You can check the option constants before running the function.
Optional functions are:

function infoconstantnotes
round()
HAVE_ROUNDdepends on C library support, missing on Solaris 8 for example
timegm()HAVE_TIMEGMdepends on C library support, missing on Solaris for example
setegid()HAVE_SETGUID
depends on C library support
seteuid()HAVE_SETEUIDdepends on C library support
parseXMLWithSchema()HAVE_PARSEXMLWITHSCHEMAdepends on libxml2 support
all SHA224*(), SHA256*(), SHA384*(), SHA512*() functionsHAVE_SHA224, HAVE_SHA256,
HAVE_SHA384,
HAVE_SHA512
depends on openssl support
all MDC2*() functionsHAVE_MDC2depends on openssl support
all RC5*() functionsHAVE_RC5depends on openssl support

The new constants are all in the Option namespaace:

  • HAVE_ATOMIC_OPERATIONS
  • HAVE_STACK_GUARD
  • HAVE_RUNTIME_THREAD_STACK_TRACE
  • HAVE_ROUND
  • HAVE_TIMEGM
  • HAVE_SETEUID
  • HAVE_SETEGID
  • HAVE_PARSEXMLWITHSCHEMA
  • HAVE_SHA224
  • HAVE_SHA256
  • HAVE_SHA384
  • HAVE_SHA512
  • HAVE_MDC2
  • HAVE_RC5

you can see what options qore has now by typing qore -V as well from the command-line.

 

initial SOAP support included as user code


see new files: examples/WSDL.qc examples/SoapClient.qc examples/SoapHandler.qc

 

bug fixes, new functions, class improvements


  • Qore revision tag now reflects the svn version used to make the build (instead of a meaningless private build number that was different on each machine).
  • new "Dir" class for manipulating and traversing directories (by Wolfgang Ritzinger)
  • inlist() and inlist_hard() functions for checking if a value is in a list
  • HTTPClient now understand bzip content encoding
  • miscellaneous new functions (besides the functions mentioned above):
    • chown()
    • lchown()
    • call_builtin_function()
    • call_builtin_function_args()
    • force_encoding()
    • get_script_dir()
    • get_script_path()
    • get_script_name()
  • parseURL() fixes and improvements
  • new Program restrictions: PO_NO_TERMINAL_IO and PO_NO_GUI
  • "-" operator updated: hash - list and hash -= list now work to delete multiple hash keys in a single (atomic) expression
  • SSLCertificate::getPublicKey() now returns the public key in DER format (before it returned an unusable binary object)
  • major updates to internal object and class code to allow for c++ class hierarchies to be properly reflected as Qore class hierarchies (used extensively by the qt modules, for example)
  • qore -V now gives verbose information about the build and library options

 

Last Updated ( Wednesday, 08 October 2008 17:49 )
 

Qore 0.6.2.4 RELEASE-NOTES

E-mail Print PDF

RELEASE NOTES for qore v0.6.2.4

RELEASE SUMMARY: bugfixes from 0.6.2.3 (3 bugs fixed)

  • fixed a bug where a local variable declared as an immediate call reference call would cause a run-time core dump
  • fixed a memory leak the use of Object::evalData() when an exception occurs
  • fixed a memory error in QoreString::addch()

Read more...
 

Qore 0.6.2.3 RELEASE-NOTES

E-mail Print PDF

RELEASE NOTES for qore v0.6.2.3

RELEASE SUMMARY: bugfixes from 0.6.2.2 (28 bugs fixed)

  • compression of strings no longer includes the trailing null (broke XML-RPC and JSON-RPC communication over the HTTP server with compression with some browsers)
  • do not throw an exception with sort*() functions when the argument is not a list - just return the argument
  • fixed local and global variable destruction order (was reversed until now)
  • fixed proxy URL reporting in Qore HTTPClient::getProxyURL() (was reporting the target port instead of the proxy port)
  • corrected erroneous printd() debugging statement in Operator.cc (only affected debugging builds)
  • fixed tibae, ncurses, pgsql, tibrv, and tuxedo module namespace handling for subprogram objects - when more than one subprogram object requested one of these features, and it was not originally present in the parent Program object, a memory leak and erroneous behavior would result (mostly spurious exceptions)
  • ensure that argument list is unique before modifying in QoreClass::evalMethodGate() (could cause erroneous behavior with methodGate methods in some circumstances)
  • fixed a potential rare memory leak in exception handling related to QoreNode reference count managemnt in Operator.cc 
  • fixed rethrow statement parsing to throw a parse exception when a rethrow statement is outside of a catch block (before would cause a run-time core dump)
  • fixed Datasource class not to mark a Datasource as in a transaction if an exception occurs in the first statement of an implicit transaction
  • fixed integer divide by zero, missing "else" could cause a run-time division by zero error
  • fixed a memory leak in the "replace()" function if an exception occurs converting string encodings
  • fixed a memory leak in the "parseBase64ToString()" function
  • fixed a crashing bug in exception handling in a JSON generation helper function in lib/ql_json.cc
  • fixed a memory leak in the FtpClient class constructor
  • fixed a bug where the string returned by QoreString::reverse() could be tagged with the wrong encoding under some circumstances
  • fixed a bug where the HashIterator::takeValueAndDelete() function would leave the map entry in the Hash which could cause a crash later
  • fixed a memory leak in exception handling in FtpClient::list()
  • fixed a memory leak in exception handling in object_MakeString()
  • fixed 2 off-by-one bugs with string concatentation in the QoreString class
  • fixed get*BigInt() time functions to return int64 instead of int
  • fixed a memory leak in QoreHTTPClient processing 100 responses
  • fixed a bug in the ? : operator where immediate list values could be returned improperly (only the first element could be erroneously returned under some conditions)
  • fixed a potentially crashing bug in makeFormattedXMLRPCCallStringArgs()
  • eliminated spurious double exceptions in rare cases with list operators in Operator.cc 
  • fixed a bug in the "tibae" module where instantiating a sequence while giving an explicit class name skipped type checking that could result in a crash
  • fixed a bug in QoreHTTPClient processing the protocol parameter as an integer port number
  • fixed a bug in regex_subst() (in RegexSubst::parseRT()) that would cause a run-time crash if a regular-expression parse exception were encountered at run-time

 

Last Updated ( Sunday, 10 February 2008 22:55 ) Read more...
 
  • «
  •  Start 
  •  Prev 
  •  1 
  •  2 
  •  Next 
  •  End 
  • »


Page 1 of 2