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

Commit e6936e27 authored by Elliott Hughes's avatar Elliott Hughes Committed by android-build-merger
Browse files

Merge "Move off ZipString and over to std::string/std::string_view as...

Merge "Move off ZipString and over to std::string/std::string_view as appropriate." into qt-dev-plus-aosp am: ee1c95f0
am: 0566225c

Change-Id: I351ea009ee322ecd8bd117e4b2b686c636fb6770
parents 31d749f0 0566225c
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -216,7 +216,7 @@ bool ApkAssets::ForEachFile(const std::string& root_path,
    return false;
  }

  ::ZipString name;
  std::string name;
  ::ZipEntry entry;

  // We need to hold back directories because many paths will contain them and we want to only
@@ -225,7 +225,7 @@ bool ApkAssets::ForEachFile(const std::string& root_path,

  int32_t result;
  while ((result = ::Next(cookie, &entry, &name)) == 0) {
    StringPiece full_file_path(reinterpret_cast<const char*>(name.name), name.name_length);
    StringPiece full_file_path(name);
    StringPiece leaf_file_path = full_file_path.substr(root_path_full.size());

    if (!leaf_file_path.empty()) {
+4 −4
Original line number Diff line number Diff line
@@ -39,7 +39,7 @@ using namespace android;
class _ZipEntryRO {
public:
    ZipEntry entry;
    ZipString name;
    std::string_view name;
    void *cookie;

    _ZipEntryRO() : cookie(NULL) {}
@@ -96,7 +96,7 @@ ZipEntryRO ZipFileRO::findEntryByName(const char* entryName) const
{
    _ZipEntryRO* data = new _ZipEntryRO;

    data->name = ZipString(entryName);
    data->name = entryName;

    const int32_t error = FindEntry(mHandle, entryName, &(data->entry));
    if (error) {
@@ -194,14 +194,14 @@ int ZipFileRO::getEntryFileName(ZipEntryRO entry, char* buffer, size_t bufLen)
    const
{
    const _ZipEntryRO* zipEntry = reinterpret_cast<_ZipEntryRO*>(entry);
    const uint16_t requiredSize = zipEntry->name.name_length + 1;
    const uint16_t requiredSize = zipEntry->name.length() + 1;

    if (bufLen < requiredSize) {
        ALOGW("Buffer too short, requires %d bytes for entry name", requiredSize);
        return requiredSize;
    }

    memcpy(buffer, zipEntry->name.name, requiredSize - 1);
    memcpy(buffer, zipEntry->name.data(), requiredSize - 1);
    buffer[requiredSize - 1] = '\0';

    return 0;
+1 −1
Original line number Diff line number Diff line
@@ -132,7 +132,7 @@ TEST_F(ConvertTest, DuplicateEntriesWrittenOnce) {
  int count = 0;

  // Can't pass nullptrs into Next()
  ZipString zip_name;
  std::string zip_name;
  ZipEntry zip_data;

  while ((result = Next(cookie, &zip_data, &zip_name)) == 0) {
+2 −6
Original line number Diff line number Diff line
@@ -123,13 +123,9 @@ std::unique_ptr<ZipFileCollection> ZipFileCollection::Create(
  using IterationEnder = std::unique_ptr<void, decltype(EndIteration)*>;
  IterationEnder iteration_ender(cookie, EndIteration);

  ZipString zip_entry_name;
  std::string zip_entry_path;
  ZipEntry zip_data;
  while ((result = Next(cookie, &zip_data, &zip_entry_name)) == 0) {
    std::string zip_entry_path =
        std::string(reinterpret_cast<const char*>(zip_entry_name.name),
                    zip_entry_name.name_length);

  while ((result = Next(cookie, &zip_data, &zip_entry_path)) == 0) {
    // Do not add folders to the file collection
    if (util::EndsWith(zip_entry_path, "/")) {
      continue;