summaryrefslogtreecommitdiff
path: root/editors/diff.c
AgeCommit message (Collapse)Author
2011-03-27diff: optimize diffing of files with the same metadataRoman Borisov
Signed-off-by: Roman Borisov <ext-roman.borisov@nokia.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-01-26diff: return 1 when skipping directories with -r, but without -NAlexander Shishkin
Diff in diffutils will return 1 in case -r option is specified without -N something exists only in one of the directories. Signed-off-by: Alexander Shishkin <virtuoso@slind.org> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-10-29whitespace cleanupDenys Vlasenko
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-10-22*: introduce and use xmkstemp. -65 bytes.Alexander Shishkin
Signed-off-by: Alexander Shishkin <virtuoso@slind.org> Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-08-30typo fix in commentDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-08-16*: make GNU licensing statement forms more regularDenys Vlasenko
This change retains "or later" state! No licensing _changes_ here, only form is adjusted (article, space between "GPL" and "v2" and so on). Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-10diff: make diff -r much less eager to recurse into directoriesDenys Vlasenko
function old new delta skip_dir 44 120 +76 diff_main 1175 1185 +10 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-09diff: cosmetic change on top of last commitDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-09diff: fix "diff dir1 dir2/". Closes bug 2203Matheus Izvekov
Signed-off-by: Matheus Izvekov <mizvekov@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-02-04diff: more compiler compat fixes. no code changesDan Fandrich
Signed-off-by: Dan Fandrich <dan@coneharvesters.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-02-04diff: make code more portableDan Fandrich
function old new delta create_J 1835 1849 +14 diffreg 1268 1255 -13 Signed-off-by: Dan Fandrich <dan@coneharvesters.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-22diff: fix flag -B, cleanups and a couple more tests V2Matheus Izvekov
function old new delta diffreg 1157 1268 +111 uni_range 51 - -51 Signed-off-by: Matheus Izvekov <mizvekov@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-20*: small code shrinks and compile fix for unicodeDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-20diff: don't exit in case we can't open input files. -2 bytesMatheus Izvekov
>>From d4cf19d20596bca797d58563f4404cf6a4932977 Mon Sep 17 00:00:00 2001 From: Matheus Izvekov <mizvekov@gmail.com> Date: Mon, 18 Jan 2010 23:27:56 -0200 Subject: [PATCH] diff: don't exit in case we can't open input files This prevents recursion being aborted due to failures to open files. Signed-off-by: Matheus Izvekov <mizvekov@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-20diff: don't use FILE_and_pos_t where it's not needed. -31 bytesMatheus Izvekov
>>From 3ead41fc3cbdd904e478ff7a710f5960c8ed4288 Mon Sep 17 00:00:00 2001 From: Matheus Izvekov <mizvekov@gmail.com> Date: Mon, 18 Jan 2010 22:14:46 -0200 Subject: [PATCH] diff: don't use FILE_and_pos_t where it's not needed. -31 bytes Signed-off-by: Matheus Izvekov <mizvekov@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-20diff: correct handling of labels. -10 bytesMatheus Izvekov
>>From 05eeb173f0431b4fbed7684d7a9cea42f747f63e Mon Sep 17 00:00:00 2001 From: Matheus Izvekov <mizvekov@gmail.com> Date: Mon, 18 Jan 2010 20:33:55 -0200 Subject: [PATCH] diff: correct handling of labels This fixes an issue where diff would apply labels to files in the inverse order, when using -L or --label. This fixes it in order to be compatible with gnu diff. It also makes it not an error to specify more than one label. The behavior for such cases is that they override the label for the new file. Signed-off-by: Matheus Izvekov <mizvekov@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-20diff: support long optionsMatheus Izvekov
>>From 7b74284ebe6222cb714c37cdbb94633965f29e9b Mon Sep 17 00:00:00 2001 From: Matheus Izvekov <mizvekov@gmail.com> Date: Mon, 18 Jan 2010 18:36:52 -0200 Subject: [PATCH] diff: support long options Signed-off-by: Matheus Izvekov <mizvekov@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-20diff: implement flag -B (Ignore changes whose lines are all blank)Matheus Izvekov
>>From 7c3ce93213590bd0592435dc27d1272d0fd3309b Mon Sep 17 00:00:00 2001 From: Matheus Izvekov <mizvekov@gmail.com> Date: Mon, 18 Jan 2010 15:52:31 -0200 Subject: [PATCH] diff: implement flag -B (Ignore changes whose lines are all blank) function old new delta diffreg 1196 1240 +44 .rodata 6538 6561 +23 packed_usage 457 478 +21 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 3/0 up/down: 88/0) Total: 88 bytes text data bss dec hex filename 70123 733 8576 79432 13648 busybox_old 70190 733 8576 79499 1368b busybox_unstripped Signed-off-by: Matheus Izvekov <mizvekov@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-20diff: honor flag -i (ignore case differences)Matheus Izvekov
>>From 503a1e1d2597f7cdf86a9ea39ebd2aee050ca759 Mon Sep 17 00:00:00 2001 From: Matheus Izvekov <mizvekov@gmail.com> Date: Mon, 18 Jan 2010 14:06:26 -0200 Subject: [PATCH] diff: honor flag -i (ignore case differences) function old new delta read_token 157 178 +21 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/0 up/down: 21/0) Total: 21 bytes text data bss dec hex filename 70102 733 8576 79411 13633 busybox_old 70123 733 8576 79432 13648 busybox_unstripped Signed-off-by: Matheus Izvekov <mizvekov@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-18diff: add NOINLINEDenys Vlasenko
function old new delta create_J - 1805 +1805 diffreg 3159 1176 -1983 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 0/1 up/down: 1805/-1983) Total: -178 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-18diff: defeat gcc's optimizationDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-18diff: rewrite. much smaller and more correctMatheus Izvekov
function old new delta diffreg 1815 3156 +1341 diff_main 860 1194 +334 read_token - 161 +161 skip_dir - 44 +44 seek_ft - 31 +31 fetch 362 392 +30 line_compar - 21 +21 add_to_dirlist 65 61 -4 print_only 16 - -16 skipline 51 - -51 newcand 85 - -85 asciifile 89 - -89 print_status 178 73 -105 make_temp 148 - -148 files_differ 168 - -168 get_recursive_dirlist 182 - -182 sort 226 - -226 prepare 283 - -283 change 283 - -283 do_diff 416 - -416 dump_unified_vec 457 - -457 check 1512 595 -917 ------------------------------------------------------------------------------ (add/remove: 4/12 grow/shrink: 3/3 up/down: 1962/-3430) Total: -1468 bytes Signed-off-by: Matheus Izvekov <mizvekov@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-18libbb: robustify isXXXX(). +39 bytesDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-21diff: debug macros; one trivial size optimizationDenys Vlasenko
function old new delta diffreg 1781 1815 +34 isqrt 64 - -64 ------------------------------------------------------------------------------ (add/remove: 0/1 grow/shrink: 1/0 up/down: 34/-64) Total: -30 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-21diff: fix bug 613 (diff -ub segfaults)Denys Vlasenko
function old new delta dump_unified_vec 435 457 +22 diff_main 855 860 +5 diffreg 1786 1781 -5 do_diff 428 416 -12 change 325 283 -42 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/3 up/down: 27/-59) Total: -32 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-06-09diff: tiny compat tweakDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-04-21*: mass renaming of USE_XXXX to IF_XXXXDenis Vlasenko
and SKIP_XXXX to IF_NOT_XXXX - the second one was especially badly named. It was not skipping anything!
2008-11-23diff: emit /dev/null if diff -rN diffs a file against /dev/nullDenis Vlasenko
function old new delta diffreg 1782 1786 +4
2008-10-19volume identification: abolish /proc/partitions and /proc/cdromsDenis Vlasenko
scanning. It does not catch volume managers and such. Adding even more cruft is bad, so I decided to simply scan /dev/* for any block devices. See how much better it finds devices now: # ./busybox_old blkid /dev/sda1: LABEL="/boot" UUID="7931e231-dcb4-4b6d-9301-f7354ae24061" /dev/dm-0: LABEL="Fedora-9-Live-x8" UUID="bb491e1e-1145-4f5b-b0ab-cbd2baf4f15a" /dev/dm-1: UUID="edc2a920-ef83-437e-ba64-d3b6dc851267" /dev/sdb1: UUID="6F84-ED0F" # ./busybox blkid /dev/sdb1: UUID="6F84-ED0F" /dev/root: LABEL="Fedora-9-Live-x8" UUID="bb491e1e-1145-4f5b-b0ab-cbd2baf4f15a" /dev/dm-1: UUID="edc2a920-ef83-437e-ba64-d3b6dc851267" /dev/dm-0: LABEL="Fedora-9-Live-x8" UUID="bb491e1e-1145-4f5b-b0ab-cbd2baf4f15a" /dev/sda1: LABEL="/boot" UUID="7931e231-dcb4-4b6d-9301-f7354ae24061" /dev/mapper/VolGroup00-LogVol01: UUID="edc2a920-ef83-437e-ba64-d3b6dc851267" /dev/mapper/VolGroup00-LogVol00: LABEL="Fedora-9-Live-x8" UUID="bb491e1e-1145-4f5b-b0ab-cbd2baf4f15a" function old new delta static.drive_name_string 12 - -12 append_mount_options 205 190 -15 volume_id_open_node 37 18 -19 uuidcache_check_device 485 257 -228 uuidcache_init 637 36 -601 ------------------------------------------------------------------------------ (add/remove: 0/1 grow/shrink: 0/4 up/down: 0/-875) Total: -875 bytes text data bss dec hex filename 792218 592 6648 799458 c32e2 busybox_old 791260 592 6648 798500 c2f24 busybox_unstripped
2008-07-08libbb: introduce and use xrealloc_vectorDenis Vlasenko
function old new delta xrealloc_vector_helper - 51 +51 create_list 84 99 +15 getopt_main 690 695 +5 passwd_main 1049 1053 +4 get_cached 85 89 +4 msh_main 1377 1380 +3 add_match 42 41 -1 read_lines 720 718 -2 grave 1068 1066 -2 fill_match_lines 143 141 -2 add_to_dirlist 67 65 -2 add_input_file 49 47 -2 act 252 250 -2 fsck_main 2252 2246 -6 man_main 765 757 -8 bb_internal_initgroups 228 220 -8 cut_main 1052 1041 -11 add_edge_to_node 55 43 -12 dpkg_main 3851 3835 -16 ifupdown_main 2202 2178 -24 sort_main 838 812 -26 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 5/15 up/down: 82/-124) Total: -42 bytes
2008-07-05*: rename ATTRIBUTE_XXX to just XXX.Denis Vlasenko
2008-06-27*: introduce and use FAST_FUNC: regparm on i386, otherwise no-onDenis Vlasenko
text data bss dec hex filename 808035 611 6868 815514 c719a busybox_old 804472 611 6868 811951 c63af busybox_unstripped
2008-06-23fix breakage found by randomconfigDenis Vlasenko
2008-06-15*: use llist_pop for traverse-and-free list operationDenis Vlasenko
function old new delta append_file_list_to_list 109 111 +2 udhcpc_main 2414 2413 -1 run_parts_main 325 324 -1 od_main 2324 2323 -1 getopt_main 709 707 -2 env_main 253 251 -2 sed_main 659 656 -3 ps_main 522 519 -3 traceroute_main 3960 3954 -6 sort_main 844 838 -6 diff_main 866 858 -8 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/10 up/down: 2/-33) Total: -31 bytes
2008-06-07grep: make "-f -" work (+ testsuite)Denis Vlasenko
diff: small code shrink function old new delta grep_main 722 714 -8 diffreg 1825 1793 -32 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-40) Total: -40 bytes
2008-03-24diff: improve comments (no code chages)Denis Vlasenko
2008-03-24diff: exclude D_EMPTY code if there is no support for -rDenis Vlasenko
function old new delta diffreg 1808 1825 +17 files_differ 189 166 -23
2008-03-24diff: fix small bug; don't make a copy for "/dev/null" caseDenis Vlasenko
2008-03-24diff: reordering and renaming of variablesDenis Vlasenko
function old new delta diff_main 843 848 +5 get_recursive_dirlist 177 180 +3 add_to_dirlist 64 66 +2 change 329 326 -3 files_differ 182 176 -6 diffreg 1823 1808 -15 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 3/3 up/down: 10/-24) Total: -14 bytes
2008-03-24diff: make a few variables localDenis Vlasenko
function old new delta diffreg 1844 1823 -21
2008-03-24diff: make it work on pipes etc (needed for kernel compile)Denis Vlasenko
function old new delta get_recursive_dirlist - 177 +177 make_temp - 144 +144 diffreg 1818 1844 +26 files_differ 175 182 +7 diff_main 842 843 +1 get_dir 177 - -177 ------------------------------------------------------------------------------ (add/remove: 2/1 grow/shrink: 3/0 up/down: 355/-177) Total: 178 bytes
2008-03-24diff: shrinkDenis Vlasenko
function old new delta check 678 1607 +929 files_differ - 175 +175 do_diff 436 433 -3 asciifile 94 90 -4 print_only 23 16 -7 diff_main 868 842 -26 prepare 339 301 -38 print_status 316 178 -138 diffreg 2993 1818 -1175 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 1/7 up/down: 1104/-1391) Total: -287 bytes
2008-03-17*: shrink: use Vladimir's "o+" specifier instead of xatou(opt_param)Denis Vlasenko
function old new delta getopt32 1370 1385 +15 sulogin_main 490 494 +4 realpath_main 84 86 +2 sleep_main 76 77 +1 mt_main 256 257 +1 printenv_main 75 74 -1 fdformat_main 546 545 -1 usleep_main 44 42 -2 setlogcons_main 77 75 -2 ed_main 2654 2649 -5 deallocvt_main 69 64 -5 addgroup_main 373 368 -5 mkfs_minix_main 2989 2982 -7 tail_main 1221 1213 -8 sv_main 1254 1241 -13 du_main 348 328 -20 tftp_main 325 302 -23 split_main 581 558 -23 nc_main 1000 977 -23 diff_main 891 868 -23 arping_main 1797 1770 -27 ls_main 893 847 -46 od_main 2797 2750 -47 readprofile_main 1944 1895 -49 tcpudpsvd_main 1973 1922 -51 udhcpc_main 2590 2513 -77 grep_main 824 722 -102 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 5/22 up/down: 23/-560) Total: -537 bytes text data bss dec hex filename 796973 658 7428 805059 c48c3 busybox_old 796479 662 7420 804561 c46d1 busybox_unstripped
2008-03-17*: add -Wunused-parameter; fix resulting breakageDenis Vlasenko
function old new delta procps_scan 1265 1298 +33 aliascmd 278 283 +5 parse_file_cmd 116 120 +4 dname_enc 373 377 +4 setcmd 90 93 +3 execcmd 57 60 +3 count_lines 72 74 +2 process_command_subs 340 339 -1 test_main 409 407 -2 mknod_main 179 177 -2 handle_incoming_and_exit 2653 2651 -2 argstr 1312 1310 -2 shiftcmd 131 128 -3 exitcmd 46 43 -3 dotcmd 297 294 -3 breakcmd 86 83 -3 evalpipe 353 349 -4 evalcommand 1180 1176 -4 evalcmd 109 105 -4 send_tree 374 369 -5 mkfifo_main 82 77 -5 evalsubshell 152 147 -5 typecmd 75 69 -6 letcmd 61 55 -6 add_cmd 1190 1183 -7 main 891 883 -8 ash_main 1415 1407 -8 parse_stream 1377 1367 -10 alloc_procps_scan 55 - -55 ------------------------------------------------------------------------------ (add/remove: 0/1 grow/shrink: 7/21 up/down: 54/-148) Total: -94 bytes text data bss dec hex filename 797195 658 7428 805281 c49a1 busybox_old 797101 658 7428 805187 c4943 busybox_unstripped
2008-03-02libbb: inntroduce and use bb_pstrcmp() and qsort_string_vector()Denis Vlasenko
msh: glob0/glob1/glob2/glob3 are just a sorting routine! remove them. bb_pstrcmp - 25 +25 qsort_string_vector - 24 +24 expand 2209 2227 +18 getopt32 1359 1370 +11 passwd_main 1072 1074 +2 handle_incoming_and_exit 2737 2735 -2 UNSPEC_print 66 64 -2 forkexec 1343 1339 -4 input_tab 3338 3330 -8 get_dir 185 177 -8 expmeta 481 473 -8 cmdputs 405 397 -8 xstrcmp 12 - -12 find_pair 187 167 -20 match_compare 25 - -25 dir_strcmp 25 - -25 glob2 27 - -27 glob3 34 - -34 glob1 256 - -256 ------------------------------------------------------------------------------ (add/remove: 2/6 grow/shrink: 3/8 up/down: 80/-439) Total: -359 bytes
2008-02-27*: add optimization barrier to all "G trick" locationsDenis Vlasenko
2007-11-06fbset: fix buglet where we were using wrong pointerDenis Vlasenko
readahead: stop using stdio.h *: style fixes
2007-10-11add -fvisibility=hidden to CC flags, mark XXX_main functionsDenis Vlasenko
EXTERNALLY_VISIBLE. 5% size reduction of libbusybox.so
2007-08-18don't pass argc in getopt32, it's superfluousDenis Vlasenko
(add/remove: 0/0 grow/shrink: 12/131 up/down: 91/-727) Total: -636 bytes text data bss dec hex filename 773469 1058 11092 785619 bfcd3 busybox_old 772644 1058 11092 784794 bf99a busybox_unstripped
2007-08-12trylink: produce even more info about final link stageDenis Vlasenko
trylink: explain how to modify link and drastically decrease amount of padding (unfortunately, needs hand editing ATM). *: add ALIGN1 / ALIGN2 to global strings and arrays of bytes and shorts size saving: 0.5k