#define DEFUN_CMD_FUNC_TEXT(funcname) \ static int funcname \ (struct cmd_element *self, struct vty *vty, int argc, const char *argv[])
So the pointer to argv is const, but the elements in the array are not. Functions can in theory modify the elements of argv (just like argv in main()). I don't know if we have users of this API that are actually doing that, but as long as the API is defined like this it doesn't make sense for the linter to complain about using it correctly. Therefore, ignore STATIC_CONST_CHAR_ARRAY.