Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b4ce717a authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Use uint32_t instead of int to support 2~4G file"

parents f3209f65 df4b5074
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -561,7 +561,7 @@ int MtpDataPacket::write(struct usb_request *request, UrbPacketDivisionMode divi
    return processedBytes == mPacketSize ? processedBytes : -1;
}

int MtpDataPacket::write(struct usb_request *request,
int64_t MtpDataPacket::write(struct usb_request *request,
                         UrbPacketDivisionMode divisionMode,
                         int fd,
                         size_t payloadSize) {
+2 −1
Original line number Diff line number Diff line
@@ -117,7 +117,8 @@ public:
    int                 write(struct usb_request *request, UrbPacketDivisionMode divisionMode);
    // Similar to previous write method but it reads the payload from |fd|. If |size| is larger than
    // MTP_BUFFER_SIZE, the data will be sent by multiple bulk transfer requests.
    int                 write(struct usb_request *request, UrbPacketDivisionMode divisionMode,
    // Return type (int64_t) is used to handle the case that the size can be larger than 2GB.
    int64_t             write(struct usb_request *request, UrbPacketDivisionMode divisionMode,
                              int fd, size_t size);
#endif

+2 −2
Original line number Diff line number Diff line
@@ -516,7 +516,7 @@ MtpObjectHandle MtpDevice::sendObjectInfo(MtpObjectInfo* info) {
    return (MtpObjectHandle)-1;
}

bool MtpDevice::sendObject(MtpObjectHandle handle, int size, int srcFD) {
bool MtpDevice::sendObject(MtpObjectHandle handle, uint32_t size, int srcFD) {
    std::lock_guard<std::mutex> lg(mMutex);

    if (mLastSendObjectInfoTransactionID + 1 != mTransactionID ||
@@ -529,7 +529,7 @@ bool MtpDevice::sendObject(MtpObjectHandle handle, int size, int srcFD) {
    if (sendRequest(MTP_OPERATION_SEND_OBJECT)) {
        mData.setOperationCode(mRequest.getOperationCode());
        mData.setTransactionID(mRequest.getTransactionID());
        const int writeResult = mData.write(mRequestOut, mPacketDivisionMode, srcFD, size);
        const int64_t writeResult = mData.write(mRequestOut, mPacketDivisionMode, srcFD, size);
        const MtpResponseCode ret = readResponse();
        return ret == MTP_RESPONSE_OK && writeResult > 0;
    }
+1 −1
Original line number Diff line number Diff line
@@ -104,7 +104,7 @@ public:
    MtpObjectInfo*          getObjectInfo(MtpObjectHandle handle);
    void*                   getThumbnail(MtpObjectHandle handle, int& outLength);
    MtpObjectHandle         sendObjectInfo(MtpObjectInfo* info);
    bool                    sendObject(MtpObjectHandle handle, int size, int srcFD);
    bool                    sendObject(MtpObjectHandle handle, uint32_t size, int srcFD);
    bool                    deleteObject(MtpObjectHandle handle);
    MtpObjectHandle         getParent(MtpObjectHandle handle);
    MtpStorageID            getStorageID(MtpObjectHandle handle);