express: Fix Datagram::modify_array()
This just copies the array initialization out of append_data, so a COW/uninitialized Datagram can be initialized with modify_array()
This commit is contained in:
parent
04cb128140
commit
10f1ffa9a7
|
|
@ -408,6 +408,17 @@ get_array() const {
|
|||
*/
|
||||
INLINE PTA_uchar Datagram::
|
||||
modify_array() {
|
||||
if (_data == (uchar *)NULL) {
|
||||
// Create a new array.
|
||||
_data = PTA_uchar::empty_array(0);
|
||||
|
||||
} else if (_data.get_ref_count() != 1) {
|
||||
// Copy on write.
|
||||
PTA_uchar new_data = PTA_uchar::empty_array(0);
|
||||
new_data.v() = _data.v();
|
||||
_data = new_data;
|
||||
}
|
||||
|
||||
return _data;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue