Client: Java and JavaScript Libs
Patch: Randy Abernethy
This fixes the build.xml for the Java server used to
test JavaScript. Older ants fail when get is used
with a target directory and not an explicit file name.
Client: Node Lib
Patch: Randy Abernethy
This patch keep npm from creating sym links on npm install.
Sym links fail when writting to some shared volumes.
Also fixes multiplex oneway bug in nodejs
Client: compiler (haskell and cpp generators)
Patch: Randy Abernethy
This patch replaces various bits of C++11 code in the Apache
Thrift compiler which fail to compile on older versions of
gcc (such as 4.4.7)
Client: C++-Library
Patch: Sergei Nikulov
unist.h removed
THRIFT_SLEEP_USEC used instead of usleep
ERROR variable renamed to TEST_TOLERANCE
This closes#207
Client: PHP
Patch: GitHub-User anjz <anartzn@gmail.com>
This closes#212
Removed `strrev` from `readDouble` and `writeDouble` functions. I found problems reading a double that was generated with the python library.
Client: Delphi
Patch: Severian Duchenko & Jens Geyer
The patch contains some additional refactoring, e.g. I consolidated the excessively overloaded CTORs a bit.
Patch: Dave Watson
This closes#88
Summary:
Clean up how enum values are handled if an integer value is not
explicitly specified in the thrift file.
For example, the following used to be a compile error, but
works now:
enum MyEnum {
SOMEVALUE
}
struct MyStruct {
1: MyEnum e = SOMEVALUE
}
This change also cleans up some of the error handling with out-of-range
values. Previously thrift simply issued a warning for enum values that
didn't fit in an i32, but serialized them as i32 anyway. Now
out-of-range enum values result in a compile failure.
Test Plan:
Included a new unit test to verify the assignment of enum values. I
also verified that g++ makes the same enum value assignments when
compiling these enums as C++ code.
This fixes a bug in the cocoa code generator where the variable
used by a for-loop can conflict with a built-in symbol when the
temporary variable counter is equal to 386. The generated variable
name, 'i386', conflicts with a macro built-in to the compiler.
I can reproduce this bug on Xcode 5 as well as Xcode 6. It appears
to only affect iOS projects, not OS X projects.
My fix simply prefixes the generated variable with 'idx' instead of 'i'.
This test code demonstrates the problem, regardless of Thrift codegen.
int i386 = 42;
printf("foobar %d\n", i386);
Which results in the following compiler error:
/Users/keith/Desktop/ReservedSymbolTest/ReservedSymbolTest/ViewController.m:22:7: error: expected identifier or '('
int i386 = 99;
^
<built-in>:143:14: note: expanded from here
^
1 error generated.