break;
}
}
-
/*
* We are done decoding Base-64 chars. Let's see if we ended
* on a byte boundary, and/or with erroneous trailing characters.
*/
-
- if (*src == PAD64) { /* We got a pad char. */
- ch = *src++; /* Skip it, get next. */
+ if (*src == PAD64) { /* We got a pad char. */
+ ch = *src++; /* Skip it, get next. */
switch (state) {
- case 0: /* Invalid = in first position */
- case 1: /* Invalid = in second position */
+ case 0: /* Invalid = in first position */
+ case 1: /* Invalid = in second position */
goto fail;
- case 2: /* Valid, means one byte of info */
+ case 2: /* Valid, means one byte of info */
/* Skip any number of spaces. */
for (; ch != '\0'; ch = *src++)
if (!isspace(ch))
goto fail;
ch = *src++; /* Skip the = */
/* Fall through to "single trailing =" case. */
- /* FALLTHROUGH */
- case 3: /* Valid, means two bytes of info */
+ case 3: /* Valid, means two bytes of info */
/*
* We know this char is an =. Is there anything but
* whitespace after it?
for (; ch != '\0'; ch = *src++)
if (!isspace(ch))
goto fail;
-
/*
* Now make sure for cases 2 and 3 that the "extra"
* bits that slopped past the last full byte were