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

Commit 769a5a19 authored by Elliott Hughes's avatar Elliott Hughes Committed by Gerrit Code Review
Browse files

Merge "Use hasmntopt(3) rather than reinventing the wheel."

parents 9e8467a0 8c183882
Loading
Loading
Loading
Loading
+2 −22
Original line number Diff line number Diff line
@@ -42,24 +42,6 @@ typedef struct {
    struct mntent entry;
} mntent_list;

static bool has_mount_option(const char* opts, const char* opt_to_find)
{
  bool ret = false;
  char* copy = NULL;
  char* opt;
  char* rem;

  while ((opt = strtok_r(copy ? NULL : (copy = strdup(opts)), ",", &rem))) {
      if (!strcmp(opt, opt_to_find)) {
          ret = true;
          break;
      }
  }

  free(copy);
  return ret;
}

static bool is_block_device(const char* fsname)
{
    return !strncmp(fsname, "/dev/block", 10);
@@ -78,8 +60,7 @@ static void find_rw(struct listnode* rw_entries)
        return;
    }
    while ((mentry = getmntent(fp)) != NULL) {
        if (is_block_device(mentry->mnt_fsname) &&
            has_mount_option(mentry->mnt_opts, "rw")) {
        if (is_block_device(mentry->mnt_fsname) && hasmntopt(mentry, "rw")) {
            mntent_list* item = (mntent_list*)calloc(1, sizeof(mntent_list));
            item->entry = *mentry;
            item->entry.mnt_fsname = strdup(mentry->mnt_fsname);
@@ -170,8 +151,7 @@ static void remount_ro(void (*cb_on_remount)(const struct mntent*))
            goto out;
        }
        while ((mentry = getmntent(fp)) != NULL) {
            if (!is_block_device(mentry->mnt_fsname) ||
                !has_mount_option(mentry->mnt_opts, "ro")) {
            if (!is_block_device(mentry->mnt_fsname) || !hasmntopt(mentry, "ro")) {
                continue;
            }
            mntent_list* item = find_item(&rw_entries, mentry->mnt_fsname);