Fix bldr msg file open mode when offset specified

It was pointed out to me by gmrt that O_APPEND is incorrect, as lseek
before writing would be undone (perhaps we avoided this issue due to
an inability to write beyond the end of a partition) and O_RDWR is not
necessary to lseek. When AOSP switched from fopen to open, they also
removed the full partition wipe (fopen in wb mode) before each write,
so this is no longer an issue. Completely restore the original AOSP
file access mode flags.

Change-Id: I42b4efc5f499360ce5b761d3a2a5d4dac4cdfb65
1 file changed
tree: 574a1e22bada4c00034a58ba8657c52784925b43
  1. adbbu/
  2. applypatch/
  3. bmlutils/
  4. bootloader_message/
  5. crypto/
  6. digest/
  7. dosfstools/
  8. edify/
  9. etc/
  10. exfat/
  11. fb2png/
  12. flashutils/
  13. fonts/
  14. fuse/
  15. gpt/
  16. gui/
  17. htcdumlock/
  18. injecttwrp/
  19. libblkid/
  20. libcrecovery/
  21. libmincrypt/
  22. libpixelflinger/
  23. libtar/
  24. minadbd/
  25. minadbd.old/
  26. minui/
  27. minui.old/
  28. minuitwrp/
  29. minzip/
  30. mmcutils/
  31. mtdutils/
  32. mtp/
  33. openaes/
  34. orscmd/
  35. otafault/
  36. pigz/
  37. prebuilt/
  38. res/
  39. res-hdpi/
  40. res-mdpi/
  41. res-xhdpi/
  42. res-xxhdpi/
  43. res-xxxhdpi/
  44. scripts/
  45. sepolicy/
  46. simg2img/
  47. tests/
  48. toolbox/
  49. tools/
  50. toybox/
  51. twrpTarMain/
  52. uncrypt/
  53. update_verifier/
  54. updater/
  55. verifier24/
  56. .gitignore
  57. adb_install.cpp
  58. adb_install.h
  59. Android.mk
  60. asn1_decoder.cpp
  61. asn1_decoder.h
  62. bootloader.h
  63. CleanSpec.mk
  64. common.h
  65. data.cpp
  66. data.hpp
  67. default_device.cpp
  68. device.cpp
  69. device.h
  70. error_code.h
  71. exclude.cpp
  72. exclude.hpp
  73. find_file.cpp
  74. find_file.hpp
  75. fixContexts.cpp
  76. fixContexts.hpp
  77. fuse.h
  78. fuse_sdcard_provider.cpp
  79. fuse_sdcard_provider.h
  80. fuse_sideload.cpp
  81. fuse_sideload.h
  82. infomanager.cpp
  83. infomanager.hpp
  84. install.cpp
  85. install.h
  86. installcommand.cpp
  87. installcommand.h
  88. interlace-frames.py
  89. legacy_properties.h
  90. legacy_property_service.cpp
  91. legacy_property_service.h
  92. mounts.c
  93. mounts.h
  94. NOTICE
  95. openrecoveryscript.cpp
  96. openrecoveryscript.hpp
  97. partition.cpp
  98. partitionmanager.cpp
  99. partitions.hpp
  100. print_sha1.h
  101. progresstracking.cpp
  102. progresstracking.hpp
  103. README.md
  104. recovery-persist.cpp
  105. recovery-persist.rc
  106. recovery-refresh.cpp
  107. recovery-refresh.rc
  108. recovery.cpp
  109. recovery_ui.h
  110. roots.cpp
  111. roots.h
  112. screen_ui.cpp
  113. screen_ui.h
  114. set_metadata.cpp
  115. set_metadata.h
  116. tarWrite.c
  117. tarWrite.h
  118. tw_atomic.cpp
  119. tw_atomic.hpp
  120. twcommon.h
  121. twinstall.cpp
  122. twinstall.h
  123. twrp-functions.cpp
  124. twrp-functions.hpp
  125. twrp.cpp
  126. twrpDigest.cpp
  127. twrpDigest.hpp
  128. twrpTar.cpp
  129. twrpTar.h
  130. twrpTar.hpp
  131. ui.cpp
  132. ui.h
  133. unique_fd.h
  134. variables.h
  135. verifier.cpp
  136. verifier.h
  137. wear_touch.cpp
  138. wear_touch.h
  139. wear_ui.cpp
  140. wear_ui.h
README.md

Team Win Recovery Project (TWRP)

You can find a compiling guide here.