[prev] [index] [next]

Dynamic Memory Allocation (cont)

Attempt #1: use a local string buffer

char *lowerCase(char *str) {
	char *cp;  // input string cursor
	char *op;  // output string cursor
	char out[BUFSIZ];  // output string buffer
	
	op = out;
	for (cp = str; *cp != '\0'; cp++) {
		*op = tolower(*cp);
		op++;
	}
	*op = '\0';
	return out;  // what is the precise effect?
}

BUG: the out variable is removed when lowerCase() returns.