#include <rudiments/bytestring.h>
#include <rudiments/stdio.h>
int main(int argc, const char **argv) {
// initialize buffer
unsigned char buffer[]={0,2,0,2,0,2,0};
stdoutput.write("buffer : ");
stdoutput.safePrint(buffer,sizeof(buffer));
stdoutput.write("\n\n");
// find first and last 0
unsigned char *firstzero=(unsigned char *)
bytestring::findFirst(buffer,0,sizeof(buffer));
unsigned char *lastzero=(unsigned char *)
bytestring::findLast(buffer,0,sizeof(buffer));
stdoutput.write("first 0 : ");
stdoutput.safePrint(firstzero,sizeof(buffer)-(firstzero-buffer));
stdoutput.write('\n');
stdoutput.write(" last 0 : ");
stdoutput.safePrint(lastzero,sizeof(buffer)-(lastzero-buffer));
stdoutput.write("\n\n");
// find first and last 0,2,0 patterns
unsigned char pattern[]={0,2,0};
unsigned char *firstzerotwozero=(unsigned char *)
bytestring::findFirst(buffer,sizeof(buffer),
pattern,sizeof(pattern));
unsigned char *lastzerotwozero=(unsigned char *)
bytestring::findLast(buffer,sizeof(buffer),
pattern,sizeof(pattern));
stdoutput.write("first 0,2,0 : ");
stdoutput.safePrint(firstzerotwozero,
sizeof(buffer)-(firstzerotwozero-buffer));
stdoutput.write('\n');
stdoutput.write(" last 0,2,0 : ");
stdoutput.safePrint(lastzerotwozero,
sizeof(buffer)-(lastzerotwozero-buffer));
stdoutput.write("\n\n");
}