Subversion Repositories freemyipod

Rev

Rev 609 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 609 Rev 644
Line 884... Line 884...
884
            raise ArgumentError("Could not open local file for writing.")
884
            raise ArgumentError("Could not open local file for writing.")
885
        try:
885
        try:
886
            storageinfo = self.emcore.storage_get_info(volume)
886
            storageinfo = self.emcore.storage_get_info(volume)
887
            buffsize = min(buffsize, storageinfo.sectorsize * count)
887
            buffsize = min(buffsize, storageinfo.sectorsize * count)
888
            if buffer is None:
888
            if buffer is None:
889
                buffer = self.emcore.malloc(buffsize)
889
                buffer = self.emcore.memalign(0x10, buffsize)
890
                malloc = True
890
                malloc = True
891
            else:
891
            else:
892
                buffer = to_int(buffer)
892
                buffer = to_int(buffer)
893
                malloc = False
893
                malloc = False
894
            try:
894
            try:
Line 922... Line 922...
922
            raise ArgumentError("Could not open local file for reading.")
922
            raise ArgumentError("Could not open local file for reading.")
923
        try:
923
        try:
924
            storageinfo = self.emcore.storage_get_info(volume)
924
            storageinfo = self.emcore.storage_get_info(volume)
925
            buffsize = min(buffsize, storageinfo.sectorsize * count)
925
            buffsize = min(buffsize, storageinfo.sectorsize * count)
926
            if buffer is None:
926
            if buffer is None:
927
                buffer = self.emcore.malloc(buffsize)
927
                buffer = self.emcore.memalign(0x10, buffsize)
928
                malloc = True
928
                malloc = True
929
            else:
929
            else:
930
                buffer = to_int(buffer)
930
                buffer = to_int(buffer)
931
                malloc = False
931
                malloc = False
932
            try:
932
            try:
Line 1020... Line 1020...
1020
            fd = self.emcore.file_open(remotename, 0)
1020
            fd = self.emcore.file_open(remotename, 0)
1021
            try:
1021
            try:
1022
                size = self.emcore.file_size(fd)
1022
                size = self.emcore.file_size(fd)
1023
                buffsize = min(buffsize, size)
1023
                buffsize = min(buffsize, size)
1024
                if buffer is None:
1024
                if buffer is None:
1025
                    buffer = self.emcore.malloc(buffsize)
1025
                    buffer = self.emcore.memalign(0x10, buffsize)
1026
                    malloc = True
1026
                    malloc = True
1027
                else:
1027
                else:
1028
                    buffer = to_int(buffer)
1028
                    buffer = to_int(buffer)
1029
                    malloc = False
1029
                    malloc = False
1030
                try:
1030
                try:
Line 1053... Line 1053...
1053
        """
1053
        """
1054
        buffsize = to_int(buffsize)
1054
        buffsize = to_int(buffsize)
1055
        handle = self.emcore.dir_open(remotepath)
1055
        handle = self.emcore.dir_open(remotepath)
1056
        try:
1056
        try:
1057
            if buffer is None:
1057
            if buffer is None:
1058
                buffer = self.emcore.malloc(buffsize)
1058
                buffer = self.emcore.memalign(0x10, buffsize)
1059
                malloc = True
1059
                malloc = True
1060
            else:
1060
            else:
1061
                buffer = to_int(buffer)
1061
                buffer = to_int(buffer)
1062
                malloc = False
1062
                malloc = False
1063
            try:
1063
            try:
Line 1092... Line 1092...
1092
        except IOError:
1092
        except IOError:
1093
            raise ArgumentError("Could not open local file for reading.")
1093
            raise ArgumentError("Could not open local file for reading.")
1094
        try:
1094
        try:
1095
            buffsize = min(buffsize, os.path.getsize(localname))
1095
            buffsize = min(buffsize, os.path.getsize(localname))
1096
            if buffer is None:
1096
            if buffer is None:
1097
                buffer = self.emcore.malloc(buffsize)
1097
                buffer = self.emcore.memalign(0x10, buffsize)
1098
                malloc = True
1098
                malloc = True
1099
            else:
1099
            else:
1100
                buffer = to_int(buffer)
1100
                buffer = to_int(buffer)
1101
                malloc = False
1101
                malloc = False
1102
            try:
1102
            try:
Line 1105... Line 1105...
1105
                try:
1105
                try:
1106
                    while True:
1106
                    while True:
1107
                        data = f.read(buffsize)
1107
                        data = f.read(buffsize)
1108
                        if len(data) == 0: break
1108
                        if len(data) == 0: break
1109
                        self.emcore.write(buffer, data)
1109
                        self.emcore.write(buffer, data)
-
 
1110
                        self.emcore.write(buffer, data)
1110
                        bytes = 0
1111
                        bytes = 0
1111
                        while bytes < len(data):
1112
                        while bytes < len(data):
1112
                            bytes = bytes + self.emcore.file_write(fd, len(data) - bytes, buffer + bytes)
1113
                            bytes = bytes + self.emcore.file_write(fd, len(data) - bytes, buffer + bytes)
1113
                finally:
1114
                finally:
1114
                    self.emcore.file_close(fd)
1115
                    self.emcore.file_close(fd)
Line 1128... Line 1129...
1128
            [buffsize]: buffer size (optional)
1129
            [buffsize]: buffer size (optional)
1129
            [buffer]: buffer address (optional)
1130
            [buffer]: buffer address (optional)
1130
        """
1131
        """
1131
        buffsize = to_int(buffsize)
1132
        buffsize = to_int(buffsize)
1132
        if buffer is None:
1133
        if buffer is None:
1133
            buffer = self.emcore.malloc(buffsize)
1134
            buffer = self.emcore.memalign(0x10, buffsize)
1134
            malloc = True
1135
            malloc = True
1135
        else:
1136
        else:
1136
            buffer = to_int(buffer)
1137
            buffer = to_int(buffer)
1137
            malloc = False
1138
            malloc = False
1138
        try:
1139
        try: