*add support for the new SVN 1.4.x binary format

svn path=/trunk/; revision=24006
This commit is contained in:
Christoph von Wittich 2006-09-09 20:38:41 +00:00
parent eb1866f25c
commit e10a07af00

View file

@ -3,6 +3,7 @@
* buildno - Generate the build number for ReactOS * buildno - Generate the build number for ReactOS
* *
* Copyright (c) 1999,2000 Emanuele Aliberti * Copyright (c) 1999,2000 Emanuele Aliberti
* Copyright (c) 2006 Christoph von Wittich
* *
* The build number is the day on which the build took * The build number is the day on which the build took
* place, as YYYYMMDD * place, as YYYYMMDD
@ -16,6 +17,8 @@
* *
* REVISIONS * REVISIONS
* --------- * ---------
* 2006-09-09 (cwittich)
* read binary entries files from SVN 1.4.x
* 2000-01-22 (ea) * 2000-01-22 (ea)
* Fixed bugs: tm_year is (current_year - 1900), * Fixed bugs: tm_year is (current_year - 1900),
* tm_month is 0-11 not 1-12 and code ignored TZ. * tm_month is 0-11 not 1-12 and code ignored TZ.
@ -176,6 +179,32 @@ GetRev(void)
static char Unknown[] = "UNKNOWN"; static char Unknown[] = "UNKNOWN";
static char Revision[10]; /* 999999999 revisions should be enough for everyone... */ static char Revision[10]; /* 999999999 revisions should be enough for everyone... */
/* SVN 1.4.x */
FILE *fp = NULL;
char ch;
size_t count = 0, chars = 0;
fp = fopen(".svn/entries", "r");
if (fp != NULL)
{
if (fgetc(fp) == 56) /* some kind of header? */
{
while((ch=fgetc(fp)) != EOF)
{
if (ch == 10) count++; /* seems to used as a seperator */
if (count > 3)
break;
if ((count == 3) && (chars < sizeof(Revision)))
{
if (chars != 0)
Revision[chars - 1] = ch;
chars++;
}
}
fclose(fp);
return Revision;
}
}
try try
{ {
XMLElement *head; XMLElement *head;