From 64951b513b01688492464520694420c214d1a159 Mon Sep 17 00:00:00 2001 From: XeonSquared Date: Fri, 6 Oct 2023 19:00:57 +1000 Subject: [PATCH] add some requires and type casts to make diskpart and fdisk work on OpenOS without modification --- diskpart/lib/diskpart.lua | 1 + fdisk/exec/fdisk.lua | 14 +++++++++----- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/diskpart/lib/diskpart.lua b/diskpart/lib/diskpart.lua index 9f1b9bf..c7c2d88 100644 --- a/diskpart/lib/diskpart.lua +++ b/diskpart/lib/diskpart.lua @@ -1,3 +1,4 @@ +local component = require "component" local partition = {} local eformat = "c20c4>I4>I4" diff --git a/fdisk/exec/fdisk.lua b/fdisk/exec/fdisk.lua index 4189026..e142887 100644 --- a/fdisk/exec/fdisk.lua +++ b/fdisk/exec/fdisk.lua @@ -1,3 +1,4 @@ +local component = require "component" local tA = {...} local fdisk = {} local addr = component.get(table.remove(tA, 1)) @@ -15,15 +16,18 @@ function fdisk.show() end function fdisk.del(i) local pt = require("diskpart").getPartitions(addr) - table.remove(pt, i) + table.remove(pt, tonumber(i)) + require("diskpart").setPartitions(addr, pt) + fdisk.show() +end +function fdisk.set(id, name, ftype, start, len) + local pt = require("diskpart").getPartitions(addr) + pt[tonumber(id)] = {name, ftype, tonumber(start), tonumber(len)} require("diskpart").setPartitions(addr, pt) fdisk.show() end function fdisk.add(name, ftype, start, len) - local pt = require("diskpart").getPartitions(addr) - pt[#pt+1] = {name, ftype, start, len} - require("diskpart").setPartitions(addr, pt) - fdisk.show() + fdisk.set(#require("diskpart").getPartitions(addr)+1, name, ftype, start, len) end assert(fdisk[cmd], "unknown command")