#include <stdio.h>
#include <stdlib.h>
#include <strings.h>

main(int argc, char **argv) {
char rbuf[8]="0123456";
size_t ret;
char c;
char hbit;
int i,vbit;

if(argc==1) {
	while(!feof(stdin)) {
		// effacement zone
		// for(ps=rbuf;ps<rbuf+sizeof(rbuf); *ps++=0);
		ret=fread(rbuf,1,7,stdin);
		hbit=0x00;
		for(i=0;i<7;i++) {	
			hbit<<=1;
			if(i<ret) {
				c=rbuf[i];
				if(c&0x80) {
					c&=0x7F;
					hbit|=0x01;
					}
				rbuf[i]=c;
				};
			}; 
		fwrite(&hbit,1,1,stdout);
		fwrite(rbuf,1,ret,stdout);
		};
	exit(0);
	};

if(argc==2 && strcasecmp(argv[1],"-r")==0) {
	while(!feof(stdin)) {
		// effacement zone
		// for(ps=rbuf;ps<rbuf+sizeof(rbuf); *ps++=0);
		ret=fread(rbuf,1,8,stdin);
		hbit=*rbuf;
		for(i=1;i<8;i++) {
			hbit<<=1;
			vbit=(hbit&0x80)? 128:0;
			if(i<ret) fputc(vbit+rbuf[i],stdout);
			}; 
		};
	exit(0);
	};

fprintf(stderr,"?? uk7bits [-r]");
exit(1);

};


