diff options
-rw-r--r-- | URPM.xs | 9 |
1 files changed, 3 insertions, 6 deletions
@@ -329,13 +329,10 @@ print_list_entry(char *buff, int sz, const char *name, rpmsenseFlags flags, cons len = strlen(evr); if (len > 0) { if (p - buff + 6 + len >= sz) return -1; + static const char *Fstr[] = { "?0","<",">","?3","==","<=",">=","?7" }; + uint32_t Fx = ((flags >> 1) & 0x7); *p++ = '['; - if (flags & RPMSENSE_LESS) *p++ = '<'; - if (flags & RPMSENSE_GREATER) *p++ = '>'; - if (flags & RPMSENSE_EQUAL) *p++ = '='; - if ((flags & (RPMSENSE_LESS|RPMSENSE_EQUAL|RPMSENSE_GREATER)) == RPMSENSE_EQUAL) *p++ = '='; - *p++ = ' '; - memcpy(p, evr, len); p+= len; + p = stpcpy( stpcpy( stpcpy(p, Fstr[Fx]), " "), evr); *p++ = ']'; } } |