Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 21 Jun 2017 08:36:27 GMT
From:      kneitinger@FreeBSD.org
To:        svn-soc-all@FreeBSD.org
Subject:   socsvn commit: r323787 - soc2017/kneitinger/libbe-head/usr.bin/be
Message-ID:  <201706210836.v5L8aRgP099022@socsvn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kneitinger
Date: Wed Jun 21 08:36:27 2017
New Revision: 323787
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=323787

Log:
  Add parser for be list command
  

Modified:
  soc2017/kneitinger/libbe-head/usr.bin/be/be.c

Modified: soc2017/kneitinger/libbe-head/usr.bin/be/be.c
==============================================================================
--- soc2017/kneitinger/libbe-head/usr.bin/be/be.c	Wed Jun 21 08:27:33 2017	(r323786)
+++ soc2017/kneitinger/libbe-head/usr.bin/be/be.c	Wed Jun 21 08:36:27 2017	(r323787)
@@ -129,6 +129,7 @@
 	if(argc != 1) {
 		fprintf(stderr, "be activate: wrong number of arguments\n");
 		usage(false);
+		return(EX_USAGE);
 	}
 
 	bootenv = argv[0];
@@ -206,7 +207,44 @@
 static int
 be_list( int argc, char *argv[])
 {
-	return(EX_USAGE);
+	int opt;
+	bool show_all_datasets, show_space, hide_headers, show_snaps;
+	char *bootenv;
+
+	show_all_datasets = show_space = hide_headers = show_snaps = false;
+	while((opt = getopt(argc, argv, "aDHs")) != -1) {
+		switch(opt) {
+		case 'a':
+			show_all_datasets = true;
+			break;
+		case 'D':
+			show_space = true;
+			break;
+		case 'H':
+			hide_headers = true;
+			break;
+		case 's':
+			show_space = true;
+			break;
+		default:
+			fprintf(stderr, "be list: unknown option '-%c'\n",
+			    optopt);
+			usage(false);
+			return(EX_USAGE);
+		}
+	}
+
+	argc -= optind;
+
+	if(argc != 0) {
+		fprintf(stderr, "be list: extra argument provided\n");
+		usage(false);
+		return(EX_USAGE);
+	}
+
+	/* list logic goes here */
+
+	return 0;
 }
 
 static int



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201706210836.v5L8aRgP099022>