* Jonathan McDowell <noodles@earth.li>
*
* Copyright 2002 Project Purple
- *
- * $Id: armor.c,v 1.6 2003/06/07 13:45:34 noodles Exp $
*/
-#include <assert.h>
#include <stdlib.h>
#include "armor.h"
#include "keystructs.h"
+#include "log.h"
#include "onak-conf.h"
#include "parsekey.h"
} else if (c == 63) {
c = '/';
} else {
- assert(c < 64);
+ log_assert(c < 64);
}
return c;
state->putchar_func(state->ctx, 1, &c);
state->putchar_func(state->ctx, 1, (unsigned char *) "=");
state->putchar_func(state->ctx, 1, (unsigned char *) "=");
+ state->count += 3;
+ if ((state->count % ARMOR_WIDTH) == 0) {
+ state->putchar_func(state->ctx, 1,
+ (unsigned char *) "\n");
+ }
break;
case 2:
c = encode64((state->lastoctet & 0xF) << 2);
state->putchar_func(state->ctx, 1, &c);
state->putchar_func(state->ctx, 1, (unsigned char *) "=");
+ state->count += 2;
+ if ((state->count % ARMOR_WIDTH) == 0) {
+ state->putchar_func(state->ctx, 1,
+ (unsigned char *) "\n");
+ }
break;
}
state->crc24 &= 0xffffffL;
- state->putchar_func(state->ctx, 1, (unsigned char *) "\n");
+ if ((state->count % ARMOR_WIDTH) != 0) {
+ state->putchar_func(state->ctx, 1, (unsigned char *) "\n");
+ }
state->putchar_func(state->ctx, 1, (unsigned char *) "=");
c = encode64(state->crc24 >> 18);
state->putchar_func(state->ctx, 1, &c);
unsigned char t;
int i;
- assert(ctx != NULL);
+ log_assert(ctx != NULL);
state = (struct armor_context *) ctx;
switch (state->curoctet++) {
unsigned char tmpc;
int i;
- assert(ctx != NULL);
+ log_assert(ctx != NULL);
state = (struct dearmor_context *) ctx;
*c = 0;
dearmor_init(&dearmor_ctx);
dearmor_ctx.getchar_func = getchar_func;
dearmor_ctx.ctx = ctx;
- read_openpgp_stream(dearmor_getchar_c, &dearmor_ctx, packets);
+ read_openpgp_stream(dearmor_getchar_c, &dearmor_ctx,
+ packets, 0);
dearmor_finish(&dearmor_ctx);
/*
* TODO: Look for armor footer