string.c:3173
static VALUE
rb_str_justify(argc, argv, str, jflag)
    int argc;
    VALUE *argv;
    VALUE str;
    char jflag;
{
    VALUE w;
    long width, flen = 0;
    VALUE res;
    char *p, *pend, *f = " ";
    long n;
    VALUE pad;

    if (rb_scan_args(argc, argv, "11", &w, &pad) == 2) {
        if (!NIL_P(pad)) {
            StringValue(pad);
            if (RSTRING(pad)->len > 0) {
                f = RSTRING(pad)->ptr;
                flen = RSTRING(pad)->len;
            }
        }
    }
    width = NUM2LONG(w);
    if (width < 0 || RSTRING(str)->len >= width) return rb_str_dup(str);
    res = rb_str_new5(str, 0, width);
    p = RSTRING(res)->ptr;
    if (jflag != 'l') {
        n = width - RSTRING(str)->len;
        pend = p + ((jflag == 'r') ? n : n/2);
        if (flen <= 1) {
            while (p < pend) {
                *p++ = *f;
            }
        }
        else {
            char *q = f;
            while (p + flen <= pend) {
                memcpy(p,f,flen);
                p += flen;
            }
            while (p < pend) {
                *p++ = *q++;
            }
        }
    }
    memcpy(p, RSTRING(str)->ptr, RSTRING(str)->len);
    if (jflag != 'r') {
        p += RSTRING(str)->len; pend = RSTRING(res)->ptr + width;
        if (flen <= 1) {
            while (p < pend) {
                *p++ = *f;
            }
        }
        else {
            while (p + flen <= pend) {
                memcpy(p,f,flen);
                p += flen;
            }
            while (p < pend) {
                *p++ = *f++;
            }
        }
    }
    OBJ_INFECT(res, str);
    if (flen > 0) OBJ_INFECT(res, pad);
    return res;
}
