log_error("Failed to parse lines '%s'", optarg);
return -EINVAL;
}
- } else
- arg_lines = 10;
+ } else {
+ int n;
+
+ /* Hmm, no argument? Maybe the next
+ * word on the command line is
+ * supposed to be the argument? Let's
+ * see if there is one, and is
+ * parsable as a positive
+ * integer... */
+
+ if (optind < argc &&
+ safe_atoi(argv[optind], &n) >= 0 &&
+ n >= 0) {
+
+ arg_lines = n;
+ optind++;
+ } else
+ arg_lines = 10;
+ }
break;
"As UUID:\n"
"%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x\n\n"
"As macro:\n"
- "#define MESSAGE_XYZ SD_ID128_MAKE(",
+ "#define MESSAGE_XYZ SD_ID128_MAKE(",
SD_ID128_FORMAT_VAL(id),
SD_ID128_FORMAT_VAL(id));
-
for (i = 0; i < 16; i++)
printf("%02x%s", id.bytes[i], i != 15 ? "," : "");
+ fputs(")\n\n", stdout);
- fputs(")\n", stdout);
+ printf("As Python constant:\n"
+ ">>> import uuid\n"
+ ">>> MESSAGE_XYZ = uuid.UUID('" SD_ID128_FORMAT_STR "')\n",
+ SD_ID128_FORMAT_VAL(id));
return 0;
}