<literal>operator</literal> is one of <literal><</literal>, <literal><=</literal>,
<literal>>=</literal>, <literal>></literal>, <literal>==</literal>,
<literal><></literal> for version comparison, <literal>=</literal> and <literal>!=</literal>
- for literal string comparison, or <literal>=$</literal>, <literal>!=$</literal> for shell-style
+ for literal string comparison, or <literal>$=</literal>, <literal>!$=</literal> for shell-style
glob comparison. <literal>value</literal> is the expected value of the SMBIOS field value
- (possibly containing shell style globs in case <literal>=$</literal>/<literal>!=$</literal> is
+ (possibly containing shell style globs in case <literal>$=</literal>/<literal>!$=</literal> is
used).</para>
</listitem>
</varlistentry>
expressions. Each expression starts with one of <literal>=</literal> or <literal>!=</literal> for
string comparisons, <literal><</literal>, <literal><=</literal>, <literal>==</literal>,
<literal><></literal>, <literal>>=</literal>, <literal>></literal> for a relative
- version comparison, or <literal>=$</literal>, <literal>!=$</literal> for a shell-style glob
- match. If no operator is specified <literal>=$</literal> is implied.</para>
+ version comparison, or <literal>$=</literal>, <literal>!$=</literal> for a shell-style glob
+ match. If no operator is specified <literal>$=</literal> is implied.</para>
<para>Note that using the kernel version string is an unreliable way to determine which features
are supported by a kernel, because of the widespread practice of backporting drivers, features, and
with <literal><</literal>, <literal><=</literal>, <literal>==</literal>,
<literal><></literal>, <literal>>=</literal>, <literal>></literal>), and shell-style
wildcard comparisons (<literal>*</literal>, <literal>?</literal>, <literal>[]</literal>) are
- supported with the <literal>=$</literal> (match) and <literal>!=$</literal> (non-match).</para>
+ supported with the <literal>$=</literal> (match) and <literal>!$=</literal> (non-match).</para>
</listitem>
</varlistentry>
CompareOperatorParseFlags valid_mask; /* If this operator appears when flags in mask not set, fail */
CompareOperatorParseFlags need_mask; /* Skip over this operattor when flags in mask not set */
} table[] = {
- { COMPARE_FNMATCH_EQUAL, "=$", .valid_mask = COMPARE_ALLOW_FNMATCH },
- { COMPARE_FNMATCH_UNEQUAL, "!=$", .valid_mask = COMPARE_ALLOW_FNMATCH },
+ { COMPARE_FNMATCH_EQUAL, "$=", .valid_mask = COMPARE_ALLOW_FNMATCH },
+ { COMPARE_FNMATCH_UNEQUAL, "!$=", .valid_mask = COMPARE_ALLOW_FNMATCH },
{ COMPARE_UNEQUAL, "<>" },
{ COMPARE_LOWER_OR_EQUAL, "<=" },
const char *quote = strchr(bios_vendor, ' ') ? "\"" : "";
/* Test equality / inequality using fnmatch() */
- expression = strjoina("smbios-field(bios_vendor =$ ", quote, bios_vendor, quote, ")");
+ expression = strjoina("smbios-field(bios_vendor $= ", quote, bios_vendor, quote, ")");
condition = condition_new(CONDITION_FIRMWARE, expression, false, false);
assert_se(condition);
assert_se(condition_test(condition, environ) > 0);
condition_free(condition);
- expression = strjoina("smbios-field(bios_vendor=$", quote, bios_vendor, quote, ")");
+ expression = strjoina("smbios-field(bios_vendor$=", quote, bios_vendor, quote, ")");
condition = condition_new(CONDITION_FIRMWARE, expression, false, false);
assert_se(condition);
assert_se(condition_test(condition, environ) > 0);
condition_free(condition);
- expression = strjoina("smbios-field(bios_vendor !=$ ", quote, bios_vendor, quote, ")");
+ expression = strjoina("smbios-field(bios_vendor !$= ", quote, bios_vendor, quote, ")");
condition = condition_new(CONDITION_FIRMWARE, expression, false, false);
assert_se(condition);
assert_se(condition_test(condition, environ) == 0);
condition_free(condition);
- expression = strjoina("smbios-field(bios_vendor!=$", quote, bios_vendor, quote, ")");
+ expression = strjoina("smbios-field(bios_vendor!$=", quote, bios_vendor, quote, ")");
condition = condition_new(CONDITION_FIRMWARE, expression, false, false);
assert_se(condition);
assert_se(condition_test(condition, environ) == 0);
condition_free(condition);
- expression = strjoina("smbios-field(bios_vendor =$ ", quote, bios_vendor, "*", quote, ")");
+ expression = strjoina("smbios-field(bios_vendor $= ", quote, bios_vendor, "*", quote, ")");
condition = condition_new(CONDITION_FIRMWARE, expression, false, false);
assert_se(condition);
assert_se(condition_test(condition, environ) > 0);
condition_free(condition);
/* Test fnmatch() operators */
- key_value_pair = strjoina(os_release_pairs[0], "=$", quote, os_release_pairs[1], quote);
+ key_value_pair = strjoina(os_release_pairs[0], "$=", quote, os_release_pairs[1], quote);
condition = condition_new(CONDITION_OS_RELEASE, key_value_pair, false, false);
assert_se(condition);
assert_se(condition_test(condition, environ) > 0);
condition_free(condition);
- key_value_pair = strjoina(os_release_pairs[0], "!=$", quote, os_release_pairs[1], quote);
+ key_value_pair = strjoina(os_release_pairs[0], "!$=", quote, os_release_pairs[1], quote);
condition = condition_new(CONDITION_OS_RELEASE, key_value_pair, false, false);
assert_se(condition);
assert_se(condition_test(condition, environ) == 0);