Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Optimized version of leftpad in plain C

Name: Anonymous 2016-03-23 21:32

#include <string.h>

static const char*
string_add(const char* first, const char* second)
{
const char* result = malloc(strlen(first) + strlen(second) + 1);
strcat(result, first);
strcat(result, second);
return result;
}

const char*
leftpad(const char* str, size_t len, char ch)
{
int i = -1;

if (ch == 0) ch = ' ';

int len = strlen(str);

while (++i < len) {
char buf[2] = { 0 };
buf[0] = ch;
str = string_add(buf, str);
}

return str;
}

Name: L. A. Calculus !jYCj6s4P.g 2016-04-02 1:22

IF DA SIZE OF DA STRING PLUS n IS GREATER THAN INT_MAX, UR NOT USING DA FUNCTION PROPERLY. PERIOD. DAT'S DA CALLING CONVENTION. IF U CALL DA FUNCTION PROPERLY, IT WILL WORK PROPERLY. DAT'S ALL DER IS TO IT. END OF FUCKING STORY.

Please avoid strlen
NO. GO FIND OUT WAT A STRING IS.

N WHAT IF n+s_len+1 OVERFLOWS IN UR EXAMPLE? U'VE WRITTEN PAST THE END OF DA STORAGE ALLOCATED BY malloc N UR PROGRAM'S BLOWN TO BITS.

SO UR CODE AIN'T PERFECT EITHER. U'VE FAILED AT BEING PEDANTIC. NOW GET DA FUCK OUTTA MY THRED, SAFETY MAN.

AND IF UR GONNA ARGUE DAT RELYING ON A SENSIBLE CALL IS BAD PRACTICE, CHEW ON DIS, BITCH:

leftpad("GO FUCK YASELF", 123421, 4932, 's'); /* FIX YOUR FUNCTION YA FUCKIN MORON. MY CALL DIDN'T WORK. */

CHECK FUCKIN MATE. NEXT VICTIM.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List