vty/command: restrict the use of '.', '!', and '@' as flags

Change-Id: Icb4acbab0a15de2b0ed7b88fb0e227675317146a
Related: SYS#4937
diff --git a/src/vty/vty.c b/src/vty/vty.c
index d12efa0..f4e8e80 100644
--- a/src/vty/vty.c
+++ b/src/vty/vty.c
@@ -1810,6 +1810,15 @@
 		if (app_info->usr_attr_letters[i] == '\0')
 			continue;
 
+		/* Some flag characters are reserved for global attributes */
+		const char rafc[] = VTY_CMD_ATTR_FLAGS_RESERVED;
+		for (j = 0; j < ARRAY_SIZE(rafc); j++) {
+			if (app_info->usr_attr_letters[i] != rafc[j])
+				continue;
+			fprintf(stderr, "Attribute flag character '%c' is reserved "
+				"for globals! Please fix.\n", app_info->usr_attr_letters[i]);
+		}
+
 		/* Upper case flag letters are reserved for libraries */
 		if (app_info->usr_attr_letters[i] >= 'A' &&
 		    app_info->usr_attr_letters[i] <= 'Z') {