/* Copyright © 2008 Fazlul Shahriar*/ #include "fxp.h" char* estrstrdup(char *s, char *t) { char *u; u = emalloc9p(strlen(s)+strlen(t)+1); strcpy(u, s); strcat(u, t); return u; } char* estr3dup(char *s, char *t, char *r) { char *u; u = emalloc9p(strlen(s)+strlen(t)+strlen(r)+1); strcpy(u, s); strcat(u, t); strcat(u, r); return u; } char* eappend(char *s, char *sep, char *t) { char *u; if(t == nil) u = estrstrdup(s, sep); else{ u = emalloc9p(strlen(s)+strlen(sep)+strlen(t)+1); strcpy(u, s); strcat(u, sep); strcat(u, t); } free(s); return u; } char* egrow(char *s, char *sep, char *t) { s = eappend(s, sep, t); free(t); return s; } void hexdump(char *cmt, uchar *buf, int len) { Biobuf *bo; int i; bo = emalloc9p(sizeof *bo); Binit(bo, 1, OWRITE); Bprint(bo, "%s", cmt); for(i = 0; i < len; i++) Bprint(bo, "%02X ", buf[i]); Bprint(bo, "\n"); Bterm(bo); free(bo); }