80 return is_unlocked_ext(); |
80 return is_unlocked_ext(); |
81 } |
81 } |
82 } |
82 } |
83 |
83 |
84 bool Flag::is_writeable() const { |
84 bool Flag::is_writeable() const { |
85 return (strcmp(kind, "{manageable}") == 0 || strcmp(kind, "{product rw}") == 0); |
85 return strcmp(kind, "{manageable}") == 0 || |
86 } |
86 strcmp(kind, "{product rw}") == 0 || |
87 |
87 is_writeable_ext(); |
88 // All flags except "manageable" are assumed internal flags. |
88 } |
|
89 |
|
90 // All flags except "manageable" are assumed to be internal flags. |
89 // Long term, we need to define a mechanism to specify which flags |
91 // Long term, we need to define a mechanism to specify which flags |
90 // are external/stable and change this function accordingly. |
92 // are external/stable and change this function accordingly. |
91 bool Flag::is_external() const { |
93 bool Flag::is_external() const { |
92 return (strcmp(kind, "{manageable}") == 0); |
94 return strcmp(kind, "{manageable}") == 0 || is_external_ext(); |
93 } |
95 } |
|
96 |
94 |
97 |
95 // Length of format string (e.g. "%.1234s") for printing ccstr below |
98 // Length of format string (e.g. "%.1234s") for printing ccstr below |
96 #define FORMAT_BUFFER_LEN 16 |
99 #define FORMAT_BUFFER_LEN 16 |
97 |
100 |
98 void Flag::print_on(outputStream* st, bool withComments) { |
101 void Flag::print_on(outputStream* st, bool withComments) { |