// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: version.cc,v 1.7 1998/11/28 20:50:24 jgg Exp $
+// $Id: version.cc,v 1.9 1999/04/19 06:03:09 jgg Exp $
/* ######################################################################
Version - Version string
static int iVersionCompare(const char *A, const char *AEnd, const char *B,
const char *BEnd)
{
- // cout << string(A,AEnd) << ',' << string(B,BEnd) << endl;
if (A >= AEnd && B >= BEnd)
return 0;
if (A >= AEnd)
for (;dlhs > lhs && *dlhs != '-'; dlhs--);
for (;drhs > rhs && *drhs != '-'; drhs--);
- if (dlhs == A)
+ if (dlhs == lhs)
dlhs = AEnd;
- if (drhs == B)
+ if (drhs == rhs)
drhs = BEnd;
// Compare the main version
return false;
}
/*}}}*/
+// BaseVersion - Return the upstream version string /*{{{*/
+// ---------------------------------------------------------------------
+/* This strips all the debian specific information from the version number */
+string pkgBaseVersion(const char *Ver)
+{
+ // Strip off the bit before the first colon
+ const char *I = Ver;
+ for (; *I != 0 && *I != ':'; I++);
+ if (*I == ':')
+ Ver = I + 1;
+
+ // Chop off the trailing -
+ I = Ver;
+ unsigned Last = strlen(Ver);
+ for (; *I != 0; I++)
+ if (*I == '-')
+ Last = I - Ver;
+
+ return string(Ver,Last);
+}
+ /*}}}*/