=========================================================== .___ __ __ _________________ __ __ __| _/|__|/ |_ / ___\_` __ \__ \ | | \/ __ | | \\_ __\ / /_/ > | \// __ \| | / /_/ | | || | \___ /|__| (____ /____/\____ | |__||__| /_____/ \/ \/ grep rough audit - static analysis tool v2.8 written by @Wireghoul =================================[justanotherhacker.com]=== ed-1.16/red.in-1-#! /bin/sh ed-1.16/red.in:2:bindir=`echo "$0" | sed -e 's,[^/]*$,,'` ed-1.16/red.in-3-exec "${bindir}"ed --restricted "$@" ############################################## ed-1.16/ed.h-63-bool copy_lines( const int first_addr, const int second_addr, const int addr ); ed-1.16/ed.h:64:int current_addr( void ); ed-1.16/ed.h:65:int dec_addr( int addr ); ed-1.16/ed.h-66-bool delete_lines( const int from, const int to, const bool isglobal ); ed-1.16/ed.h:67:int get_line_node_addr( const line_t * const lp ); ed-1.16/ed.h-68-char * get_sbuf_line( const line_t * const lp ); ed-1.16/ed.h:69:int inc_addr( int addr ); ed-1.16/ed.h:70:int inc_current_addr( void ); ed-1.16/ed.h-71-bool init_buffers( void ); ############################################## ed-1.16/ed.h-73-bool join_lines( const int from, const int to, const bool isglobal ); ed-1.16/ed.h:74:int last_addr( void ); ed-1.16/ed.h-75-bool modified( void ); ############################################## ed-1.16/ed.h-83-void set_binary( void ); ed-1.16/ed.h:84:void set_current_addr( const int addr ); ed-1.16/ed.h-85-void set_modified( const bool m ); ############################################## ed-1.16/ed.h-129-bool extract_replacement( const char ** const ibufpp, const bool isglobal ); ed-1.16/ed.h:130:int next_matching_node_addr( const char ** const ibufpp, const bool forward ); ed-1.16/ed.h-131-bool search_and_replace( const int first_addr, const int second_addr, ############################################## ed-1.16/testsuite/check.sh-10-objdir=`pwd` ed-1.16/testsuite/check.sh:11:testdir=`cd "$1" ; pwd` ed-1.16/testsuite/check.sh-12-ED="${objdir}"/ed ############################################## ed-1.16/testsuite/check.sh-54-for i in "${testdir}"/*.err ; do ed-1.16/testsuite/check.sh:55: base=`echo "$i" | sed 's,^.*/,,;s,\.err$,,'` # remove dir and ext ed-1.16/testsuite/check.sh-56- if cat "$i" | "${ED}" -s test.txt > /dev/null 2>&1 ; then ############################################## ed-1.16/testsuite/check.sh-74-for i in "${testdir}"/*.ed ; do ed-1.16/testsuite/check.sh:75: base=`echo "$i" | sed 's,^.*/,,;s,\.ed$,,'` # remove dir and ext ed-1.16/testsuite/check.sh-76- if "${ED}" -s test.txt < "$i" > /dev/null 2> out.log ; then ############################################## ed-1.16/main_loop.c-93-/* return address of a marked line */ ed-1.16/main_loop.c:94:static int get_marked_node_addr( int c ) ed-1.16/main_loop.c-95- { ############################################## ed-1.16/main_loop.c-98- { set_error_msg( "Invalid mark character" ); return -1; } ed-1.16/main_loop.c:99: return get_line_node_addr( mark[c] ); ed-1.16/main_loop.c-100- } ############################################## ed-1.16/main_loop.c-216- case '+': ed-1.16/main_loop.c:217: case '-': if( first ) { first = false; second_addr = current_addr(); } ed-1.16/main_loop.c-218- if( isdigit( (unsigned char)(*ibufpp)[1] ) ) ############################################## ed-1.16/main_loop.c-228- first = false; ++*ibufpp; ed-1.16/main_loop.c:229: second_addr = ( ( ch == '.' ) ? current_addr() : last_addr() ); ed-1.16/main_loop.c-230- break; ############################################## ed-1.16/main_loop.c-232- case '?': if( !first ) { invalid_address(); return -1; }; ed-1.16/main_loop.c:233: second_addr = next_matching_node_addr( ibufpp, ch == '/' ); ed-1.16/main_loop.c-234- if( second_addr < 0 ) return -1; ############################################## ed-1.16/main_loop.c-238- first = false; ++*ibufpp; ed-1.16/main_loop.c:239: second_addr = get_marked_node_addr( *(*ibufpp)++ ); ed-1.16/main_loop.c-240- if( second_addr < 0 ) return -1; ############################################## ed-1.16/main_loop.c-246- if( first_addr < 0 ) ed-1.16/main_loop.c:247: { first_addr = ( ( ch == ';' ) ? current_addr() : 1 ); ed-1.16/main_loop.c:248: second_addr = last_addr(); } ed-1.16/main_loop.c-249- else first_addr = second_addr; ############################################## ed-1.16/main_loop.c-252- { ed-1.16/main_loop.c:253: if( second_addr < 0 || second_addr > last_addr() ) ed-1.16/main_loop.c-254- { invalid_address(); return -1; } ed-1.16/main_loop.c:255: if( ch == ';' ) set_current_addr( second_addr ); ed-1.16/main_loop.c-256- first_addr = second_addr; first = true; ############################################## ed-1.16/main_loop.c-260- default : ed-1.16/main_loop.c:261: if( !first && ( second_addr < 0 || second_addr > last_addr() ) ) ed-1.16/main_loop.c-262- { invalid_address(); return -1; } ############################################## ed-1.16/main_loop.c-265- if( second_addr >= 0 ) addr_cnt = ( first_addr >= 0 ) ? 2 : 1; ed-1.16/main_loop.c:266: if( addr_cnt <= 0 ) second_addr = current_addr(); ed-1.16/main_loop.c-267- if( addr_cnt <= 1 ) first_addr = second_addr; ############################################## ed-1.16/main_loop.c-275-/* get a valid address from the command buffer */ ed-1.16/main_loop.c:276:static bool get_third_addr( const char ** const ibufpp, int * const addr ) ed-1.16/main_loop.c-277- { ############################################## ed-1.16/main_loop.c-284- { set_error_msg( "Destination expected" ); return false; } ed-1.16/main_loop.c:285: if( second_addr < 0 || second_addr > last_addr() ) ed-1.16/main_loop.c-286- { invalid_address(); return false; } ############################################## ed-1.16/main_loop.c-296- if( addr_cnt == 0 ) { first_addr = n; second_addr = m; } ed-1.16/main_loop.c:297: if( first_addr < 1 || first_addr > second_addr || second_addr > last_addr() ) ed-1.16/main_loop.c-298- { invalid_address(); return false; } ############################################## ed-1.16/main_loop.c-304- { ed-1.16/main_loop.c:305: return check_addr_range( current_addr(), current_addr(), addr_cnt ); ed-1.16/main_loop.c-306- } ############################################## ed-1.16/main_loop.c-308-/* set default second_addr and return true if second_addr is valid */ ed-1.16/main_loop.c:309:static bool check_second_addr( const int addr, const int addr_cnt ) ed-1.16/main_loop.c-310- { ed-1.16/main_loop.c-311- if( addr_cnt == 0 ) second_addr = addr; ed-1.16/main_loop.c:312: if( second_addr < 1 || second_addr > last_addr() ) ed-1.16/main_loop.c-313- { invalid_address(); return false; } ############################################## ed-1.16/main_loop.c-449- if( !delete_lines( first_addr, second_addr, isglobal ) || ed-1.16/main_loop.c:450: !append_lines( ibufpp, current_addr(), ed-1.16/main_loop.c:451: current_addr() >= first_addr, isglobal ) ) ed-1.16/main_loop.c-452- return ERR; ############################################## ed-1.16/main_loop.c-464- fnp = get_filename( ibufpp, false ); ed-1.16/main_loop.c:465: if( !fnp || !delete_lines( 1, last_addr(), isglobal ) || ed-1.16/main_loop.c-466- !close_sbuf() ) return ERR; ############################################## ed-1.16/main_loop.c-487- n = ( c == 'g' || c == 'G' ); /* mark matching lines */ ed-1.16/main_loop.c:488: if( !check_addr_range( 1, last_addr(), addr_cnt ) || ed-1.16/main_loop.c-489- !build_active_list( ibufpp, first_addr, second_addr, n ) ) ############################################## ed-1.16/main_loop.c-506- break; ed-1.16/main_loop.c:507: case 'j': if( !check_addr_range( current_addr(), current_addr() + 1, addr_cnt ) || ed-1.16/main_loop.c-508- !get_command_suffix( ibufpp, &pflags, 0 ) ) return ERR; ############################################## ed-1.16/main_loop.c-528- case 'm': if( !check_addr_range2( addr_cnt ) || ed-1.16/main_loop.c:529: !get_third_addr( ibufpp, &addr ) ) return ERR; ed-1.16/main_loop.c-530- if( addr >= first_addr && addr < second_addr ) ############################################## ed-1.16/main_loop.c-546- case 'r': if( unexpected_command_suffix( **ibufpp ) ) return ERR; ed-1.16/main_loop.c:547: if( addr_cnt == 0 ) second_addr = last_addr(); ed-1.16/main_loop.c-548- fnp = get_filename( ibufpp, false ); ############################################## ed-1.16/main_loop.c-560- case 't': if( !check_addr_range2( addr_cnt ) || ed-1.16/main_loop.c:561: !get_third_addr( ibufpp, &addr ) || ed-1.16/main_loop.c-562- !get_command_suffix( ibufpp, &pflags, 0 ) ) return ERR; ############################################## ed-1.16/main_loop.c-575- if( !fnp ) return ERR; ed-1.16/main_loop.c:576: if( addr_cnt == 0 && last_addr() == 0 ) ed-1.16/main_loop.c-577- first_addr = second_addr = 0; ed-1.16/main_loop.c:578: else if( !check_addr_range( 1, last_addr(), addr_cnt ) ) ed-1.16/main_loop.c-579- return ERR; ############################################## ed-1.16/main_loop.c-584- if( addr < 0 ) return ERR; ed-1.16/main_loop.c:585: if( addr == last_addr() && fnp[0] != '!' ) set_modified( false ); ed-1.16/main_loop.c-586- else if( n == 'q' && modified() && prev_status != EMOD ) ############################################## ed-1.16/main_loop.c-589- break; ed-1.16/main_loop.c:590: case 'x': if( second_addr < 0 || second_addr > last_addr() ) ed-1.16/main_loop.c-591- { invalid_address(); return ERR; } ############################################## ed-1.16/main_loop.c-599- break; ed-1.16/main_loop.c:600: case 'z': if( !check_second_addr( current_addr() + !isglobal, addr_cnt ) ) ed-1.16/main_loop.c-601- return ERR; ############################################## ed-1.16/main_loop.c-606- !print_lines( second_addr, ed-1.16/main_loop.c:607: min( last_addr(), second_addr + window_lines() - 1 ), ed-1.16/main_loop.c-608- pflags ) ) return ERR; ############################################## ed-1.16/main_loop.c-611- case '=': if( !get_command_suffix( ibufpp, &pflags, 0 ) ) return ERR; ed-1.16/main_loop.c:612: printf( "%d\n", addr_cnt ? second_addr : last_addr() ); ed-1.16/main_loop.c-613- break; ############################################## ed-1.16/main_loop.c-620- break; ed-1.16/main_loop.c:621: case '\n': if( !check_second_addr( current_addr() + ed-1.16/main_loop.c-622- ( traditional() || !isglobal ), addr_cnt ) || ############################################## ed-1.16/main_loop.c-628- } ed-1.16/main_loop.c:629: if( pflags && !print_lines( current_addr(), current_addr(), pflags ) ) ed-1.16/main_loop.c-630- return ERR; ############################################## ed-1.16/main_loop.c-658- if( !lp ) break; ed-1.16/main_loop.c:659: set_current_addr( get_line_node_addr( lp ) ); ed-1.16/main_loop.c:660: if( current_addr() < 0 ) return false; ed-1.16/main_loop.c-661- if( interactive ) ############################################## ed-1.16/main_loop.c-664- int len = 0; ed-1.16/main_loop.c:665: if( !print_lines( current_addr(), current_addr(), pflags ) ) ed-1.16/main_loop.c-666- return false; ############################################## ed-1.16/signal.c-49- sighup_pending = false; ed-1.16/signal.c:50: if( last_addr() && modified() && ed-1.16/signal.c:51: write_file( hb, "w", 1, last_addr() ) < 0 ) ed-1.16/signal.c-52- { ############################################## ed-1.16/signal.c-62- memcpy( hup + len + need_slash, hb, sizeof hb ); ed-1.16/signal.c:63: if( write_file( hup, "w", 1, last_addr() ) >= 0 ) exit( 0 ); ed-1.16/signal.c-64- } ############################################## ed-1.16/buffer.c-43- ed-1.16/buffer.c:44:int current_addr( void ) { return current_addr_; } ed-1.16/buffer.c:45:int inc_current_addr( void ) ed-1.16/buffer.c-46- { if( ++current_addr_ > last_addr_ ) current_addr_ = last_addr_; ed-1.16/buffer.c-47- return current_addr_; } ed-1.16/buffer.c:48:void set_current_addr( const int addr ) { current_addr_ = addr; } ed-1.16/buffer.c-49- ed-1.16/buffer.c:50:int last_addr( void ) { return last_addr_; } ed-1.16/buffer.c-51- ############################################## ed-1.16/buffer.c-58- ed-1.16/buffer.c:59:int inc_addr( int addr ) ed-1.16/buffer.c-60- { if( ++addr > last_addr_ ) addr = 0; return addr; } ed-1.16/buffer.c-61- ed-1.16/buffer.c:62:int dec_addr( int addr ) ed-1.16/buffer.c-63- { if( --addr < 0 ) addr = last_addr_; return addr; } ############################################## ed-1.16/buffer.c-224- { enable_interrupts(); return false; } ed-1.16/buffer.c:225: n = search_line_node( inc_addr( to ) ); ed-1.16/buffer.c-226- p = search_line_node( from - 1 ); /* this search_line_node last! */ ############################################## ed-1.16/buffer.c-237-/* return line number of pointer */ ed-1.16/buffer.c:238:int get_line_node_addr( const line_t * const lp ) ed-1.16/buffer.c-239- { ############################################## ed-1.16/buffer.c-306- int size = 0; ed-1.16/buffer.c:307: line_t * const ep = search_line_node( inc_addr( to ) ); ed-1.16/buffer.c-308- line_t * bp = search_line_node( from ); ############################################## ed-1.16/buffer.c-337- line_t *b1, *a1, *b2, *a2; ed-1.16/buffer.c:338: int n = inc_addr( second_addr ); ed-1.16/buffer.c-339- int p = first_addr - 1; ############################################## ed-1.16/buffer.c-348- else if( !push_undo_atom( UMOV, p, n ) || ed-1.16/buffer.c:349: !push_undo_atom( UMOV, addr, inc_addr( addr ) ) ) ed-1.16/buffer.c-350- { enable_interrupts(); return false; } ############################################## ed-1.16/buffer.c-501- { ed-1.16/buffer.c:502: line_t * const ep = search_line_node( inc_addr( to ) ); ed-1.16/buffer.c-503- line_t * bp = search_line_node( from ); ############################################## ed-1.16/configure-49- case ${option} in ed-1.16/configure:50: *=*) optarg=`echo ${option} | sed -e 's,^[^=]*=,,;s,/$,,'` ;; ed-1.16/configure-51- esac ############################################## ed-1.16/configure-131- ## the sed command below emulates the dirname command ed-1.16/configure:132: srcdir=`echo $0 | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` ed-1.16/configure-133- fi ############################################## ed-1.16/configure-142-# Set srcdir to . if that's what it is. ed-1.16/configure:143:if [ "`pwd`" = "`cd "${srcdir}" ; pwd`" ] ; then srcdir=. ; fi ed-1.16/configure-144- ############################################## ed-1.16/io.c-36- { return ( unterminated_line != 0 && ed-1.16/io.c:37: unterminated_line == search_line_node( last_addr() ) ); } ed-1.16/io.c-38- ############################################## ed-1.16/io.c-48- ed-1.16/io.c:49: if( pflags & GNP ) { printf( "%d\t", current_addr() ); col = 8; } ed-1.16/io.c-50- while( --len >= 0 ) ############################################## ed-1.16/io.c-82- { ed-1.16/io.c:83: line_t * const ep = search_line_node( inc_addr( to ) ); ed-1.16/io.c-84- line_t * bp = search_line_node( from ); ############################################## ed-1.16/io.c-90- if( !s ) return false; ed-1.16/io.c:91: set_current_addr( from++ ); ed-1.16/io.c-92- print_line( s, bp->len, pflags ); ############################################## ed-1.16/io.c-231- const bool o_isbinary = isbinary(); ed-1.16/io.c:232: const bool appended = ( addr == last_addr() ); ed-1.16/io.c-233- const bool o_unterminated_last_line = unterminated_last_line(); ############################################## ed-1.16/io.c-235- ed-1.16/io.c:236: set_current_addr( addr ); ed-1.16/io.c-237- while( true ) ############################################## ed-1.16/io.c-250- { ed-1.16/io.c:251: up = push_undo_atom( UADD, current_addr(), current_addr() ); ed-1.16/io.c-252- if( !up ) { enable_interrupts(); return -1; } ############################################## ed-1.16/io.c-262- if( appended && isbinary() && ( newline_added || total_size == 0 ) ) ed-1.16/io.c:263: unterminated_line = search_line_node( last_addr() ); ed-1.16/io.c-264- return total_size; ############################################## ed-1.16/io.c-292- if( !scripted() ) printf( "%lu\n", size ); ed-1.16/io.c:293: return current_addr() - addr; ed-1.16/io.c-294- } ############################################## ed-1.16/io.c-308- len = lp->len; ed-1.16/io.c:309: if( from != last_addr() || !isbinary() || !unterminated_last_line() ) ed-1.16/io.c-310- p[len++] = '\n'; ############################################## ed-1.16/regex.c-188- given direction. wrap around begin/end of editor buffer if necessary */ ed-1.16/regex.c:189:int next_matching_node_addr( const char ** const ibufpp, const bool forward ) ed-1.16/regex.c-190- { ed-1.16/regex.c-191- const regex_t * const exp = get_compiled_regex( ibufpp, false ); ed-1.16/regex.c:192: int addr = current_addr(); ed-1.16/regex.c-193- ############################################## ed-1.16/regex.c-195- do { ed-1.16/regex.c:196: addr = ( forward ? inc_addr( addr ) : dec_addr( addr ) ); ed-1.16/regex.c-197- if( addr ) ############################################## ed-1.16/regex.c-205- } ed-1.16/regex.c:206: while( addr != current_addr() ); ed-1.16/regex.c-207- set_error_msg( "No match" ); ############################################## ed-1.16/regex.c-372- { enable_interrupts(); return false; } ed-1.16/regex.c:373: set_current_addr( addr - 1 ); ed-1.16/regex.c-374- do { ############################################## ed-1.16/regex.c-376- if( !txt ) { enable_interrupts(); return false; } ed-1.16/regex.c:377: if( up ) up->tail = search_line_node( current_addr() ); ed-1.16/regex.c-378- else ed-1.16/regex.c-379- { ed-1.16/regex.c:380: up = push_undo_atom( UADD, current_addr(), current_addr() ); ed-1.16/regex.c-381- if( !up ) { enable_interrupts(); return false; } ############################################## ed-1.16/regex.c-385- enable_interrupts(); ed-1.16/regex.c:386: addr = current_addr(); ed-1.16/regex.c-387- match_found = true;