diff options
Diffstat (limited to 'source/ap/vim/patches/7.3.152')
-rw-r--r-- | source/ap/vim/patches/7.3.152 | 643 |
1 files changed, 0 insertions, 643 deletions
diff --git a/source/ap/vim/patches/7.3.152 b/source/ap/vim/patches/7.3.152 deleted file mode 100644 index fdc58a08..00000000 --- a/source/ap/vim/patches/7.3.152 +++ /dev/null @@ -1,643 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.3.152 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.3.152 -Problem: Xxd does not check for errors from library functions. -Solution: Add error checks. (Florian Zumbiehl) -Files: src/xxd/xxd.c - - -*** ../vim-7.3.151/src/xxd/xxd.c 2010-08-15 21:57:25.000000000 +0200 ---- src/xxd/xxd.c 2011-04-01 18:56:11.000000000 +0200 -*************** -*** 49,54 **** ---- 49,56 ---- - * option -b added: 01000101 binary output in normal format. - * 16.05.00 Added VAXC changes by Stephen P. Wall - * 16.05.00 Improved MMS file and merge for VMS by Zoltan Arpadffy -+ * 2011 March Better error handling by Florian Zumbiehl. -+ * 2011 April Formatting by Bram Moolenaar - * - * (c) 1990-1998 by Juergen Weigert (jnweiger@informatik.uni-erlangen.de) - * -*************** -*** 207,214 **** - - /* Let's collect some prototypes */ - /* CodeWarrior is really picky about missing prototypes */ -! static void exit_with_usage __P((char *)); -! static int huntype __P((FILE *, FILE *, FILE *, char *, int, int, long)); - static void xxdline __P((FILE *, char *, int)); - - #define TRY_SEEK /* attempt to use lseek, or skip forward by reading */ ---- 209,216 ---- - - /* Let's collect some prototypes */ - /* CodeWarrior is really picky about missing prototypes */ -! static void exit_with_usage __P((void)); -! static int huntype __P((FILE *, FILE *, FILE *, int, int, long)); - static void xxdline __P((FILE *, char *, int)); - - #define TRY_SEEK /* attempt to use lseek, or skip forward by reading */ -*************** -*** 223,231 **** - #define HEX_CINCLUDE 2 - #define HEX_BITS 3 /* not hex a dump, but bits: 01111001 */ - -! static void -! exit_with_usage(pname) -! char *pname; - { - fprintf(stderr, "Usage:\n %s [options] [infile [outfile]]\n", pname); - fprintf(stderr, " or\n %s -r [-s [-]offset] [-c cols] [-ps] [infile [outfile]]\n", pname); ---- 225,234 ---- - #define HEX_CINCLUDE 2 - #define HEX_BITS 3 /* not hex a dump, but bits: 01111001 */ - -! static char *pname; -! -! static void -! exit_with_usage() - { - fprintf(stderr, "Usage:\n %s [options] [infile [outfile]]\n", pname); - fprintf(stderr, " or\n %s -r [-s [-]offset] [-c cols] [-ps] [infile [outfile]]\n", pname); -*************** -*** 252,257 **** ---- 255,269 ---- - exit(1); - } - -+ static void -+ die(ret) -+ int ret; -+ { -+ fprintf(stderr, "%s: ", pname); -+ perror(NULL); -+ exit(ret); -+ } -+ - /* - * Max. cols binary characters are decoded from the input stream per line. - * Two adjacent garbage characters after evaluated data delimit valid data. -*************** -*** 259,270 **** - * - * The name is historic and came from 'undo type opt h'. - */ -! static int -! huntype(fpi, fpo, fperr, pname, cols, hextype, base_off) -! FILE *fpi, *fpo, *fperr; -! char *pname; -! int cols, hextype; -! long base_off; - { - int c, ign_garb = 1, n1 = -1, n2 = 0, n3, p = cols; - long have_off = 0, want_off = 0; ---- 271,281 ---- - * - * The name is historic and came from 'undo type opt h'. - */ -! static int -! huntype(fpi, fpo, fperr, cols, hextype, base_off) -! FILE *fpi, *fpo, *fperr; -! int cols, hextype; -! long base_off; - { - int c, ign_garb = 1, n1 = -1, n2 = 0, n3, p = cols; - long have_off = 0, want_off = 0; -*************** -*** 318,324 **** - - if (base_off + want_off != have_off) - { -! fflush(fpo); - #ifdef TRY_SEEK - c = fseek(fpo, base_off + want_off - have_off, 1); - if (c >= 0) ---- 329,336 ---- - - if (base_off + want_off != have_off) - { -! if (fflush(fpo) != 0) -! die(3); - #ifdef TRY_SEEK - c = fseek(fpo, base_off + want_off - have_off, 1); - if (c >= 0) -*************** -*** 330,341 **** - return 5; - } - for (; have_off < base_off + want_off; have_off++) -! putc(0, fpo); - } - - if (n2 >= 0 && n1 >= 0) - { -! putc((n2 << 4) | n1, fpo); - have_off++; - want_off++; - n1 = -1; ---- 342,355 ---- - return 5; - } - for (; have_off < base_off + want_off; have_off++) -! if (putc(0, fpo) == EOF) -! die(3); - } - - if (n2 >= 0 && n1 >= 0) - { -! if (putc((n2 << 4) | n1, fpo) == EOF) -! die(3); - have_off++; - want_off++; - n1 = -1; -*************** -*** 345,350 **** ---- 359,366 ---- - want_off = 0; - while ((c = getc(fpi)) != '\n' && c != EOF) - ; -+ if (c == EOF && ferror(fpi)) -+ die(2); - ign_garb = 1; - } - } -*************** -*** 355,369 **** - want_off = 0; - while ((c = getc(fpi)) != '\n' && c != EOF) - ; - ign_garb = 1; - } - } -! fflush(fpo); - #ifdef TRY_SEEK - fseek(fpo, 0L, 2); - #endif -! fclose(fpo); -! fclose(fpi); - return 0; - } - ---- 371,390 ---- - want_off = 0; - while ((c = getc(fpi)) != '\n' && c != EOF) - ; -+ if (c == EOF && ferror(fpi)) -+ die(2); - ign_garb = 1; - } - } -! if (fflush(fpo) != 0) -! die(3); - #ifdef TRY_SEEK - fseek(fpo, 0L, 2); - #endif -! if (fclose(fpo) != 0) -! die(3); -! if (fclose(fpi) != 0) -! die(2); - return 0; - } - -*************** -*** 379,389 **** - * - * If nz is always positive, lines are never suppressed. - */ -! static void - xxdline(fp, l, nz) -! FILE *fp; -! char *l; -! int nz; - { - static char z[LLEN+1]; - static int zero_seen = 0; ---- 400,410 ---- - * - * If nz is always positive, lines are never suppressed. - */ -! static void - xxdline(fp, l, nz) -! FILE *fp; -! char *l; -! int nz; - { - static char z[LLEN+1]; - static int zero_seen = 0; -*************** -*** 398,409 **** - if (nz < 0) - zero_seen--; - if (zero_seen == 2) -! fputs(z, fp); - if (zero_seen > 2) -! fputs("*\n", fp); - } - if (nz >= 0 || zero_seen > 0) -! fputs(l, fp); - if (nz) - zero_seen = 0; - } ---- 419,433 ---- - if (nz < 0) - zero_seen--; - if (zero_seen == 2) -! if (fputs(z, fp) == EOF) -! die(3); - if (zero_seen > 2) -! if (fputs("*\n", fp) == EOF) -! die(3); - } - if (nz >= 0 || zero_seen > 0) -! if (fputs(l, fp) == EOF) -! die(3); - if (nz) - zero_seen = 0; - } -*************** -*** 439,448 **** - 0070,0071,0372,0373,0374,0375,0376,0377 - }; - -! int - main(argc, argv) -! int argc; -! char *argv[]; - { - FILE *fp, *fpo; - int c, e, p = 0, relseek = 1, negseek = 0, revert = 0; ---- 463,472 ---- - 0070,0071,0372,0373,0374,0375,0376,0377 - }; - -! int - main(argc, argv) -! int argc; -! char *argv[]; - { - FILE *fp, *fpo; - int c, e, p = 0, relseek = 1, negseek = 0, revert = 0; -*************** -*** 452,458 **** - int grplen; /* total chars per octet group */ - long length = -1, n = 0, seekoff = 0; - char l[LLEN+1]; -! char *pname, *pp; - - #ifdef AMIGA - /* This program doesn't work when started from the Workbench */ ---- 476,482 ---- - int grplen; /* total chars per octet group */ - long length = -1, n = 0, seekoff = 0; - char l[LLEN+1]; -! char *pp; - - #ifdef AMIGA - /* This program doesn't work when started from the Workbench */ -*************** -*** 495,501 **** - else - { - if (!argv[2]) -! exit_with_usage(pname); - cols = (int)strtol(argv[2], NULL, 0); - argv++; - argc--; ---- 519,525 ---- - else - { - if (!argv[2]) -! exit_with_usage(); - cols = (int)strtol(argv[2], NULL, 0); - argv++; - argc--; -*************** -*** 508,514 **** - else - { - if (!argv[2]) -! exit_with_usage(pname); - octspergrp = (int)strtol(argv[2], NULL, 0); - argv++; - argc--; ---- 532,538 ---- - else - { - if (!argv[2]) -! exit_with_usage(); - octspergrp = (int)strtol(argv[2], NULL, 0); - argv++; - argc--; -*************** -*** 531,537 **** - else - { - if (!argv[2]) -! exit_with_usage(pname); - #ifdef TRY_SEEK - if (argv[2][0] == '+') - relseek++; ---- 555,561 ---- - else - { - if (!argv[2]) -! exit_with_usage(); - #ifdef TRY_SEEK - if (argv[2][0] == '+') - relseek++; -*************** -*** 550,556 **** - else - { - if (!argv[2]) -! exit_with_usage(pname); - length = strtol(argv[2], (char **)NULL, 0); - argv++; - argc--; ---- 574,580 ---- - else - { - if (!argv[2]) -! exit_with_usage(); - length = strtol(argv[2], (char **)NULL, 0); - argv++; - argc--; -*************** -*** 563,569 **** - break; - } - else if (pp[0] == '-' && pp[1]) /* unknown option */ -! exit_with_usage(pname); - else - break; /* not an option */ - ---- 587,593 ---- - break; - } - else if (pp[0] == '-' && pp[1]) /* unknown option */ -! exit_with_usage(); - else - break; /* not an option */ - -*************** -*** 602,608 **** - octspergrp = cols; - - if (argc > 3) -! exit_with_usage(pname); - - if (argc == 1 || (argv[1][0] == '-' && !argv[1][1])) - BIN_ASSIGN(fp = stdin, !revert); ---- 626,632 ---- - octspergrp = cols; - - if (argc > 3) -! exit_with_usage(); - - if (argc == 1 || (argv[1][0] == '-' && !argv[1][1])) - BIN_ASSIGN(fp = stdin, !revert); -*************** -*** 640,646 **** - fprintf(stderr, "%s: sorry, cannot revert this type of hexdump\n", pname); - return -1; - } -! return huntype(fp, fpo, stderr, pname, cols, hextype, - negseek ? -seekoff : seekoff); - } - ---- 664,670 ---- - fprintf(stderr, "%s: sorry, cannot revert this type of hexdump\n", pname); - return -1; - } -! return huntype(fp, fpo, stderr, cols, hextype, - negseek ? -seekoff : seekoff); - } - -*************** -*** 664,670 **** - long s = seekoff; - - while (s--) -! (void)getc(fp); - } - } - ---- 688,703 ---- - long s = seekoff; - - while (s--) -! if (getc(fp) == EOF) -! if (ferror(fp)) -! { -! die(2); -! } -! else -! { -! fprintf(stderr, "%s: sorry cannot seek.\n", pname); -! return 4; -! } - } - } - -*************** -*** 672,725 **** - { - if (fp != stdin) - { -! fprintf(fpo, "unsigned char %s", isdigit((int)argv[1][0]) ? "__" : ""); - for (e = 0; (c = argv[1][e]) != 0; e++) -! putc(isalnum(c) ? c : '_', fpo); -! fputs("[] = {\n", fpo); - } - - p = 0; - while ((length < 0 || p < length) && (c = getc(fp)) != EOF) - { -! fprintf(fpo, (hexx == hexxa) ? "%s0x%02x" : "%s0X%02X", -! (p % cols) ? ", " : ",\n "+2*!p, c); - p++; - } - - if (p) -! fputs("\n};\n"+3*(fp == stdin), fpo); - - if (fp != stdin) - { -! fprintf(fpo, "unsigned int %s", isdigit((int)argv[1][0]) ? "__" : ""); - for (e = 0; (c = argv[1][e]) != 0; e++) -! putc(isalnum(c) ? c : '_', fpo); -! fprintf(fpo, "_len = %d;\n", p); - } - -! fclose(fp); -! fclose(fpo); - return 0; - } - - if (hextype == HEX_POSTSCRIPT) - { - p = cols; - while ((length < 0 || n < length) && (e = getc(fp)) != EOF) - { -! putchar(hexx[(e >> 4) & 0xf]); -! putchar(hexx[(e ) & 0xf]); - n++; - if (!--p) - { -! putchar('\n'); - p = cols; - } - } - if (p < cols) -! putchar('\n'); -! fclose(fp); -! fclose(fpo); - return 0; - } - ---- 705,779 ---- - { - if (fp != stdin) - { -! if (fprintf(fpo, "unsigned char %s", isdigit((int)argv[1][0]) ? "__" : "") < 0) -! die(3); - for (e = 0; (c = argv[1][e]) != 0; e++) -! if (putc(isalnum(c) ? c : '_', fpo) == EOF) -! die(3); -! if (fputs("[] = {\n", fpo) == EOF) -! die(3); - } - - p = 0; -+ c = 0; - while ((length < 0 || p < length) && (c = getc(fp)) != EOF) - { -! if (fprintf(fpo, (hexx == hexxa) ? "%s0x%02x" : "%s0X%02X", -! (p % cols) ? ", " : ",\n "+2*!p, c) < 0) -! die(3); - p++; - } -+ if (c == EOF && ferror(fp)) -+ die(2); - - if (p) -! if (fputs("\n};\n" + 3 * (fp == stdin), fpo) == EOF) -! die(3); - - if (fp != stdin) - { -! if (fprintf(fpo, "unsigned int %s", isdigit((int)argv[1][0]) ? "__" : "") < 0) -! die(3); - for (e = 0; (c = argv[1][e]) != 0; e++) -! if (putc(isalnum(c) ? c : '_', fpo) == EOF) -! die(3); -! if (fprintf(fpo, "_len = %d;\n", p) < 0) -! die(3); - } - -! if (fclose(fp)) -! die(2); -! if (fclose(fpo)) -! die(3); - return 0; - } - - if (hextype == HEX_POSTSCRIPT) - { - p = cols; -+ e = 0; - while ((length < 0 || n < length) && (e = getc(fp)) != EOF) - { -! if (putc(hexx[(e >> 4) & 0xf], fpo) == EOF -! || putc(hexx[e & 0xf], fpo) == EOF) -! die(3); - n++; - if (!--p) - { -! if (putc('\n', fpo) == EOF) -! die(3); - p = cols; - } - } -+ if (e == EOF && ferror(fp)) -+ die(2); - if (p < cols) -! if (putc('\n', fpo) == EOF) -! die(3); -! if (fclose(fp)) -! die(2); -! if (fclose(fpo)) -! die(3); - return 0; - } - -*************** -*** 730,735 **** ---- 784,790 ---- - else /* hextype == HEX_BITS */ - grplen = 8 * octspergrp + 1; - -+ e = 0; - while ((length < 0 || n < length) && (e = getc(fp)) != EOF) - { - if (p == 0) -*************** -*** 771,776 **** ---- 826,833 ---- - p = 0; - } - } -+ if (e == EOF && ferror(fp)) -+ die(2); - if (p) - { - l[c = (11 + (grplen * cols - 1)/octspergrp + p)] = '\n'; l[++c] = '\0'; -*************** -*** 779,785 **** - else if (autoskip) - xxdline(fpo, l, -1); /* last chance to flush out suppressed lines */ - -! fclose(fp); -! fclose(fpo); - return 0; - } ---- 836,846 ---- - else if (autoskip) - xxdline(fpo, l, -1); /* last chance to flush out suppressed lines */ - -! if (fclose(fp)) -! die(2); -! if (fclose(fpo)) -! die(3); - return 0; - } -+ -+ /* vi:set ts=8 sw=4 sts=2 cino+={2 cino+=n-2 : */ -*** ../vim-7.3.151/src/version.c 2011-04-01 16:28:33.000000000 +0200 ---- src/version.c 2011-04-01 19:00:26.000000000 +0200 -*************** -*** 716,717 **** ---- 716,719 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 152, - /**/ - --- -Eye have a spelling checker, it came with my PC; -It plainly marks four my revue mistakes I cannot sea. -I've run this poem threw it, I'm sure your please to no, -It's letter perfect in it's weigh, my checker tolled me sew! - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ an exciting new programming language -- http://www.Zimbu.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |