-
-bool do_password_set (int nb, const char **com, struct ngadmin *nga) {
-
- int i;
- char buf[64];
- const char *pass;
-
-
- if ( nb>1 ) {
- printf("Usage: password set [<value>]\n");
- return false;
- }
-
-
- if ( nb==0 ) {
- printf("Enter password: ");
- fflush(stdout);
- current_term.c_lflag&=~ECHO;
- tcsetattr(STDIN_FILENO, TCSANOW, ¤t_term);
- pass=fgets(buf, sizeof(buf), stdin);
- trim(buf, strlen(buf));
- current_term.c_lflag|=ECHO;
- tcsetattr(STDIN_FILENO, TCSANOW, ¤t_term);
- putchar('\n');
- } else {
- pass=com[0];
- }
-
-
- if ( pass!=NULL ) {
- i=ngadmin_setPassword(nga, pass);
- printErrCode(i);
- }
-
-
-
- return true;
-
+bool do_password_set (int argc, const char **argv, struct ngadmin *nga)
+{
+ int i;
+ char buf[64];
+ const char *pass;
+
+
+ if (argc > 1) {
+ printf("usage: password set [<value>]\n");
+ return false;
+ }
+
+ if (argc == 0) {
+ printf("Enter password: ");
+ fflush(stdout);
+ current_term.c_lflag &= ~ECHO;
+ tcsetattr(STDIN_FILENO, TCSANOW, ¤t_term);
+ pass = fgets(buf, sizeof(buf), stdin);
+ trim(buf, strlen(buf));
+ current_term.c_lflag |= ECHO;
+ tcsetattr(STDIN_FILENO, TCSANOW, ¤t_term);
+ putchar('\n');
+ } else {
+ pass = argv[0];
+ }
+
+ if (pass != NULL) {
+ i = ngadmin_setPassword(nga, pass);
+ printErrCode(i);
+ }
+
+
+ return true;