diff options
author | Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> | 2012-01-04 00:48:27 +0000 |
---|---|---|
committer | Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> | 2012-01-04 00:48:27 +0000 |
commit | 2d927fbd7bbfd6d03280757d447991a60c690c6e (patch) | |
tree | 7f14a4305d587d4ff56c1b3f764a9016dba5d03b /cbtable.c | |
parent | 9bcf2684d7781de71551ab14d3c3be46890ca432 (diff) | |
download | ast2050-flashrom-2d927fbd7bbfd6d03280757d447991a60c690c6e.zip ast2050-flashrom-2d927fbd7bbfd6d03280757d447991a60c690c6e.tar.gz |
Replace --mainboard with -p internal:mainboard
NOTE:
The --list-supported-wiki output changed to use -p internal:mainboard=
instead of -m
The --list-supported output changed the heading of the mainboard list
from
Vendor Board Status Required option
to
Vendor Board Status Required value for
-p internal:mainboard=
Fix lb_vendor_dev_from_string() not to write to the supplied string.
Corresponding to flashrom svn r1483.
Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Diffstat (limited to 'cbtable.c')
-rw-r--r-- | cbtable.c | 19 |
1 files changed, 14 insertions, 5 deletions
@@ -33,18 +33,27 @@ char *lb_part = NULL, *lb_vendor = NULL; int partvendor_from_cbtable = 0; -void lb_vendor_dev_from_string(char *boardstring) +/* Parse the [<vendor>:]<board> string specified by the user as part of + * -p internal:mainboard=[<vendor>:]<board> and set lb_vendor and lb_part + * to the extracted values. + * Note: strtok modifies the original string, so we work on a copy and allocate + * memory for lb_vendor and lb_part with strdup. + */ +void lb_vendor_dev_from_string(const char *boardstring) { + /* strtok may modify the original string. */ + char *tempstr = strdup(boardstring); char *tempstr2 = NULL; - strtok(boardstring, ":"); + strtok(tempstr, ":"); tempstr2 = strtok(NULL, ":"); if (tempstr2) { - lb_vendor = boardstring; - lb_part = tempstr2; + lb_vendor = strdup(tempstr); + lb_part = strdup(tempstr2); } else { lb_vendor = NULL; - lb_part = boardstring; + lb_part = strdup(tempstr); } + free(tempstr); } static unsigned long compute_checksum(void *addr, unsigned long length) |