/*
- * Copy the string from source to dest till newline or comma(,) is seen
+ * Copy the string from source to dest until the end of string or comma is seen
* in the source.
* Move source and dest pointers respectively.
* Returns pointer to the start of the string that has just been copied.
while (**source != ',' && **source != '\0')
*(*dest)++ = *(*source)++;
if (**source != '\0')
- *(*source)++;
+ (void)*(*source)++;
**dest = '\0';
- *(*dest)++;
+ (void)*(*dest)++;
return ret;
}
args++; /* If comma(,) is not immediately followed by ':' then go past the , */
/*
- * read the arguments in order: siaddr,filename,ciaddr,giaddr,
+ * read the arguments in order: vtag,siaddr,filename,ciaddr,giaddr,
* bootp-retries,tftp-retries,addl_prameters
*/
+ if ((tmp = strstr(imagepath, "vtag=")) != NULL) {
+ result->vtag = scopy(&str, &tmp);
+ args = tmp;
+ }
+
result->siaddr = is_valid_ipv4_str(scopy(&str, &args));
result->file = scopy(&str, &args);
result->ciaddr = is_valid_ipv4_str(scopy(&str, &args));
if ((tmp = strstr(imagepath, "dhcpv6=")) != NULL)
result->dhcpv6 = scopy(&str, &tmp);
+ if ((tmp = strstr(imagepath, "vtag=")) != NULL)
+ result->vtag = scopy(&str, &tmp);
+
if ((tmp = strstr(imagepath, "ciaddr=")) != NULL)
result->ciaddr = scopy(&str, &tmp);