| 536 | return 1; |
| 537 | } |
| 538 | int32_t CFileWriteStreamClose(uint64_t hStream) |
| 539 | { |
| 540 | if (!Steam_Config::RemoteStorage) |
| 541 | return 1; |
| 542 | |
| 543 | if (!hStream) |
| 544 | return 2; |
| 545 | |
| 546 | auto StreamRequested = Streams.find(hStream); |
| 547 | if (StreamRequested == Streams.end()) { |
| 548 | return 2; |
| 549 | } |
| 550 | if (!StreamRequested->second.Buffer) { |
| 551 | return 2; |
| 552 | } |
| 553 | if (!StreamRequested->second.FileNameS) { |
| 554 | return 2; |
| 555 | } |
| 556 | |
| 557 | // Save to our file |
| 558 | std::FILE* FileStream = std::fopen(ColdAPI_Storage::ConnectDirectoryToFile(StreamRequested->second.FileNameS), "wb"); |
| 559 | if (FileStream) |
| 560 | { |
| 561 | std::fwrite(StreamRequested->second.Buffer, StreamRequested->second.lastbuffersize, 1, FileStream); |
| 562 | std::fclose(FileStream); |
| 563 | } |
| 564 | |
| 565 | if (StreamRequested->second.Buffer) |
| 566 | VirtualFree(StreamRequested->second.Buffer, NULL, MEM_RELEASE); |
| 567 | if(StreamRequested->second.FileNameS) |
| 568 | VirtualFree(StreamRequested->second.FileNameS, NULL, MEM_RELEASE); |
| 569 | Streams.erase(StreamRequested); |
| 570 | return 1; |
| 571 | } |
| 572 | int32_t CFileWriteStreamCancel(uint64_t hStream) |
| 573 | { |
| 574 | if (!Steam_Config::RemoteStorage) |