static char buf[1024];
char *tmp = buf;
memset(buf, 0x00, 1024);
- size_t max_len = (len > 1010) ? 1010 : len;
-
+ size_t max_len = (len > 255) ? 255 : len;
+ // max 255 bytes * 3 + 2 characters = 767 in buffer
sprintf(tmp, "%s| ", sprint_hex(data, max_len) );
size_t i = 0;
size_t pos = (max_len * 3)+2;
- while(i < max_len){
+ // add another 255 characters ascii = 1020 characters of buffer used
+ while(i < max_len) {
char c = data[i];
if ( (c < 32) || (c == 127))
c = '.';
// -------------------------------------------------------------------------
// line - param line
-// bg, en - symbol numbers in param line of beginning an ending parameter
+// bg, en - symbol numbers in param line of beginning and ending parameter
// paramnum - param number (from 0)
// -------------------------------------------------------------------------
int param_getptr(const char *line, int *bg, int *en, int paramnum)
}
+int param_getlength(const char *line, int paramnum)
+{
+ int bg, en;
+
+ if (param_getptr(line, &bg, &en, paramnum)) return 0;
+
+ return en - bg + 1;
+}
+
char param_getchar(const char *line, int paramnum)
{
int bg, en;
}
}
+// replace \r \n to \0
+void strcleanrn(char *buf, size_t len) {
+ strcreplace(buf, len, '\n', '\0');
+ strcreplace(buf, len, '\r', '\0');
+}
+// replace char in buffer
+void strcreplace(char *buf, size_t len, char from, char to) {
+ for (size_t i = 0; i < len; i++) {
+ if (buf[i] == from)
+ buf[i] = to;
+ }
+}
+
+char *strmcopy(char *buf) {
+ char * str = NULL;
+ if ((str = (char*) malloc(strlen(buf) + 1)) != NULL) {
+ memset(str, 0, strlen(buf) + 1);
+ strcpy(str, buf);
+ }
+ return str;
+}
// determine number of logical CPU cores (use for multithreaded functions)