409 |
{ |
{ |
410 |
if (enc->dst) |
if (enc->dst) |
411 |
{ |
{ |
412 |
* (enc->dst ++) = b64 [(enc->src[0] >> 2)]; |
* (enc->dst ++) = b64 [(enc->buffer[0] >> 2)]; |
413 |
* (enc->dst ++) = b64 [((enc->src[0] & 0x3) << 4) | (enc->src[1] >> 4)]; |
* (enc->dst ++) = b64 [((enc->buffer[0] & 0x3) << 4) | (enc->buffer[1] >> 4)]; |
414 |
* (enc->dst ++) = b64 [((enc->src[1] & 0xF) << 2) | (enc->src[2] >> 6)]; |
* (enc->dst ++) = b64 [((enc->buffer[1] & 0xF) << 2) | (enc->buffer[2] >> 6)]; |
415 |
* (enc->dst ++) = b64 [(enc->src[2] & 0x3F)]; |
* (enc->dst ++) = b64 [(enc->buffer[2] & 0x3F)]; |
|
|
|
|
enc->src += 3; |
|
416 |
} |
} |
417 |
|
|
418 |
enc->done += 4; |
enc->done += 4; |
433 |
switch (enc->state) |
switch (enc->state) |
434 |
{ |
{ |
435 |
case 1: |
case 1: |
436 |
* (enc->dst ++) = b64 [(enc->src[0] >> 2)]; |
* (enc->dst ++) = b64 [(enc->buffer[0] >> 2)]; |
437 |
* (enc->dst ++) = b64 [((enc->src[0] & 0x3) << 4)]; |
* (enc->dst ++) = b64 [((enc->buffer[0] & 0x3) << 4)]; |
438 |
* (enc->dst ++) = '='; |
* (enc->dst ++) = '='; |
439 |
* (enc->dst ++) = '='; |
* (enc->dst ++) = '='; |
440 |
break; |
break; |
441 |
|
|
442 |
case 2: |
case 2: |
443 |
* (enc->dst ++) = b64 [(enc->src[0] >> 2)]; |
* (enc->dst ++) = b64 [(enc->buffer[0] >> 2)]; |
444 |
* (enc->dst ++) = b64 [((enc->src[0] & 0x3) << 4) | (enc->src[1] >> 4)]; |
* (enc->dst ++) = b64 [((enc->buffer[0] & 0x3) << 4) | (enc->buffer[1] >> 4)]; |
445 |
* (enc->dst ++) = b64 [((enc->src[1] & 0xF) << 2)]; |
* (enc->dst ++) = b64 [((enc->buffer[1] & 0xF) << 2)]; |
446 |
* (enc->dst ++) = '='; |
* (enc->dst ++) = '='; |
447 |
break; |
break; |
448 |
} |
} |