diff --git a/program.c b/program.c index 7d76c5e..dc74721 100644 --- a/program.c +++ b/program.c @@ -139,9 +139,9 @@ int program_execute(struct qdl_device *qdl, int (*apply)(struct qdl_device *qdl, * * Returns partition number, or negative errno on failure. * - * Scan program tags for a partition with the label "xbl" or "sbl1" and return - * the partition number for this. If more than one line matches we're assuming - * our logic is flawed and return an error. + * Scan program tags for a partition with the label "sbl1" or that starts with + * the string "xbl" and return the partition number for this. If more than one + * line matches we're assuming our logic is flawed and return an error. */ int program_find_bootable_partition(void) { @@ -152,7 +152,7 @@ int program_find_bootable_partition(void) for (program = programes; program; program = program->next) { label = program->label; - if (!strcmp(label, "xbl") || !strcmp(label, "sbl1")) { + if (!strncmp(label, "xbl", 3) || !strcmp(label, "sbl1")) { if (part != -ENOENT) return -EINVAL;