Changeset 24196
- Timestamp:
- 03/01/08 19:06:45 (9 months ago)
- Files:
-
- 1 modified
-
haiku/trunk/src/kits/app/Message.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
haiku/trunk/src/kits/app/Message.cpp
r23810 r24196 2301 2301 pointer into the message. */ 2302 2302 2303 char buf[4096] = { 0 }; 2303 2304 ssize_t size = message->FlattenedSize(); 2304 char buffer[size]; 2305 2306 bool freeBuffer = false; 2307 char* buffer = NULL; 2308 if (size > (ssize_t)sizeof(buffer)) { 2309 freeBuffer = true; 2310 buffer = static_cast<char*>(malloc(size)); 2311 } else { 2312 buffer = buf; 2313 } 2305 2314 2306 2315 status_t error = message->Flatten(buffer, size); 2307 2316 2308 2317 if (error >= B_OK) 2309 error = AddData(name, B_MESSAGE_TYPE, &buffer, size, false); 2318 error = AddData(name, B_MESSAGE_TYPE, buffer, size, false); 2319 2320 if (freeBuffer) 2321 free(buffer); 2310 2322 2311 2323 return error;
