@ -228,7 +228,7 @@ void cgit_querystring_cb(const char *name, const char *value)
} else if ( ! strcmp ( name , " ofs " ) ) {
} else if ( ! strcmp ( name , " ofs " ) ) {
cgit_query_ofs = atoi ( value ) ;
cgit_query_ofs = atoi ( value ) ;
} else if ( ! strcmp ( name , " path " ) ) {
} else if ( ! strcmp ( name , " path " ) ) {
cgit_query_path = xs trdup ( value ) ;
cgit_query_path = trim_en d ( value , ' / ' ) ;
} else if ( ! strcmp ( name , " name " ) ) {
} else if ( ! strcmp ( name , " name " ) ) {
cgit_query_name = xstrdup ( value ) ;
cgit_query_name = xstrdup ( value ) ;
}
}
@ -257,6 +257,28 @@ int hextoint(char c)
return - 1 ;
return - 1 ;
}
}
char * trim_end ( const char * str , char c )
{
int len ;
char * s , * t ;
if ( str = = NULL )
return NULL ;
t = ( char * ) str ;
len = strlen ( t ) ;
while ( len > 0 & & t [ len - 1 ] = = c )
len - - ;
if ( len = = 0 )
return NULL ;
c = t [ len ] ;
t [ len ] = ' \0 ' ;
s = xstrdup ( t ) ;
t [ len ] = c ;
return s ;
}
void cgit_diff_tree_cb ( struct diff_queue_struct * q ,
void cgit_diff_tree_cb ( struct diff_queue_struct * q ,
struct diff_options * options , void * data )
struct diff_options * options , void * data )
{
{