/* * Written by Carsten Larsen. * Public domain. */ #include "config.h" void cpy1(char **dest, const char *src) { char *nbuf; int len = strlen(src); if ((nbuf = malloc(len + 1)) == NULL) err0(1, "malloc"); memcpy(nbuf, src, len); nbuf[len] = '\0'; *dest = nbuf; } void cpy2(char **dest, const char *src1, const char *src2) { char *nbuf; int len = strlen(src1) + strlen(src2); if ((nbuf = malloc(len + 1)) == NULL) err0(1, "malloc"); memcpy(nbuf, src1, len); nbuf[len] = '\0'; strcat(nbuf, src2); // TODO: Change to fast copy *dest = nbuf; } void cpy1pad(char **dest, int minlen, const char *src) { char *nbuf; int alloclen, pad; int len = strlen(src); if (len < minlen) { alloclen = minlen; pad = minlen - len; } else { alloclen = len; pad = 0; } if ((nbuf = malloc(alloclen + 1)) == NULL) err0(1, "malloc"); while (pad-- > 0) { *nbuf++ = ' '; } memcpy(nbuf, src, len); nbuf[len] = '\0'; *dest = nbuf; } /****************************************************************************/ #ifdef __AMIGA__ int isblank(int c) { return c == '\t' || c == ' ' ; } int isspace(int c) { return c == '\t' || c == '\r' || c == '\n' || c == '\v' || c == '\f' || c == ' '; } #endif /****************************************************************************/