@aescling @wallhackio @vaporeon_ Yeah I'd tell Milly to put that on the blocklist
@vaporeon_ you stop that
the fediverse not beating the “heavily biased toward having a technical userbase” allegations
long, code
/* ISC license. */
#include <stddef.h>
#include <stdint.h>
#include <limits.h>
#include <errno.h>
#include <skalibs/uint64.h>
#include <skalibs/bytestr.h>
#include <skalibs/stralloc.h>
#include <execline/execline.h>
int el_parse (stralloc *sa, el_chargen_func_ref next, void *source)
{
static unsigned char const class[256] = "`aaaaaaaaadaaaaaaaaaaaaaaaaaaaaaafcbffffffffffffjhhhhhhhiifffffffmmmmmmfffffffffffffffffffffeffffggmmmgfffffffkfffkfkfkflffnfoffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" ;
static uint16_t const table[17][16] =
{
{ 0x0011, 0x0000, 0x0001, 0x2008, 0x0000, 0x0005, 0x2404, 0x2404, 0x2404, 0x2404, 0x2404, 0x2404, 0x2404, 0x2404, 0x2402, 0x2403 },
{ 0x0011, 0x0001, 0x0001, 0x0001, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001 },
{ 0x0012, 0x1000, 0x0404, 0x0008, 0x1000, 0x0005, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404 },
{ 0x0911, 0x0900, 0x0404, 0x0008, 0x0900, 0x0005, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404 },
{ 0x0111, 0x0100, 0x0404, 0x0008, 0x0100, 0x0006, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404 },
{ 0x0011, 0x2404, 0x2404, 0x2404, 0x0000, 0x2404, 0x2404, 0x2404, 0x2404, 0x2404, 0x2404, 0x2404, 0x2404, 0x2404, 0x2404, 0x2404 },
{ 0x0012, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404 },
{ 0x0012, 0x0408, 0x0408, 0x0408, 0x0008, 0x0408, 0x0408, 0x0208, 0x448c, 0x448c, 0x0089, 0x0208, 0x0408, 0x0408, 0x0408, 0x0408 },
{ 0x0012, 0x0408, 0x0408, 0x0004, 0x0408, 0x0007, 0x0408, 0x0408, 0x0408, 0x0408, 0x0408, 0x0408, 0x0408, 0x0408, 0x0408, 0x0408 },
{ 0x0012, 0x0012, 0x0012, 0x0012, 0x0012, 0x0012, 0x0012, 0x0012, 0x440a, 0x0012, 0x440a, 0x0012, 0x008e, 0x0012, 0x0012, 0x0012 },
{ 0x8111, 0x8408, 0x8408, 0x8004, 0x8408, 0x8007, 0x8408, 0x8408, 0x040b, 0x8408, 0x040b, 0x8408, 0x8408, 0x8408, 0x8408, 0x8408 },
{ 0x8111, 0x8408, 0x8408, 0x8004, 0x8408, 0x8007, 0x8408, 0x8408, 0x0410, 0x8408, 0x0410, 0x8408, 0x8408, 0x8408, 0x8408, 0x8408 },
{ 0x8111, 0x8408, 0x8408, 0x8004, 0x8408, 0x8007, 0x8408, 0x8408, 0x040d, 0x040d, 0x040d, 0x8408, 0x8408, 0x8408, 0x8408, 0x8408 },
{ 0x8111, 0x8408, 0x8408, 0x8004, 0x8408, 0x8007, 0x8408, 0x8408, 0x0410, 0x0410, 0x0410, 0x8408, 0x8408, 0x8408, 0x8408, 0x8408 },
{ 0x0012, 0x0012, 0x0012, 0x0012, 0x0012, 0x0012, 0x0012, 0x440f, 0x440f, 0x440f, 0x440f, 0x0012, 0x0012, 0x440f, 0x0012, 0x0012 },
{ 0x8111, 0x8408, 0x8408, 0x8004, 0x8408, 0x8007, 0x8408, 0x0410, 0x0410, 0x0410, 0x0410, 0x8408, 0x8408, 0x0410, 0x8408, 0x8408 },
{ 0x8111, 0x8408, 0x8408, 0x8004, 0x8408, 0x8007, 0x8408, 0x8408, 0x8408, 0x8408, 0x8408, 0x8408, 0x8408, 0x8408, 0x8408, 0x8408 }
} ;
size_t mark = 0 ;
unsigned int n = 0, blevel = 0 ;
uint8_t state = 0, base = 10 ;
while (state < 0x11)
{
uint16_t c ;
unsigned char cur ;
if (!(*next)(&cur, source)) return -1 ;
c = table[state][class[cur]-'`'] ;
state = c & 0x1F ;
if (c & 0x8000U)
{
uint64_t u ;
if (!stralloc_0(sa)) return -1 ;
sa->len = mark ;
uint64_scan_base(sa->s + sa->len, &u, base) ;
if (!u || u > 0xff) return -2 ;
sa->s[sa->len++] = (unsigned char)u ;
}
if (c & 0x4000U) mark = sa->len ;
if (c & 0x2000U)
{
unsigned int i = blevel ;
if (!stralloc_readyplus(sa, i<<2)) return -1 ;
while (i--) sa->s[sa->len++] = ' ' ;
}
if (c & 0x1000U) sa->len -= ++blevel ;
if (c & 0x0800U)
{
if (!blevel--) return -4 ;
sa->len -= 2 ;
}
if (c & 0x0400U) if (!stralloc_catb(sa, (char *)&cur, 1)) return -1 ;
if (c & 0x0200U)
{
char x = 7 + byte_chr("abtnvfr", 7, cur) ;
if (!stralloc_catb(sa, &x, 1)) return -1 ;
}
if (c & 0x0100U)
{
if (n++ >= INT_MAX) return (errno = E2BIG, -1) ;
if (!stralloc_0(sa)) return -1 ;
}
if (c & 0x0080U)
{
switch (cur)
{
case 'x' : base = 16 ; break ;
case '0' : base = 8 ; break ;
default : base = 10 ;
}
}
}
if (state > 0x11) return -2 ;
if (blevel) return -3 ;
return n ;
}
fuck off
it’s pronounced “ashling”. canonically a black housecat or any of the grass cat pokémon, but currently experiencing daily TFs. Commewnist. it/she and more. i automatically change my pfp on the furst post of the day
GlitchCat syscatmin and meowstodev; @ me about techincal problems with the instance, or fur feature requests. i got a job due to some extent to my work on this instance
i have very strong opinions about the sonic furanchise. pokémon has me in a chokehold when it comes to merchandise
available via email with the same username and domain. DM/email for other purrotocols
workplace policy is to clarify that all of my opinions expressed here are my own, and not those of my employer
“all this shit is still incomprehensible but im glad u accomplished something” ―@wallhackio