hachem.wtf
aboutsummaryrefslogtreecommitdiff
path: root/gils/cp.rv
blob: 6fd06a852113e92efb43c119d0706feed3138404 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# copy a file not cyberpunk
# HAAAAAANNNNKKKK

const context = env.ctx

if context.argv:len() < 3 do
  fail("usage: cp <source> <destination>\n")
end else do
  const source = expand_path(context.argv[1])
  const destination = expand_path(context.argv[2])
  const size = fs:size(source)

  if size < 0 do
    fail("cp: #{source}: no such file\n")
  end else do
    const contents = if (size > 0) fs:read_bytes(source, 0, size) else ""
    if (fs:store(destination, contents) == 1)
      puts("#{source} -> #{destination}\n")
  end
end