summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornijtmans@users.sourceforge.net <jan.nijtmans>2012-08-17 10:28:34 (GMT)
committernijtmans@users.sourceforge.net <jan.nijtmans>2012-08-17 10:28:34 (GMT)
commit7b13e4eed47df35b892660aef64208bcc4ddd028 (patch)
treee26b3b0e5c6700b1f4ff4504aad2b697d216a3a7
parenta4743a16b167b0ff30f429d1cd0f3504530f8f1d (diff)
parent5a9f8ff6c094b5064bb9b1675dc8480a91a19e9c (diff)
downloadtk-7b13e4eed47df35b892660aef64208bcc4ddd028.zip
tk-7b13e4eed47df35b892660aef64208bcc4ddd028.tar.gz
tk-7b13e4eed47df35b892660aef64208bcc4ddd028.tar.bz2
nmakehlp: Add "-V<num>" option, in order to be able to detect partial version numbers
-rw-r--r--ChangeLog5
-rw-r--r--win/nmakehlp.c10
2 files changed, 11 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 84af54c..e2a30f7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-08-17 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * win/nmakehlp.c: Add "-V<num>" option, in order to be able
+ to detect partial version numbers.
+
2012-08-15 Jan Nijtmans <nijtmans@users.sf.net>
* win/buildall.vc.bat: Only build the threaded builds by default
diff --git a/win/nmakehlp.c b/win/nmakehlp.c
index 2868857..d0edcf0 100644
--- a/win/nmakehlp.c
+++ b/win/nmakehlp.c
@@ -47,7 +47,7 @@ static int CheckForLinkerFeature(const char *option);
static int IsIn(const char *string, const char *substring);
static int SubstituteFile(const char *substs, const char *filename);
static int QualifyPath(const char *path);
-static const char *GetVersionFromFile(const char *filename, const char *match);
+static const char *GetVersionFromFile(const char *filename, const char *match, int numdots);
static DWORD WINAPI ReadFromPipe(LPVOID args);
/* globals */
@@ -153,7 +153,7 @@ main(
&dwWritten, NULL);
return 0;
}
- printf("%s\n", GetVersionFromFile(argv[2], argv[3]));
+ printf("%s\n", GetVersionFromFile(argv[2], argv[3], *(argv[1]+2) - '0'));
return 0;
case 'Q':
if (argc != 3) {
@@ -479,7 +479,8 @@ IsIn(
static const char *
GetVersionFromFile(
const char *filename,
- const char *match)
+ const char *match,
+ int numdots)
{
size_t cbBuffer = 100;
static char szBuffer[100];
@@ -509,7 +510,8 @@ GetVersionFromFile(
*/
q = p;
- while (*q && (isalnum(*q) || *q == '.')) {
+ while (*q && (strchr("0123456789.ab", *q)) && ((!strchr(".ab", *q)
+ && (!strchr("ab", q[-1])) || --numdots))) {
++q;
}