b64/input.c
2025-05-26 00:06:22 +02:00

37 lines
594 B
C

#include "input.h"
#define OBUFSIZE 4
#define SBUFSIZE 5
#define PADDING '='
unsigned char o[OBUFSIZE];
unsigned char s[SBUFSIZE];
unsigned char *
getocts(FILE *fp, int *np)
{
int n, c;
n = 0;
while (n < OBUFSIZE-1 && (c = fgetc(fp)) != EOF)
o[n++] = c;
*np = n;
return (*np) ? o : NULL;
}
unsigned char *
getsxts(FILE *fp, int *np)
{
int n, p, c;
n = p = 0;
while (n < SBUFSIZE-1 && (c = fgetc(fp)) != EOF && c != PADDING)
s[n++] = c;
while (n+p < SBUFSIZE-1)
s[n+p++] = PADDING;
*np = n;
return (n) ? s : NULL;
}