Skip to content

Commit

Permalink
adb: remove obsolete shell history support.
Browse files Browse the repository at this point in the history
Change-Id: I85a7cda176ca3bb7cb9f96e18556d53daaac3023
Signed-off-by: Mike Lockwood <[email protected]>
  • Loading branch information
mikeandroid committed May 25, 2010
1 parent 7fe202f commit 67d5358
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 336 deletions.
1 change: 0 additions & 1 deletion adb/Android.mk
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,6 @@ LOCAL_SRC_FILES := \
file_sync_client.c \
$(EXTRA_SRCS) \
$(USB_SRCS) \
shlist.c \
utils.c \
usb_vendors.c

Expand Down
122 changes: 19 additions & 103 deletions adb/commandline.c
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,6 @@
#include "adb_client.h"
#include "file_sync_service.h"

#ifdef SH_HISTORY
#include "shlist.h"
#include "history.h"
#endif

enum {
IGNORE_DATA,
WIPE_DATA,
Expand Down Expand Up @@ -232,23 +227,10 @@ static void read_and_dump(int fd)
}
}

#ifdef SH_HISTORY
int shItemCmp( void *val, void *idata )
{
return( (strcmp( val, idata ) == 0) );
}
#endif

static void *stdin_read_thread(void *x)
{
int fd, fdi;
unsigned char buf[1024];
#ifdef SH_HISTORY
unsigned char realbuf[1024], *buf_ptr;
SHLIST history;
SHLIST *item = &history;
int cmdlen = 0, ins_flag = 0;
#endif
int r, n;
int state = 0;

Expand All @@ -257,9 +239,6 @@ static void *stdin_read_thread(void *x)
fdi = fds[1];
free(fds);

#ifdef SH_HISTORY
shListInitList( &history );
#endif
for(;;) {
/* fdi is really the client's stdin, so use read, not adb_read here */
r = unix_read(fdi, buf, 1024);
Expand All @@ -268,97 +247,34 @@ static void *stdin_read_thread(void *x)
if(errno == EINTR) continue;
break;
}
#ifdef SH_HISTORY
if( (r == 3) && /* Arrow processing */
(memcmp( (void *)buf, SH_ARROW_ANY, 2 ) == 0) ) {
switch( buf[2] ) {
case SH_ARROW_UP:
item = shListGetNextItem( &history, item );
break;
case SH_ARROW_DOWN:
item = shListGetPrevItem( &history, item );
break;
default:
item = NULL;
break;
}
memset( buf, SH_DEL_CHAR, cmdlen );
if( item != NULL ) {
n = snprintf( (char *)(&buf[cmdlen]), sizeof buf - cmdlen, "%s", (char *)(item->data) );
memcpy( realbuf, item->data, n );
}
else { /* Clean buffer */
item = &history;
n = 0;
}
r = n + cmdlen;
cmdlen = n;
ins_flag = 0;
if( r == 0 )
continue;
}
else {
#endif
for(n = 0; n < r; n++){
switch(buf[n]) {
case '\n':
#ifdef SH_HISTORY
if( ins_flag && (SH_BLANK_CHAR <= realbuf[0]) ) {
buf_ptr = malloc(cmdlen + 1);
if( buf_ptr != NULL ) {
memcpy( buf_ptr, realbuf, cmdlen );
buf_ptr[cmdlen] = '\0';
if( (item = shListFindItem( &history, (void *)buf_ptr, shItemCmp )) == NULL ) {
shListInsFirstItem( &history, (void *)buf_ptr );
item = &history;
}
}
}
cmdlen = 0;
ins_flag = 0;
#endif
state = 1;
break;
case '\r':
state = 1;
break;
case '~':
if(state == 1) state++;
break;
case '.':
if(state == 2) {
fprintf(stderr,"\n* disconnect *\n");
#ifdef HAVE_TERMIO_H
stdin_raw_restore(fdi);
#endif
exit(0);
}
default:
#ifdef SH_HISTORY
if( buf[n] == SH_DEL_CHAR ) {
if( cmdlen > 0 )
cmdlen--;
}
else {
realbuf[cmdlen] = buf[n];
cmdlen++;
}
ins_flag = 1;
for(n = 0; n < r; n++){
switch(buf[n]) {
case '\n':
state = 1;
break;
case '\r':
state = 1;
break;
case '~':
if(state == 1) state++;
break;
case '.':
if(state == 2) {
fprintf(stderr,"\n* disconnect *\n");
#ifdef HAVE_TERMIO_H
stdin_raw_restore(fdi);
#endif
state = 0;
exit(0);
}
default:
state = 0;
}
#ifdef SH_HISTORY
}
#endif
r = adb_write(fd, buf, r);
if(r <= 0) {
break;
}
}
#ifdef SH_HISTORY
shListDelAllItems( &history, (shListFree)free );
#endif
return 0;
}

Expand Down
13 changes: 0 additions & 13 deletions adb/history.h

This file was deleted.

185 changes: 0 additions & 185 deletions adb/shlist.c

This file was deleted.

Loading

0 comments on commit 67d5358

Please sign in to comment.