for (;;)
{
+#ifdef RPM_CARET_DEPS
+ while (s1 < q1 && !(*s1 >= '0' && *s1 <= '9') &&
+ !(*s1 >= 'a' && *s1 <= 'z') && !(*s1 >= 'A' && *s1 <= 'Z') && *s1 != '~' && *s1 != '^')
+ s1++;
+ while (s2 < q2 && !(*s2 >= '0' && *s2 <= '9') &&
+ !(*s2 >= 'a' && *s2 <= 'z') && !(*s2 >= 'A' && *s2 <= 'Z') && *s2 != '~' && *s2 != '^')
+ s2++;
+ if (s1 < q1 && *s1 == '^')
+ {
+ if (s2 < q2 && *s2 == '^')
+ {
+ s1++;
+ s2++;
+ continue;
+ }
+ return s2 < q2 ? -1 : 1;
+ }
+ if (s2 < q2 && *s2 == '^')
+ return s1 < q1 ? 1 : -1;
+#else
while (s1 < q1 && !(*s1 >= '0' && *s1 <= '9') &&
!(*s1 >= 'a' && *s1 <= 'z') && !(*s1 >= 'A' && *s1 <= 'Z') && *s1 != '~')
s1++;
while (s2 < q2 && !(*s2 >= '0' && *s2 <= '9') &&
!(*s2 >= 'a' && *s2 <= 'z') && !(*s2 >= 'A' && *s2 <= 'Z') && *s2 != '~')
s2++;
+#endif
if (s1 < q1 && *s1 == '~')
{
if (s2 < q2 && *s2 == '~')