12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- diff -Naur bdfresize-1.5/bdfresize.c bdfresize-1.5.patched/bdfresize.c
- --- bdfresize-1.5/bdfresize.c 2001-01-16 07:11:11.000000000 -0500
- +++ bdfresize-1.5.patched/bdfresize.c 2021-09-10 14:39:09.553534254 -0400
- @@ -48,6 +48,22 @@
-
- static int line;
-
- +static int factor_is_bad(const char *p) {
- + int slashes = 0;
- + while(*p) {
- + if(*p == '/') {
- + if(++slashes > 1)
- + return 1;
- + } else if(*p >= '0' && *p <= '9') {
- + /* NOP */
- + } else {
- + return 1;
- + }
- + p++;
- + }
- + return 0;
- +}
- +
- int
- main(int argc, char *argv[])
- {
- @@ -64,18 +80,21 @@
- if (blackness <= 0) err ++;
- break;
- case 'w':
- + err += factor_is_bad(optarg);
- numerator_x = atoi(optarg);
- denominator_x = strchr(optarg,'/')
- ? atoi(strchr(optarg,'/')+1) : 1;
- if (numerator_x <= 0 || denominator_x <= 0) err ++;
- break;
- case 'h':
- + err += factor_is_bad(optarg);
- numerator_y = atoi(optarg);
- denominator_y = strchr(optarg,'/')
- ? atoi(strchr(optarg,'/')+1) : 1;
- if (numerator_y <= 0 || denominator_y <= 0) err ++;
- break;
- case 'f':
- + err += factor_is_bad(optarg);
- numerator_x = numerator_y = atoi(optarg);
- denominator_x = denominator_y = strchr(optarg,'/')
- ? atoi(strchr(optarg,'/')+1) : 1;
|