AV *av;
I32 i;
- if (!arg || !SvOK (arg) || !SvROK (arg) || SvTYPE (SvRV (arg)) != SVt_PVAV) {
+ if (!arg || !SvOK (arg) || !SvROK (arg) || SvTYPE (SvRV (arg)) != SVt_PVAV)
croak ("array reference expected");
- }
av = (AV *)SvRV (arg);
- ret = (char **)malloc (av_len (av) + 1 + 1);
+ ret = malloc (av_len (av) + 1 + 1);
+ if (!ret)
+ croak ("malloc failed");
for (i = 0; i <= av_len (av); i++) {
SV **elem = av_fetch (av, i, 0);
OUTPUT:
RETVAL
+SV *
+fsck (g, fstype, device)
+ guestfs_h *g;
+ char *fstype;
+ char *device;
+PREINIT:
+ int status;
+ CODE:
+ status = guestfs_fsck (g, fstype, device);
+ if (status == -1)
+ croak ("fsck: %s", guestfs_last_error (g));
+ RETVAL = newSViv (status);
+ OUTPUT:
+ RETVAL
+
+void
+zero (g, device)
+ guestfs_h *g;
+ char *device;
+PREINIT:
+ int r;
+ PPCODE:
+ r = guestfs_zero (g, device);
+ if (r == -1)
+ croak ("zero: %s", guestfs_last_error (g));
+
+void
+grub_install (g, root, device)
+ guestfs_h *g;
+ char *root;
+ char *device;
+PREINIT:
+ int r;
+ PPCODE:
+ r = guestfs_grub_install (g, root, device);
+ if (r == -1)
+ croak ("grub_install: %s", guestfs_last_error (g));
+