summaryrefslogtreecommitdiff
path: root/libsparse
Commit message (Collapse)AuthorAgeFilesLines
* libsparse: Add simg2img_static target for hostChirayu Desai2022-08-301-0/+17
| | | | | | * For extract-tools Change-Id: I15772394a24c2ff1fdd6eece86548a72a5d4d748
* Merge changes from topic "sparse-file-read-enum"Treehugger Robot2022-01-283-21/+110
|\ | | | | | | | | | | * changes: libsparse: Add "hole" mode to sparse_file_read libsparse: Split off most of sparse_file_read_normal into a helper function
| * libsparse: Add "hole" mode to sparse_file_readSean Anderson2022-01-273-15/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for filesystem-level sparse files. These files have holes which are not stored in the filesystem and when read are full of zeros. While these zeros may be significant in some types of files, other types of files may not care about the contents of holes. For example, most filesystem creation tools write to all the blocks they care about. Those blocks not written to will remain holes, and can be safely represented by "don't care" chunks. Using "don't care" chunks instead of fill chunks can result in a substantial reduction of the time it takes to program a sparse image. To accomplish this, we extend the existing "sparse" boolean parameter to be an enum of mode types. This enum represents the strategy we take when reading in a file. For the most part the implementation is straightforward. We use lseek to determine where the holes in the file are, and then use do_sparse_file_read_normal to create chunks for the data section. Note that every file has an implicit hole at its end. Change-Id: I0cfbf08886fca9a91cb753ec8734c84fcbe52c9f
| * libsparse: Split off most of sparse_file_read_normal into a helper functionSean Anderson2021-12-301-7/+15
| | | | | | | | | | | | | | This carves out the core of sparse_file_read_normal and splits it off so it can be reused in the next patch. No functional change intended. Change-Id: Id00491fd7e5bb6fa28c517a0bb32b8b506539d4d
* | Merge "libsparse: no xrange() in python3."Treehugger Robot2022-01-211-2/+2
|\ \
| * | libsparse: no xrange() in python3.Elliott Hughes2022-01-181-2/+2
| |/ | | | | | | | | | | Bug: http://b/205996442 Test: treehugger Change-Id: Ifcbbc2e67e9f54b2c4e1fd2aacf52427bc7d2831
* / Add checking for sparse file formatKeith Mok2022-01-145-58/+127
|/ | | | | | | | | | | | | | | Sparse file can come from an untrusted source. Need more checking to ensure that it is not a malformed file and would not cause any OOB read access. Update fuzz test for decoding also. Test: adb reboot fastboot fuzzy_fastboot --gtest_filter=Fuzz.Sparse* fuzzy_fastboot --gtest_filter=Conformance.Sparse* sparse_fuzzer Bug: 212705418 Change-Id: I7622df307bb00e59faaba8bb2c67cb474cffed8e
* libsparse: python3.Elliott Hughes2021-08-172-6/+5
| | | | | | Test: treehugger Test: ran simg_dump.py on a file created by img2simg Change-Id: I999747867733a2e789c0da95add0bba83c36133f
* [LSC] Add LOCAL_LICENSE_KINDS to system/coreBob Badour2021-02-191-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added SPDX-license-identifier-Apache-2.0 to: bootstat/Android.bp cli-test/Android.bp code_coverage/Android.bp cpio/Android.bp debuggerd/crasher/Android.bp debuggerd/proto/Android.bp diagnose_usb/Android.bp fs_mgr/libdm/Android.bp fs_mgr/libfiemap/Android.bp fs_mgr/liblp/Android.bp fs_mgr/libsnapshot/Android.bp fs_mgr/libstorage_literals/Android.bp fs_mgr/libvbmeta/Android.bp fs_mgr/tests/Android.bp fs_mgr/tools/Android.bp gatekeeperd/Android.bp healthd/Android.bp healthd/testdata/Android.bp init/Android.bp init/Android.mk init/sysprop/Android.bp init/test_kill_services/Android.bp init/test_service/Android.bp libappfuse/Android.bp libasyncio/Android.bp libbinderwrapper/Android.bp libcrypto_utils/Android.bp libcrypto_utils/tests/Android.bp libdiskconfig/Android.bp libgrallocusage/Android.bp libkeyutils/mini_keyctl/Android.bp libmodprobe/Android.bp libnetutils/Android.bp libpackagelistparser/Android.bp libprocessgroup/Android.bp libprocessgroup/cgrouprc/Android.bp libprocessgroup/cgrouprc_format/Android.bp libprocessgroup/profiles/Android.bp libprocessgroup/setup/Android.bp libqtaguid/Android.bp libsparse/Android.bp libstats/push_compat/Android.bp libsuspend/Android.bp libsync/Android.bp libsystem/Android.bp libsysutils/Android.bp libusbhost/Android.bp libutils/Android.bp libvndksupport/Android.bp libvndksupport/tests/Android.bp llkd/Android.bp llkd/tests/Android.bp property_service/libpropertyinfoparser/Android.bp property_service/libpropertyinfoserializer/Android.bp property_service/property_info_checker/Android.bp qemu_pipe/Android.bp reboot/Android.bp rootdir/Android.bp rootdir/Android.mk rootdir/avb/Android.bp rootdir/avb/Android.mk run-as/Android.bp sdcard/Android.bp set-verity-state/Android.bp shell_and_utilities/Android.bp storaged/Android.bp toolbox/Android.bp trusty/apploader/Android.bp trusty/confirmationui/Android.bp trusty/confirmationui/fuzz/Android.bp trusty/coverage/Android.bp trusty/fuzz/Android.bp trusty/fuzz/test/Android.bp trusty/gatekeeper/Android.bp trusty/gatekeeper/fuzz/Android.bp trusty/keymaster/Android.bp trusty/keymaster/fuzz/Android.bp trusty/libtrusty/Android.bp trusty/libtrusty/tipc-test/Android.bp trusty/secure_dpu/Android.bp trusty/storage/interface/Android.bp trusty/storage/lib/Android.bp trusty/storage/proxy/Android.bp trusty/storage/tests/Android.bp trusty/utils/spiproxyd/Android.bp trusty/utils/trusty-ut-ctrl/Android.bp usbd/Android.bp watchdogd/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to: debuggerd/Android.bp fastboot/Android.bp libkeyutils/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD SPDX-license-identifier-MIT to: libcutils/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT to: fs_mgr/Android.bp fs_mgr/libfs_avb/Android.bp trusty/Android.bp trusty/utils/rpmb_dev/Android.bp Added SPDX-license-identifier-BSD to: fastboot/fuzzy_fastboot/Android.bp Bug: 68860345 Bug: 151177513 Bug: 151953481 Test: m all Exempt-From-Owner-Approval: janitorial work Change-Id: Id740a7d2884556081fdb68876584b25eb95e1bef
* Revert "[LSC] Add LOCAL_LICENSE_KINDS to system/core"Elliott Hughes2021-02-161-9/+0
| | | | | | | | This reverts commit 187b7d19504ca8bdcbc6217c06a117017b4c6287. Reason for revert: system/core is multiple projects, not one. Change-Id: I790ea41741f8cd9b8b6db2f59a49e71fb0958fd6
* [LSC] Add LOCAL_LICENSE_KINDS to system/coreBob Badour2021-02-161-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added SPDX-license-identifier-Apache-2.0 to: bootstat/Android.bp cli-test/Android.bp code_coverage/Android.bp cpio/Android.bp debuggerd/crasher/Android.bp debuggerd/proto/Android.bp diagnose_usb/Android.bp fs_mgr/libdm/Android.bp fs_mgr/libfiemap/Android.bp fs_mgr/liblp/Android.bp fs_mgr/libsnapshot/Android.bp fs_mgr/libstorage_literals/Android.bp fs_mgr/libvbmeta/Android.bp fs_mgr/tests/Android.bp fs_mgr/tools/Android.bp gatekeeperd/Android.bp healthd/Android.bp healthd/testdata/Android.bp init/Android.bp init/Android.mk init/sysprop/Android.bp init/test_kill_services/Android.bp init/test_service/Android.bp libappfuse/Android.bp libasyncio/Android.bp libbinderwrapper/Android.bp libcrypto_utils/Android.bp libcrypto_utils/tests/Android.bp libdiskconfig/Android.bp libgrallocusage/Android.bp libkeyutils/mini_keyctl/Android.bp libmodprobe/Android.bp libnetutils/Android.bp libpackagelistparser/Android.bp libprocessgroup/Android.bp libprocessgroup/cgrouprc/Android.bp libprocessgroup/cgrouprc_format/Android.bp libprocessgroup/profiles/Android.bp libprocessgroup/setup/Android.bp libqtaguid/Android.bp libsparse/Android.bp libstats/push_compat/Android.bp libsuspend/Android.bp libsync/Android.bp libsystem/Android.bp libsysutils/Android.bp libusbhost/Android.bp libutils/Android.bp libvndksupport/Android.bp libvndksupport/tests/Android.bp llkd/Android.bp llkd/tests/Android.bp property_service/libpropertyinfoparser/Android.bp property_service/libpropertyinfoserializer/Android.bp property_service/property_info_checker/Android.bp qemu_pipe/Android.bp reboot/Android.bp rootdir/Android.bp rootdir/Android.mk rootdir/avb/Android.bp rootdir/avb/Android.mk run-as/Android.bp sdcard/Android.bp set-verity-state/Android.bp shell_and_utilities/Android.bp storaged/Android.bp toolbox/Android.bp trusty/apploader/Android.bp trusty/confirmationui/Android.bp trusty/confirmationui/fuzz/Android.bp trusty/coverage/Android.bp trusty/fuzz/Android.bp trusty/fuzz/test/Android.bp trusty/gatekeeper/Android.bp trusty/gatekeeper/fuzz/Android.bp trusty/keymaster/Android.bp trusty/keymaster/fuzz/Android.bp trusty/libtrusty/Android.bp trusty/libtrusty/tipc-test/Android.bp trusty/secure_dpu/Android.bp trusty/storage/interface/Android.bp trusty/storage/lib/Android.bp trusty/storage/proxy/Android.bp trusty/storage/tests/Android.bp trusty/utils/spiproxyd/Android.bp trusty/utils/trusty-ut-ctrl/Android.bp usbd/Android.bp watchdogd/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to: debuggerd/Android.bp fastboot/Android.bp libkeyutils/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD SPDX-license-identifier-MIT to: Android.bp libcutils/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT to: fs_mgr/Android.bp fs_mgr/libfs_avb/Android.bp trusty/utils/rpmb_dev/Android.bp Added SPDX-license-identifier-BSD to: fastboot/fuzzy_fastboot/Android.bp Bug: 68860345 Bug: 151177513 Bug: 151953481 Test: m all Exempt-From-Owner-Approval: janitorial work Change-Id: I5bd81adb5cdcf2b4dd4141b204eb430ff526af8f
* Add assemble_cvd to com.android.virtJiyong Park2021-01-051-0/+4
| | | | | | | | | | assemble_cvd directly or indirectly depends on these modules. To add assemble_cvd to the com.anroid.virt APEX, these modules are marked as being available to the APEX. Bug: 174639526 Test: m com.android.virt Change-Id: Id3b2989a9f038a1cdc769a2021a116cf09ab1b15
* libsparse: make vendor_ramdisk_available.Yifan Hong2020-11-191-0/+1
| | | | | | Test: pass Bug: 173425293 Change-Id: Id360f205b9135b83edb59d13f978eb28cad041de
* Make libsparse vendor_availableAlistair Delva2020-09-031-0/+1
| | | | | | | | | | We are porting cuttlefish to Android, it currently uses libsparse to desparse Android filesystems to be used directly as disk images by crosvm. Making this library available to 'vendor' enables us to support desparsing downloaded images on-device as well. Bug: 167675429 Change-Id: I8ae4a916cfb0b2002dd9e462f32e8cb0e533d821
* libsparse: Fix overflow of merged sparse chunk lengthHyeongseok Kim2020-08-116-48/+47
| | | | | | | | | | | | Merging sparse chunk can make sparse map block bigger than 4GiB, that can't be covered by unsigned integer type. Fix this by changing unsigned int to uint64_t type. Test: sparse build Bug: 162808120 Change-Id: Id4d3f88f9d531c25c3937c99b2c81efb915605ee Signed-off-by: Hyeongseok Kim <hyeongseok@gmail.com> Cc: hyeongseok.kim <hyeongseok.kim@lge.com>
* libsparse: Limit block size to 64 MBWoody Lin2020-06-031-0/+12
| | | | | | | | Limit the block size to 64 MB before fastboot executable binary for windows 64-bit is released. Bug: 156057250 Change-Id: Ic4edb963a3d99f718d7630aba3f351729a84e994
* libsparse: use memory-mapping on Windows too.Elliott Hughes2020-05-141-47/+5
| | | | | | Bug: 156057250 Test: treehugger Change-Id: Icdd2dfa43208ca4086e709d09c4cafbec4b84791
* Make ramdisk_available.Yifan Hong2020-01-221-0/+1
| | | | | | Test: pass Bug: 147347110 Change-Id: I9787e386e552393efc5beed5aac577be9ce1a3c5
* libsparse: fix memory leak in output_file_close()Robin Hsu2019-11-121-0/+4
| | | | | | | | | | | | | | | | | | Fix memory leak in output_file_close(): Arguable whose resposibility to free structs allocated inside a file struct (the caller or the library function), but the following protocol (i.e. this fix) would better prevent memory leaks: 1) output_file_close() function will free those structs inside a file struct, right before closing the file. * Note: those structs are originally allocated by other libsparse function. 2) If the caller wants to clean up those struct inside a file struct, it may. Just free those structs, and set the pointer to NULL. Afterward, when file_close()'s are called, they won't be free'ed twice. Bug: 142483439 Test: verified by script MemLeak_LastCmd.sh (attached in Bugnizer) Change-Id: I8bb9f7c9f7d19268663e2830d1a90d27bd5f99bd Signed-off-by: Robin Hsu <robinhsu@google.com>
* Add fuzzer for libsparsehamzeh2019-09-252-0/+28
| | | | | | Bug: 141129284 Test: SANITIZE_TARGET="hwaddress fuzzer' make libsparse_fuzzer Change-Id: I54e19d399f7ea29a45734f1ddc520ceec56add09
* libsparse: replace legacy min() with std::min()cfig2019-08-151-10/+4
| | | | | | | this makes libsparse compile with MacOS clang++ Test: "libsparse" compiles and works fine under both Linux and MacOS Change-Id: Ifcf018b856d2fe5f1dac7eeddd72de2810be66c5
* Fix an unintialized return value.Stephen Hines2019-05-021-1/+1
| | | | | | Bug: http://b/131390872 Test: Built aosp_blueline successfully. Change-Id: Iea5255be280dfc089a95fc25a0f988e913c18679
* Convert Android.mk file to Android.bpSasha Smundak2019-01-242-11/+15
| | | | | | | | See build/soong/README.md for more information. Bug: 122332380 Test: treehugger Change-Id: I39a69c722922cfb19059d10ff37132442f0337ba
* Fix cert-dcl16-c clang-tidy warnings.Chih-Hung Hsieh2018-12-111-1/+1
| | | | | | Bug: 120614316 Test: make with WITH_TIDY=1 DEFAULT_GLOBAL_TIDY_CHECKS=-*,cert-dcl16-c Change-Id: I069b2c861cf7c349445c15bf789908377fe7227f
* Revert "libsparse: Add sparse typed callback"Tobias Thierer2018-07-264-246/+96
| | | | | | | | | | | | | | | | | | | This reverts commit db69f0d47f3ccb3ff656c56fe2b68aaf5ab853f6. Reason for revert: Broke the build: In file included from system/core/libsparse/sparse.cpp:26: system/core/libsparse/output_file.h:34:72: error: unknown type name 'off64_t'; did you mean 'off_t'? int (*skip_write)(void*, off64_t), void* priv, ^~~~~~~ off_t /Applications/Xcode6.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/sys/_types/_off_t.h:30:25: note: 'off_t' declared here typedef __darwin_off_t off_t; ^ 1 error generated. Bug: 78793464 Change-Id: I0f8bc4e9aa2f74612bfd8721d00d961e3f7e695f
* libsparse: Add sparse typed callbackJerry Zhang2018-07-254-96/+246
| | | | | | | | | | | | | | | | Currently, sparse_file_callback uses libsparse's own logic for reading a file into a buffer. However, a caller may want to use their own logic for doing this in order to customize the buffer size and parallelize the reads/writes. Also, a caller may want to implement fill blocks with their own logic as well. To do this add sparse_file_typed_callback which calls a different callback function depending on the type of the sparse chunk being written. Test: Use typed callback for fd writes Bug: 78793464 Change-Id: I75955a464fc05991f806339830fdfa05fda354b9
* [libsparse] Modernize codebase by replacing NULL with nullptrYi Kong2018-07-235-47/+47
| | | | | | | | Fixes -Wzero-as-null-pointer-constant warning. Test: m Bug: 68236239 Change-Id: I43dae734817cae7a260ffc7afcd85fbd4451eddf
* Merge "libsparse: add OWNERS."Treehugger Robot2018-06-131-0/+1
|\
| * libsparse: add OWNERS.Elliott Hughes2018-06-131-0/+1
| | | | | | | | | | | | Bug: N/A Test: N/A Change-Id: Ie26da2ff47de4cef20050b996a04d53c2b5c358f
* | libsparse: Add .clang-format and reformat to google3 styleJerry Zhang2018-06-1318-2123/+1940
| | | | | | | | | | | | Bug: 78793464 Test: compiles Change-Id: I8e44ba77195a12fc2bac7d4276bbc4aa95149b31
* | libsparse: Change source files to cppJerry Zhang2018-06-1311-42/+37
| | | | | | | | | | | | Bug: 78793464 Test: compiles Change-Id: Ib8b933fe3ccb8dfa49a77f7955891678bf0df086
* | libsparse: Add method to create sparse file from bufferJerry Zhang2018-06-072-39/+185
|/ | | | | | | | | | | | Refactor elements of sparse file parsing that depend on an fd into SparseFileSource class, then create implementations using both fd and buffer. Add sparse_file_read_buf which reads the given buffer into a sparse file cookie without copying. Test: flash system with sparse images Bug: 78793464 Change-Id: Ice6c8e1ff075d6867e070f80fcf5aa4f530a1b95
* Build adbd for recoveryJiyong Park2018-05-241-0/+1
| | | | | | | | | | | | | adbd (and its dependencies) are marked as recovery_available:true so that recovery version of the binary is built separately from the one for system partition. This allows us to stop copying the system version to the recovery partition and also opens up the way to enable shared libraries in the recovery partition. Then we can also build adbd as a dynamic executable. Bug: 79146551 Test: m -j adbd.recovery Change-Id: Ib95614c7435f9d0afc02a0c7d5ae1a94e439e32a
* libsparse: Use 'size_t' for the 'len' parameter in callbacks.Tao Bao2018-04-254-11/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This CL updates the callback function signature in sparse_file_callback() and sparse_file_foreach_chunk(). Before: int sparse_file_callback( struct sparse_file *s, bool sparse, bool crc, int (*write)(void *priv, const void *data, int len), void *priv); int sparse_file_foreach_chunk( struct sparse_file *s, bool sparse, bool crc, int (*write)( void *priv, const void *data, int len, unsigned int block, unsigned int nr_blocks), void *priv); After: int sparse_file_callback( struct sparse_file *s, bool sparse, bool crc, int (*write)(void *priv, const void *data, size_t len), void *priv); int sparse_file_foreach_chunk( struct sparse_file *s, bool sparse, bool crc, int (*write)( void *priv, const void *data, size_t len, unsigned int block, unsigned int nr_blocks), void *priv); The length (i.e. 'len') comes from the size of a chunk, which could be legitimately larger than INT_MAX. Prior to this CL, callers (e.g. write_sparse_data_chunk()) were already passing unsigned int to the callbacks. When a chunk size exceeds INT_MAX, the callback would see a negative value, which could lead to undesired behavior. For example, out_counter_write(), as one of the internal callbacks in libsparse, gives a wrong sum of chunk sizes, which in turn fails the fastboot flashing when given a huge sparse image. It also defines SPARSE_CALLBACK_USES_SIZE_T that allows clients to keep their codes compatibile with both versions. Bug: 78432315 Test: `m dist` (with matching changes to all the clients) Test: Build fastboot and successfully flash a previously failing (huge) sparse image. Change-Id: Iac4bcf7b57039d08af3c57f4be00d75f6b693d93
* Merge "<stdbool.h> not necessary in C++."Treehugger Robot2017-10-171-1/+0
|\
| * <stdbool.h> not necessary in C++.Elliott Hughes2017-10-171-1/+0
| | | | | | | | | | | | | | Bug: N/A Test: builds Change-Id: I1f32b202e353414e74ace87a7d5b495b5deb5f99 Merged-In: I1f32b202e353414e74ace87a7d5b495b5deb5f99
* | libsparse: fix building on linux host.Xiaolei Yu2017-10-111-0/+1
| | | | | | | | | | | | | | | | memset is declared in <string.h> Test: builds and works on host Change-Id: I224a01c78ee1d0c2f8d5e86eef10c84c8960cbc0
* | Rename libz-host -> libzDan Willemsen2017-09-271-12/+4
|/ | | | | Test: m host Change-Id: Ib276431d13b3e1bd243f84a80f69aafc12e71aac
* Merge "libsparse: Fix odd-sized input files total_blks" am: 652ce94f40 am: ↵Chris Fries2017-04-191-1/+1
|\ | | | | | | | | | | | | | | ab74c778df am: cbd8d9d4f5 Change-Id: I3c7afcd7a3a3bab4460123751d0a5696cb1892c6
| * libsparse: Fix odd-sized input files total_blksChris Fries2017-04-191-1/+1
| | | | | | | | | | | | | | | | | | | | If the input file isn't a multiple of block_size, count the trailing bit as a block in the output, otherwise bootloader will try to write past the last declared block in the sparse file. Test: Run sparse_test Bug: 37339998 Change-Id: Iec143107d15795c6a6f4d3ea7b7515f6f16adcae
* | Merge "libsparse: Fix verbose_error string usage" am: 0bdf6539d6 am: 006ea1aebcChris Fries2017-04-185-53/+60
|\| | | | | | | | | | | am: 5a07296873 Change-Id: I0e96c2b6212b115e4a3098cf462d5e5686a6de4a
| * libsparse: Fix verbose_error string usageChris Fries2017-04-185-53/+60
| | | | | | | | | | | | | | | | | | Switch vnsprintf to StringPrintf to avoid off-by-one, and switch sparse_read.c to cpp. Test: fastboot flash normal image with smaller sparse limit Change-Id: Ia399b167625deb271bfd0ee3273071306d71c4d4
* | Remove "_host" and "_static" suffix from libsparse definition. am: ↵Alex Deymo2017-01-121-24/+13
|\| | | | | | | | | | | | | | | b0c395955d am: 7b8d66e7cc am: 11b65cf3be am: 092a732ef2 Change-Id: I3d9639af9f9f66742660edbbf62f73909c0d6915
| * Remove "_host" and "_static" suffix from libsparse definition.Alex Deymo2017-01-111-24/+13
| | | | | | | | | | | | | | | | | | | | | | | | This now combines all the "libsparse" libraries into the same soong target. A minor side-effect of this change is that the libsparse static library depends on the libz shared library instead of the libz static library. This minor change has no effect since targets using the static libsparse library need to explicitly include either the static libz or the shared one. Bug: 34220783 Change-Id: I8f41586cf4c3336791cfa57ab4f5ae59a76d7ffa
* | Manually merge commit '61e74d7' into stage-aosp-master am: 9f9a239ca3 am: ↵Adrien Schildknecht2016-12-032-0/+81
|\| | | | | | | | | | | | | | | aec7316546 am: 669716d27c Change-Id: I75f9c115fe178008174f1fea8cb8b890b83c2543
| * libsparse: add a function to retrieve the data blocksAdrien Schildknecht2016-11-302-0/+81
| | | | | | | | | | | | Test: m libsparse Change-Id: I04bd3912bb4364e591b064ec2aab782cf02f6bd7
* | Merge "libsparse: output_file.c, fix large data chunk issue" am: 62c9101646 ↵Colin Cross2016-10-071-21/+30
|\| | | | | | | | | | | | | | | am: faaeda8e12 am: 4179f2ec65 am: c0422d1b2a Change-Id: I812e1f268fa8c3a1ba8b5555319424cadf07a707
| * libsparse: output_file.c, fix large data chunk issueJeremy Compostella2016-10-061-21/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CHUNK_HEADER structure type allows DATA chunk to be up to MAX_UINT large. The write() callback LEN parameter should be unsigned int. Also: - write() callback should continue to write data if less than expected data have been written. - gzerror() returns LEN on success, 0 otherwise Test: manual Change-Id: Id46d664b84c1a506f419524fe28055f784c2ae7a Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
* | Merge "Test for _WIN32 in instead of USE_MINGW." am: ec99158580 am: ↵Elliott Hughes2016-10-052-4/+4
|\| | | | | | | | | | | | | | | 2e7e065db9 am: 04819403d6 am: c9dc124e2f Change-Id: I2cfb73fc12da1bb6396bfdd8f638b9ce977f84bc
| * Test for _WIN32 in instead of USE_MINGW.Elliott Hughes2016-10-052-4/+4
| | | | | | | | | | | | Bug: http://b/23392815 Test: builds Change-Id: I7fce8de1f0e2314170cce456cd49346dcee9d134