Ryan Dahl
5e409c2f1a
makeFastBuffer should not segfault but rather throw on non-buffer
2011-05-19 12:13:48 -07:00
koichik
9533e879f0
Fix Buffer.write() with UCS-2 should not be write partial char
...
closes #916 .
2011-04-13 09:55:49 -07:00
Ryan Dahl
8b33a1d8e4
Guard failed buffer constructions.
...
Thanks to Jeremy Barnes for pointing it out.
2011-03-22 13:10:53 -07:00
Ryan Dahl
55048cdf79
Update copyright headers
2011-03-14 17:37:05 -07:00
Konstantin Käfer
9e101f2b01
UCS-2 support
...
Closes GH-644.
2011-02-07 13:35:06 -08:00
Bert Belder
e0f47be9d0
Clean up the way windows headers are included
...
Plus make inclusion order a little more consistent in general
2011-01-18 04:58:11 +01:00
Bert Belder
4a2cb07808
Fix whitespace errors introduced by porting efforts
2010-12-20 23:51:25 +01:00
Bert Belder
6d1af51de6
Fix header files for node_buffer.cc
2010-12-20 23:50:35 +01:00
Sean Braithwaite
fcc38129a3
Check buffer length using string length
...
+ Utf8Length is really slow but has the same semantics in this case
2010-12-03 15:55:03 -08:00
Tom Hughes
6285fac232
Allocations with new[] must be freed with delete[].
...
See http://valgrind.org/docs/manual/mc-manual.html#mc-manual.rudefn
2010-11-24 12:53:28 -08:00
Ryan Dahl
2320497992
Revert "Merge branch 'writev'"
...
This reverts commit cd9515efd9 , reversing
changes made to df46c8e698 .
Too slow. Needs more work.
2010-11-20 20:55:15 -08:00
Ryan Dahl
56074d1056
Inline Buffer::Length and Buffer::Data
2010-11-20 00:04:22 -08:00
Ryan Dahl
3884b4185a
Small clean ups
2010-11-18 16:47:38 -08:00
Ryan Dahl
d74c506044
Support encoding
2010-11-18 16:47:37 -08:00
Ryan Dahl
dcc4fffe4d
Add C++ API for constructing fast buffer from string
2010-10-26 13:43:58 -07:00
Stéphan Kochen
dd52737476
Provide a C++ Buffer constructor for external storage.
...
In order to do this, buffer data management was moved out of the
JS entry-point New, and into Replace.
Secondly, the constructor makes an immediate call to Replace, and
in order for ArrayData calls to work, wrapping must already be set
up. Now, the constructor takes the wrappee as a parameter.
2010-10-22 16:52:14 -07:00
Stéphan Kochen
b3e60c7b25
Generalize Buffer::Copy to work with all unsigned byte external data.
2010-10-22 13:47:10 -07:00
Stéphan Kochen
d5e966154c
Simplify things by using *ArrayData everywhere.
2010-10-22 13:32:48 -07:00
Stéphan Kochen
d9b08d66d6
Remove old interface remains from Buffer.
...
These were all lacking implementation, so deprecating wouldn't help.
2010-10-22 13:32:31 -07:00
Jorge Chamorro Bieling
c735b4663a
unbase64 skips over *any* illegal chars
2010-10-18 15:22:10 -07:00
Ryan Dahl
cf1db4f304
base64 decode should handle whitespace
2010-10-18 11:34:35 -07:00
Ryan Dahl
9d248f690a
Fix return in Buffer::New
2010-10-10 19:24:33 -07:00
Ryan Dahl
0cf03ab800
Add char* constructor for Buffer
2010-10-10 19:08:51 -07:00
Ryan Dahl
fe74283e1d
Fix a few compiler warnings...
2010-10-09 16:04:38 -07:00
Ryan Dahl
b5359e40be
Warnings for new C++ buffer API
2010-10-09 12:15:16 -07:00
Ben Noordhuis
55c65cc2d5
Safe constructor for ObjectWrapped classes
...
New() methods should be invoked as constructors, not regular functions.
Corner cases like Script::New() may cause a SIGSEGV when the GC is run.
More details: http://groups.google.com/group/nodejs/browse_thread/thread/a7e5db68d4cd6356
2010-09-29 16:02:45 -07:00
Ryan Dahl
b8bfbdab48
Rename SlowBuffer in binding
2010-09-09 11:03:51 -07:00
Ryan Dahl
5bc4efe820
Remove blobs, simplify SlowBuffer
...
Implement SlowBuffer.prototype.slice in js
2010-09-09 11:03:51 -07:00
Ryan Dahl
380d12832c
Remove dead code
2010-09-09 11:03:50 -07:00
Ryan Dahl
efc723787a
Fix big string bug
2010-09-09 11:03:50 -07:00
Ryan Dahl
71d67dbf48
Remove fancy SlowBuffer constructor
2010-09-09 11:03:50 -07:00
Ryan Dahl
6135941eea
Fix ByteLength hangup
2010-09-09 11:03:50 -07:00
Ryan Dahl
ececd92f62
Fix base64 write for buffers
2010-09-09 11:03:49 -07:00
Ryan Dahl
1f947f7b41
remove unnecessary casts
2010-09-09 11:03:49 -07:00
Ryan Dahl
7b772f3f68
More fast buffer work
2010-09-09 11:03:48 -07:00
Ryan Dahl
d5bdda74c1
fast buffer bounds checking in copy()
2010-09-09 11:03:48 -07:00
Ryan Dahl
1cf538a60a
Work to get C++ fast buffers. incomplete
2010-09-09 11:03:48 -07:00
Ryan Dahl
565d862f3c
Fix buffer binding
2010-09-09 11:03:48 -07:00
Tim-Smart
746d487da8
FastBuffer implementation. API needs migration
2010-09-09 11:03:47 -07:00
Ryan Dahl
f86ad1693f
Safe Constructor: Buffer
2010-08-27 15:23:51 -07:00
Ryan Dahl
488aff085b
Improve appendix markdown
2010-08-21 01:24:14 -07:00
Ryan Dahl
7db5c8a10d
Fix toString('base64') bug
...
Thanks to Stepan Stolyarov for the test case.
2010-08-04 11:38:48 -07:00
Ryan Dahl
c38dd24dc5
Fix style
2010-07-30 10:54:43 -07:00
Ben Noordhuis
f72ac17c89
Buffer: graciously handle padding in base64-encoded input.
2010-07-30 10:49:00 -07:00
Ryan Dahl
f291fbc8a7
Fix ending \0 in base64 decoding
2010-07-29 14:52:40 -07:00
Ben Noordhuis
95638c9b0d
Buffer: adjust buffer size so the base64-decoded input fits snugly.
...
Stops Valgrind from complaining about uninitialized memory access.
2010-07-28 11:37:23 -07:00
Benjamin Kramer
eeaf1ef970
Constify read-only global data
...
Also silences a compiler warning about deprecated conversion from const
char* to char*.
2010-07-26 22:14:39 +02:00
Ryan Dahl
2c1ca4078d
Implement buffer.write for base64
...
There might be an off-by-one on the returned value.
2010-07-23 16:36:52 -07:00
Ryan Dahl
528015e0d8
Implement buffer.toString('base64')
2010-07-23 13:52:44 -07:00
Peter Griess
e7c4f8cdaa
Buffer.copy() should liberally allow empty copies.
2010-07-15 10:20:42 -07:00