summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGwenole Beauchesne <gwenole.beauchesne@intel.com>2012-10-22 16:13:51 -0400
committerXiang, Haihao <haihao.xiang@intel.com>2012-10-23 10:57:02 +0800
commitef4f002ba242786ecee74764577d9556ccc4a325 (patch)
tree53d3153757c690a1ebd1fdce9b00cd5f4da7fce5
parent7e40f7d8815170a549db2b80ca74dc74d2b8bf11 (diff)
Allow Gen version decimals.
This is preparatory work for Haswell (Gen 7.5). Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
-rw-r--r--src/main.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/main.c b/src/main.c
index 82e395c..ef2afc4 100644
--- a/src/main.c
+++ b/src/main.c
@@ -287,8 +287,22 @@ int main(int argc, char **argv)
break;
- case 'g':
- gen_level = strtol(optarg, NULL, 0) * 10;
+ case 'g': {
+ char *dec_ptr, *end_ptr;
+ unsigned long decimal;
+
+ gen_level = strtol(optarg, &dec_ptr, 10) * 10;
+
+ if (*dec_ptr == '.') {
+ decimal = strtoul(++dec_ptr, &end_ptr, 10);
+ if (end_ptr != dec_ptr && *end_ptr == '\0') {
+ if (decimal > 10) {
+ fprintf(stderr, "Invalid Gen X decimal version\n");
+ exit(1);
+ }
+ gen_level += decimal;
+ }
+ }
if (gen_level < 40 || gen_level > 70) {
usage();
@@ -296,6 +310,7 @@ int main(int argc, char **argv)
}
break;
+ }
case 'a':
advanced_flag = 1;