#development

1 messages · Page 176 of 1

placid kraken
#

i got if statements parsed!!!

#
pub fn main() {
    if (true) {
        if (true) {
            ret false;
        }

        Int i = 0;
        i++;
    } else {
        ret true;
    }
}
``` now parses
worthy mulch
#

what tool was used in the shell script versions of palera1n to only downlod part of an archive? I can't remember the name of the tool at all

native dune
#

u can just use remotezip from pip

faint stag
#

pzb is fragile

shrewd moth
#

Is shyNotifications working on iOS 16?

faint stag
#

you can try

#

but it's not a rootless tweak

#

so you have to derootify

faint stag
worthy mulch
shrewd moth
faint stag
placid kraken
#

@radiant idol i did if statements

#
fn input(String message) {
    Long stdin = fdopen(0, "r");
    Char buf[1024];

    printf(message);
    fgets(buf, 1024, stdin);

    Long len = strlen(buf);
    Long index = len - 1;
    Long newline = buf + index;

    newline <- Byte 0;
    ret buf;
}

fn isEven(Int num) {
    ret num % 2 == 0;
}

pub fn main() {
    String userInput = input("is your number even? -> ");
    Int num = atoi(userInput);

    if (isEven(num)) {
        printf!("%d is even omg\n\n", num);
    } else {
        printf!("we hate the number %d (its not even)!!!\n\n", num);
    }

    main();
}
#

i cant believe this actually worked

#

it was such a pain to parse

crisp frost
#

( its cool tho )

placid kraken
radiant idol
#

wait

radiant idol
placid kraken
#

recursive

#

its like a loop

#

so that i can get another input without needring to rerun the program

#

this is what ive been doing in the time before i introduce while loops

#

however while loops will work very similar to if statements

#
  • jump non zero to a special label otherwise straight to the end
  • in the block, have a jump non zero to either the label youre currently in or to the end label
  • the end label just continues the function as usual
radiant idol
#

weird but ok

placid kraken
#

its essentially the same thing as ```rs
pub fn main() {
while (true) {
String userInput = input("is your number even? -> ");
Int num = atoi(userInput);

    if (isEven(num)) {
        printf!("%d is even omg\n\n", num);
    } else {
        printf!("we hate the number %d (its not even)!!!\n\n", num);
    }
}

}

#

so not that weird

reef trail
#

i’ve never seen a recursive main before

#

but yeah valid code

placid kraken
#

i do this all the time in TS where having an entry point isnt actually required but just useful to have

#

as in, in my little playground session thingies

#

ok actually usually i dont recursively call main i just use a while loop

#

but you get the point

reef trail
#

yeah that makes sense cos main isn’t technically the entry point

#

but i’ve never seen in used in like rust or smth

#

where you don’t have top level expressions

placid kraken
#

this isnt rust but yeah

reef trail
#

it compiles to it doesn’t it?

crisp frost
radiant idol
#

Crust

placid kraken
reef trail
#

i’m confused then

placid kraken
placid kraken
#

the language is built in rust

#

it doesnt compile to rust

reef trail
#

i thought that was the output lol

#

mb

placid kraken
#

that elle compiles to

#

it's supposed to be .ssa but discord doesnt have syntax highlighting for that ofc

reef trail
#

ohhh

placid kraken
#

oh shit i need to implement break and continue statements

reef trail
#

and goto

#

i’ve used them like once but they’re useful

placid kraken
#

how would you use goto in this case

#

can you give loops labels in C or something

reef trail
#

i believe so

placid kraken
#

realistically break and continue will just expand to a jmp instruction

#

break will jump straight to the end block

#

continue will jump straight back to the loop block

reef trail
#

yep

placid kraken
#

what better way to learn C than to create an entire new language that uses C primitives

remote folio
#

Can anyone with understanding of swift and objc in theos help me with this ld error?

#

ld: Undefined symbols:
OBJC_CLASS$_object, referenced from:
in WalLib.swift.b9c73fa1.o

#

Objc code compiles fine but when it gets to linking i get this

placid kraken
#

ok i implemented while loops

#

this is now valid code

fn input(String message) {
    Long stdin = fdopen(0, "r");
    Char buf[1024];

    printf(message);
    fgets(buf, 1024, stdin);

    Long len = strlen(buf);
    Long index = len - 1;
    Long newline = buf + index;

    newline <- Byte 0;
    ret buf;
}

fn isEven(Int number) {
    ret number % 2 == 0;
}

pub fn main() {
    puts("welcome to something idk");

    String userInput = "";
    Int number = 0;

    while (true) {
        userInput = input("enter an even number -> ");
        number = atoi(userInput);

        if (number == 0) {
            printf!("invalid input.");
            continue;
        }

        if (isEven(number)) {
            break;
        } else {
            printf!("we hate the number %d!!! (its not even)\n\n", number);
        }
    }

    printf!("%d is even!!\n", number);
}
#

the compiler is also almost 1300 lines

#

so thats fun i guess

#

oh and i need to implement not aswell

#

because i havent done that yet

#

oh god parsing not is gonna be so hard

#

because im gonna have to parse everything up to an arithmetic operator and then parse that all individually and stuff

#

swift ^^^

#

i have been explicit with values and errors everywhere

#

educational purposes

#

idk just how educational i wanna get

slim bramble
#

mfw tesla wants to change something only for iOS 14

acoustic imp
#

U don’t Gota post everything

grand tide
#

@slim bramble i made a tweak from one of your ideas

placid kraken
slim bramble
placid kraken
#

@acoustic imp just make it < 15 then

#

thats a simple enough fix

acoustic imp
#

IK!

slim bramble
#

easy fix

acoustic imp
slim bramble
grand tide
#

[[ntwerk+]]

faint lionBOT
#
ntwerk+

ntwerk+

Author

mixbom

Version

1.0-12+debug

Price

Free

Bundle ID

com.mixbom.ntwerk+

placid kraken
#

icraze!!!

hasty ruin
#

?

grand tide
#

it also changes dleovl’s to something

slim bramble
hasty ruin
#

cool story

slim bramble
grand tide
#

discord

#

check it out

hasty ruin
#

he made a token logger

grand tide
#

no

primal perch
#

based

grand tide
#

💀

slim bramble
#

Bro published a debug version of his tweak

#

💀

primal perch
#

crazeware

hasty ruin
grand tide
#

i rewrote all the code woeis

hasty ruin
#

you placed an else if before else

grand tide
#

i also had to add an import

#

i’ll change all the code if u want

#

even though i don’t think there’s another way to do it

slim bramble
#

where did you get ntwerk srcs from ?

grand tide
#

this server

#

i flipped a coin then icraze replied to it cause it was heads

slim bramble
#

zefram :

grand tide
#

skip like half way through

primal perch
#

🙏

placid kraken
#

what even is ntwerk

hasty ruin
#

the ntwerk tweak changes capt's pfp to intjmentallyhandicapped

grand tide
#

yeah but mines better

primal perch
#

but nsfw

hasty ruin
#

🤨

primal perch
#

based

grand tide
#

@radiant idol btw fix jade, i’m on 14pm ios 16.2 and whenever i’m in an app and try to swipe in jade it freezes my phone for like 10 seconds and no buttons work and i can’t do anything

radiant idol
#

disable all other tweaks and see if the issue still happens

grand tide
radiant idol
#

👍

grand tide
#

if it happens again and keeps happening i’ll let u know

radiant idol
#

ok

ashen birch
#

broke alert

hasty ruin
#

you have to use fakenitro to see that

#

🤨

ashen birch
hasty ruin
#

nah shep is paying intjmyman

ashen birch
#

never mind slay

hasty ruin
ashen birch
#

we love sugar daddies

#

@lime quartz is mine

#

(they’re nothing but a complete pain in my ass)

primal perch
hasty ruin
grand tide
#

how do i compile a non-debug version of my tweak?

timid furnace
grand tide
#

thank you

proud geyser
#
import Foundation

class FriendshipManager: ObservableObject {
    @Published var searchQuery: String = ""
    @Published var searchResults: [User] = []
    
    var authToken = TokenStorage().getToken()
    
    let friendshipRoutes = FriendshipRoutes()
    
    func searchFriendRequest(query: String) async throws -> [User] {
        let response = try await friendshipRoutes.searchFriendRequest(authToken: authToken!, searchQuery: searchQuery)

        // Extract the User objects from the response
        var users: [User] = []
        for dataResponse in response.compactMap({ $0.data }) {
            if let user = dataResponse.user {
                users.append(user)
            }
        }

        
        return searchResults
    }
    
    func createFriendRequest(userID: String, friendID: String) async throws -> APIResponse {
        let response = try await friendshipRoutes.createFriendRequest(userID: userID, friendID: friendID)
            
        return response
    }

    
    func fetchFriends(for userID: String) async throws -> APIResponse {
        let response = try await friendshipRoutes.fetchFriends(for: userID)
        
        return response
    }
}```
```swift
ForEach(friendshipManager.searchFriendRequest(query: friendshipManager.searchQuery).filter({ searchText.isEmpty ? true : $0.username.lowercased().contains(searchText.lowercased()) })) { user in
                        UserCell(user: user)
                    } ```
 PlayGround/PlayGround/Views/HomeView/HomeView.swift:49:29 'async' call in a function that does not support concurrency/PlayGround/PlayGround/Views/HomeView/HomeView.swift:49:29 Call can throw, but it is not marked with 'try' and the error is not handled how do i fix these errors
#

help?

placid kraken
#

im thinking of changing ret to return

opinions?

  1. ret
  2. return
#

current

fn isEven(Long n) -> Long {
    ret n % 2 == 0;
}

fn fib(Long n) -> Long {
    if (n <= 1) {
        ret n;
    }

    ret fib(n - 1) + fib(n - 2);
}

fn fact(Long n) -> Long {
    if (n <= 1) {
        ret n;
    }

    ret n * fact(n - 1);
}
placid kraken
#

the results are overwhelming it seems like ret wins guys

#

/j i made it return

#

this stuff all compiles

radiant idol
# placid kraken

all you have left is to make it func instead of fn and this language is golden

native orbit
#

#define func fn

radiant idol
#

.

#

I just realized

#

this is basically just sw*ft

brazen timber
#

YUCK

slim bramble
#

Use return

slim bramble
placid kraken
#

eventually

cloud yacht
#

You should make a post processor

wooden yarrow
#

💀

radiant idol
#

.

placid kraken
#

i still don’t get why people don’t like rust

#

i get swift

#

but rust?? why

#

“i just don’t like it” grow up

primal perch
#

fanbase sucks

native orbit
#

has no undefined behavior, so its boring

wooden yarrow
#

me

native orbit
#

"but it more secure".... mf u writing a fetch program

wooden yarrow
#

i was quite literally thinking of rewriting DyldExtractor in Rust since it's been abandoned (or so it seems) but then gave the thought up because it was too much effort

orchid fulcrum
#

Programming without memory leaks is boring

cloud yacht
#

I mean you can still memory leak

#

Just you safely memory leak

wooden yarrow
#

🔥🔥

primal perch
#

🚀🔥

placid kraken
#

the license is beautiful

faint timber
#

I be cing rust you be rusting c we are not the same

placid kraken
#

GLWTS(Good Luck With That Shit) Public License
Copyright (c) Every-fucking-one, except the Author

Everyone is permitted to copy, distribute, modify, merge, sell, publish,
sublicense or whatever the fuck they want with this software but at their
OWN RISK.

                         Preamble

The author has absolutely no fucking clue what the code in this project
does. It might just fucking work or not, there is no third option.

            GOOD LUCK WITH THAT SHIT PUBLIC LICENSE

TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION, AND MODIFICATION

  1. You just DO WHATEVER THE FUCK YOU WANT TO as long as you NEVER LEAVE
    A FUCKING TRACE TO TRACK THE AUTHOR of the original product to blame for
    or held responsible.

IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

Good luck and Godspeed.

wooden yarrow
# placid kraken LMAOO

this does actually use a bug with the language that has not been fixed since 2015 regarding lifetimes

#

💀

wooden yarrow
cloud yacht
timid furnace
#

Does the changelog tab require json depictions

#

For sileo

cloud yacht
#

As far as I can tell, yes

placid kraken
#

ok i added real documentation now lmao

#

deranged language

#

why is it a whole byte

#

it only needs to be a single bit

cloud yacht
#

True false maybe perhaps, Etc.

primal perch
#

then you have annoying overhead with tracking it

#

its only really viable with bitfields in structs

placid kraken
#

false

#

maybe

#

its complicated

#

oscillating

#

i just realised that i actually do it even worse

#

because elle compiles true into the number 1 and false into the number 0

#

by default, without a type, its a 32 bit signed integer

#

lmao same

#

well ok its not that bad

gentle grove
#

for reason shepgoba said

placid kraken
#

i guess that makes sense

gentle grove
#

that's why you find bitmasks or whatever the word is

#

by a very large number

#

exactly

#

what

#

im explaining why its bad

placid kraken
#

we have decided to introduce superstate into memory addresses

#
void *schrodinger_cat = malloc(1020.5);
slate isle
#

did A15 get a ppl bypass yet?

placid kraken
#

i’m a non c dev and i know it’s a long

#

about which one

#

that i’m a non c dev or that it’s a long

#

iirc float just puts a decimal point in the middle of the memory allocated and single/double uses ieee 754?

#

oh lmao

grand tide
#

i can’t figure out why i keep getting this error while trying to compile 😭

#

please someone help 🙏

reef trail
#

icr which springboard framework sbiconview is from

#

but pinnacle uses it

grand tide
#

thank you

gentle grove
#

like they work by storing a base number and then a signed exponent for that base

placid kraken
#

first bit is the sign bit, then the next 8 bits are exponent, then the rest (usually 23 bits) is the mantissa

#

they need a number from 1 to 2 so they truncate it to always start with a 1 and give you an extra bit to work with

#

(i watched the fast inverse square root video like 8 times)

native orbit
#

mfw arm64_32

timid furnace
cloud yacht
#

Me when I use a 32 bit computer

primal perch
#

ppl_bypass();

grand tide
#

so my tweak is enabled but doesn’t work frcoal

#

why is development this annoying

#

i can’t imagine how swift must be

#

how do i check logs to see what’s wrong?

cloud yacht
#

Idevicesyslog, console.app or Antonie

frail cedar
#

I use Console and then filter for phrase

#

then have all the logs have that phrase

cloud yacht
#

I don't own a Mac

slim bramble
frail cedar
#

im getting annoyed at nano's limitations and seriously considering learning how vim works which is a bad thing

vivid dew
#

just make a gui that does what the terminal app does but worse

reef trail
reef trail
grand tide
#

i love compiling my tweaks and having them not work at all and not produce logs i added!

harsh junco
grand tide
#

that’s it i’m making rune

reef trail
grand tide
#

but not rune

harsh junco
reef trail
#

still ew

harsh junco
#

it has vim compatibility layer

#

Why. Ew.

lyric heron
#

ew

#

ew

harsh junco
lyric heron
#

(no clue what's going on)

cloud yacht
reef trail
harsh junco
reef trail
#

why use emacs with vim motions

#

that makes zero sense

harsh junco
reef trail
#

?

#

Lazy.nvim

#

which most people use for their package manager

#

otherwise Packer

cloud yacht
#

just execute terminal commands from inside vim

#

then you don'y need to leave it

reef trail
#

you dont need to leave it anyway but yeah :!

#

for any cli commands you need to run you can run from inside vim

cloud yacht
#

I've been meaning to actually learn vim

reef trail
#

you should, use Kickstart nvim and build your config from there you’ll love it

#

it’s the best thing i’ve done to improve my dev workflow

harsh junco
#

I just don’t like vim

reef trail
#

stupid argument but okay

#

“me no likey”

#

i’ve tried emacs and i hate how bloated it is

#

it does too much

#

bloated is the wrong word

#

but it tries to be many things

harsh junco
#

Thats why i like it

native relic
#

Anyone got any tips on the best MacOS version and VM software for a Theos hackingtosh please?

reef trail
#

if you’re on windows i’m not sure what the best option is

reef trail
# harsh junco Thats why i like it

to each their own, i prefer my editor just be an editor and allow me to add other modules that i might want myself instead of defaulting to having everything built in

native relic
#

If you could find the macOS version that’d be great please! I have VMware already but wondered if there was a preferred approach

kind herald
#

VMs suck for macOS

reef trail
#

have some scripts setup to allow me to run everything as if it weren’t building in the mac too so it’s really seem less

reef trail
#

not latest xcode but the version of xcode with support for ios 17

native relic
#

Does anyone know any way I can fix this please?

  • I'm able to SSH into my phone
  • I'm able to use the MacOS root user
  • I'm able to make packages
  • My user is secured with a password
  • My phone's root and mobile have passwords
native relic
acoustic imp
#

Your sure that’s the right ip ?

faint timber
acoustic imp
#

sbreload ?

faint timber
#

Nope

queen ruin
#

Theos device ip?

faint timber
#

TWEAK_NAME can have multiple values when you expand it it may use the one you don’t think @native relic

#

Moral of the story is don’t expand it

native relic
#

I changed it to this, but it still output the same error:

#

Definitely the correct local IP. I can ssh using ssh root@10.0.0.24 . Removing the after-install section produced the same error 😦

#

I think it's a MacOS error. It doesn't matter what IP I use for my device, I feel like it's happening during the theos scripts

naive kraken
# native relic

if you need to set SYSROOT that means you're doing something wrong

#

But that's unlikely to be the reason for your problems

kind herald
#

no that's tim cook

grand tide
#

if someone could help me figure out why this won’t work please help, this is a tweak i’m working on that won’t work how i want it to, if i swipe up in the top left of my screen it’s supposed to drop down a little menu but nothing happens when i try and idk why, if anyone sees anything that’s wrong in my code that makes this not work please tell me, btw it compiles

native relic
#

THanks for the help all.
I've setup a completely fresh VM with a password protected user from the get-go.

I'm getting a similar issue, it now asks for a password:

#

I've tried my phone's mobile/root PW and my MacOS password, neither work, nor does blank or "alpine"

#

On submission it says this:

#

Alternatively, is there a commandline utility I can use to remote install a .deb package from my MacOS to iOS device over wifi rather than depending on theos/make install?

faint timber
#

Root is turned off now

gentle grove
hexed knot
#

Times b rough

grand tide
#

yes

native relic
#

@faint timber I enabled MacOS' root account, now this is getting weirder

#

At first it made me install dpkg. I've now realised the make install is trying to install the package on the Mac, not my phone

#

No clue why though

#

Running the line export THEOS_DEVICE_IP=10.0.0.42 manually before in Terminal fixed it, wonder why that's not working from my Makefile

native orbit
#

anyone got an ios 7 (any version) 32bit dsc on hand lol

wooden yarrow
#

iPhone 4 GSM iOS 7.1.2

gentle grove
faint timber
#

I’m speaking iOS

placid kraken
#

Visualizing two core operations in calculus. (Small error correction below)
Help fund future projects: https://www.patreon.com/3blue1brown
An equally valuable form of support is to simply share some of the videos.
Special thanks to these supporters: http://3b1b.co/divcurl-thanks

My work on this topic at Khan Academy: https://www.khanacademy.o...

▶ Play video
#

this is really good

orchid fulcrum
#

Nobody likes divergence and curl

#

Especially ee students 😣

naive kraken
#

no this is patrick

placid kraken
native relic
#

Now that I ran those exports in the terminal prior to make install, it worked.

#

Is there a different way I can export those vars?

oak meadow
grand tide
serene hawk
#

idk exactly what its supposed to do but: you aren't hooking any class that should invoke the view controller and you're only giving the interface declaration and implementation for your "CustomViewController" but it's never used

grand tide
serene hawk
# grand tide oh ok thanks i was trying to figure out what i missed
GitHub

A tweak tutorial for beginners to the iOS jailbreak developer community! - NightwindDev/Tweak-Tutorial

GitHub

Information on building iOS runtime tweaks. Contribute to MTACS/TweakGuide development by creating an account on GitHub.

grand tide
# serene hawk smells like chatgpt

i used it for the captions to try to make it easier to understand when i send it here also to fix one of my imports, also the beginning is a template for simple preferences theos gave me

grand tide
native orbit
#

tsoding the goat fr

placid kraken
#

"memory is just an array of bytes and a pointer is just an integer"

realest statement ive heard from tsoding all year

tepid olive
#

This interesting to us at all?

sonic totem
#

No

ashen birch
#

fuck morality sell your exploits to the highest bidder 🫡

placid kraken
steady nest
hasty ruin
#

Fr

ashen birch
tender imp
#

anyone a python dev

placid kraken
#

depends

tender imp
#

having an issue with threading

placid kraken
#

ah

tender imp
#

can you assist

placid kraken
#

yeah i think so

tender imp
#

ty

#

getting this but idk where to close my thread at

placid kraken
#

ok so i believe this happens because youre trying to update the gui from a thread other than the main thread

in this case thats the thread in ttkTimer

tender imp
#

yeah but im getting that error when closing the program and idk where to close the thread ttkTimer ngl

placid kraken
#

in _quit i guess?

tender imp
#

how would you close it

placid kraken
#

1 second

tender imp
#

okoko

ashen birch
ashen birch
tender imp
#

agree but i need for ms timing

ashen birch
#

actually i’m not sorry about saying that they’re a fucking pain to debug

tender imp
#

fr

#

how would one apply for orange name

ashen birch
#

@lime quartz’s tsschecker code is such dogshit

tender imp
#

would be refreshing

#

frfr

ashen birch
#

but maybe that’ll change soon

tender imp
#

i dont believe you

ashen birch
tender imp
#

oh fr

placid kraken
# tender imp

ok well in this case, Tk.Tk() is a singleton, so consider assigning the Player to a global variable considering its only assigned once anyway

that way you can use the properties inside in _quit

tender imp
#

hm

placid kraken
#

you can do this like

player = None;

def _quit():
    global player;
    
    player.whatever();

if __name__ == "__main__":
    player = Player(...);
``` i believe
#

i havent used python in a little while

ashen birch
#

Soon Fr .

placid kraken
#

you dont need the global player directive at the bottom because thats already in the global scope its just an if statement

placid kraken
#

okok

tender imp
#

ty for heklp

#

cannot type

placid kraken
#

lmao np i guess

tender imp
#

lol

tender imp
#

i fucked around with other shit

#

but i implemented it and it worked

#

🙏

#

@placid kraken

placid kraken
#

real!!!!

#

🙏

primal perch
placid kraken
#

sorry

#

force of habit

#

oh it didnt reply

placid kraken
tender imp
#

fr

placid kraken
#

PyTSS (Python Typescript Synthesizer)

primal perch
#

criminally low

#

making apple look generous rn

ashen birch
#

im sayin

slender glade
#

@granite frigate @tawdry storm

faint stag
#

i was playing soul hackers 2 and didn't realize it got removed from game pass 😭

wooden yarrow
#

@native orbit did u still need the dyld

acoustic imp
#

for doing translations, is it fine if i have one big localizations.strings file for each language and object for key ?

#

or is there some like struct thing i could do with the like index thing (idk)

slim bramble
#

you have

#

en_US.lsproj:
localizations.strings
fr.lproj:
localizations.strings

acoustic imp
#

ik

slim bramble
#

under each localizations you have

#

"CONSTANT" = "Text here";
"CONSTANT1" = "Other text here";
"CONSTANT2" = "Other other text here";
"CONSTANT3" = "Other other other text here";

#

@acoustic imp

acoustic imp
#

ok yea that what im doing

#

looked at what night did

#

chat gpt time troll

acoustic imp
#

then what do i do ?

native orbit
ashen birch
odd ridge
torn oriole
#

RAAAAGH PYTHON

#

Lmfaooo the latest discord canary emote menu is broken

#

Crashes discord

tawdry trench
cloud yacht
cloud yacht
gentle grove
#

holy shit

#

this other dvd/bluray drive i stole from the other pc is way faster

#

its reading at 20 MiB/s rather than 500 KiB/s

#

its being bottlenecked by my home partition drive which is over usb 2.0

placid kraken
#

how the fuck does atol parse 4.a into 4

#

is it high

#

i validate my string like this

String userInput = input("Enter a number -> ");
Long number = atol(userInput);

// Not all characters are numeric
if (strspn(userInput, "0123456789.") != strlen(userInput)) {
    printf!(
        "Invalid input: %s (parsed to %ld)\n",
        userInput, 
        number
    );

    continue;
}
``` but `atol` works so weird wtf
#

atol falls back to 0 if it fails to parse the string as a long

#

but how in the world does it parse 4.a into 4

#

the atol implementation is so horror

long atol( const char* s ) {
    long v = 0;
    int sign = 0;

    while ( ( *s == ' ' ) || ( ( unsigned int )( *s - 9 ) < 5u ) ) {
        ++s;
    }

    switch ( *s ) {
        case '-' : sign = -1;
        case '+' : ++s;
    }

    while ( ( unsigned int )( *s - '0' ) < 10u ) {
        v = v * 10 + *s - '0';
        ++s;
    }

    return sign ? -v : v;
}
#

i lied

radiant idol
#

is that real

timid furnace
placid kraken
#

but that is basically what puts does

#

lmfao

radiant idol
#

lol

placid kraken
#

thats why i printf instead of puts in ```rs
fn input(String message) {
Long stdin = fdopen(0, "r");
Char buf[1024];

printf(message);
fgets(buf, 1024, stdin);

Long len = strlen(buf);
Long index = len - 1;
Long newline = buf + index;

newline <- Byte 0;
return buf;

}

#

i dont want the newline

radiant idol
#

this is disgusting

placid kraken
# radiant idol

its equivalent in C code to

char* input(char* message) {
    char buf[1024];

    printf(message);
    fgets(buf, 1024, stdin); // dont need to define stdin as its a dynamically linked symbol

    long len = strlen(buf);
    long index = len - 1;
    char* newline = buf + index;

    *newline = '\0';
    return buf;
}
#

storing a value at a pointer

radiant idol
#

yes I understand

#

but it looks weird

placid kraken
#

newline is a pointer, that line read as plain english says, "at the newline pointer store the byte 0"

radiant idol
#

I know what it means

placid kraken
radiant idol
#

it ust looks odd

placid kraken
#

until i add pointer dereferencing and stuff it will look weird

#

currently any and every pointer is just a Long

radiant idol
#

well add it

placid kraken
#

even strings are just aliases for longs

#

lmfao

#
pub fn get_type(r#type: String) -> Option<Type> {
    match r#type.as_str() {
        "Byte" => Some(Type::Byte),
        "Halfword" => Some(Type::Halfword),
        "Word" => Some(Type::Word),
        "String" => Some(Type::Long),
        "Int" => Some(Type::Word),
        "Long" => Some(Type::Long),
        "Single" => Some(Type::Single),
        "Double" => Some(Type::Double),
        "Char" => Some(Type::Byte),
        "Nil" => None,
        _ => Some(Type::Word),
    }
}
radiant idol
#

how odd

placid kraken
#

strings are not first class types in qbe ir, so you define a data section then you get a pointer to that data to use

#

all pointers are just numbers

#

sooooo

#

you can store data at a pointer via the instruction you pointed out earlier

#

currently there is no load instruction syntactically

#

you can only pass the pointers to existing C functions

#

i want to make a field access syntax

#

like ```rs
Char myChar = buf[0];

#

or whatever

hasty ruin
acoustic imp
#

having an issue where this is null, the file does exsist(ik bc i have a check) but idk why its doing thisobjc NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:filePath]

#

part of the file ENABLED = "Enabled"; ARTWORK = "Artwork"; PLAYER = "Player"; LABELS_AND_ROUTING_BUTTON = "Labels and Routing Button"; LOCK_SCREEN = "Lock Screen"; CONTACT_SUPPORT = "Contact (Support)"; CREDITS = "Credits"; HIDE_MUSIC_APP_ICON = "MIDE MUSIC APP ICON"; HIDDEN = "Hidden"; EXPANDED_ARTWORK_SIZE_WHEN = "Expanded artwork size when"; PORTRAIT_MODE = "Portrait Mode"; LANDSCAPE_MODE = "Landscape Mode"; MINIMIZED_ARTWORK-GROUPTITLE = "-- MINIMIZED ARTWORK --"; ARTWORK_DROP_SHADOW = "Artwork drop shadow"; SHADOW_Y_OFFSET = "Shadow Y offset"; SHADOW_X_OFFSET = "Shadow X offset"; SHADOW_RADIUS = "Shadow Radius"; SHADOW_OPACITY = "Shadow Opacity";

hasty ruin
#

if dictionaryWithContentsOfFile: returns null, then your file does not contain a dictionary

placid kraken
#

i just made a super fucking fast fibonacci algorithm

#
fn fibonacci(Long n) -> Long {
    if (n <= 1) {
        return n;
    }

    Long prev = 0;
    Long current = 1;
    Long i = 2;

    while (i <= n) {
        i++;
        
        Long next = prev + current;
        prev = current;
        current = next;
    }

    return current;
}
#

it uses a while loop instead of recursion

#

and for some reason thats super fast now..?

#

the old impl was

fn fibonacci(Long n) -> Long {
    if (n <= 1) {
        return n;
    }

    return fibonacci(n - 1) + fibonacci(n - 2);
}
#

although tbh i see why its faster

#

because the recursive one will call fib(n-2) for calculating fib(n-1)

#

either way it was struggling to calculate fib(50) before

#

now it can calculate fib(100) instantly

native orbit
#

try fib(1000000) trol

placid kraken
#

segfaults

#

i wonder why

placid kraken
#

it can do very large iterations but it stops providing usable results after like fib(92)

#

because it starts overflowing the 64 bit integer and wrapping around

#

heck it can even do 1000 but it wraps around a million times so you get a completely incorrect result

#

btw natural(n) = sum from i = 1 to n of i

#

or, via code

fn natural(Long n) -> Long {
    if (n <= 1) {
        return n;
    }

    return natural(n - 1) + n;
}
#

btw does anyone know how to read dynamic stdin from nvim

#

with :!cmd and :term cmd i can never get interactive stdin

#

i have to like echo "input" > run or whatever

acoustic imp
#

and it works...

hasty ruin
#

send your full file

acoustic imp
hasty ruin
#

and whichever one you're copying it from

acoustic imp
#

nights^

slim bramble
#

I’m always scared when he sends code

acoustic imp
#

im not that dumb

slim bramble
acoustic imp
#

anything icraze?

slim bramble
acoustic imp
slim bramble
acoustic imp
#

thats where night put it thishowitis

slim bramble
acoustic imp
#

whats that gota do with it ?

slim bramble
acoustic imp
# slim bramble How do you load the file
#define kLang NSLocale.currentLocale.languageCode

NSString *genericPath = ROOT_PATH_NS(@"/Library/PreferenceBundles/SixteenPlayerPrefs.bundle/Localization/LANG.lproj/Localization.strings");
                NSString *filePath = [genericPath stringByReplacingOccurrencesOfString:@"LANG" withString:kLang];```
acoustic imp
#

night did it ?

slim bramble
#

😭

#

Night did that 😭

acoustic imp
#

yea

slim bramble
#

That works but you can remove half of the stuff

acoustic imp
#

i knew there wa probly better way but eh i was jus tryna make it work

slim bramble
#

By using stringWithFormat

acoustic imp
#

right

slim bramble
acoustic imp
#

load it ?

#

@slim bramble

slim bramble
#

Call it whatever you like

acoustic imp
slim bramble
acoustic imp
#

night didnt ?

#

u gota rember idk shit

queen ruin
#

Go to your secret 16Player dms

slim bramble
slim bramble
#

Hru

primal perch
slim bramble
#

(Frameworks)

primal perch
#

soon 🙏

slim bramble
acoustic imp
#

what about it

slim bramble
#

Maybe you need it

radiant idol
#

FYI I use this now

#
static inline NSString *localizeWithKey(NSString *key) {
    NSBundle *const localizationBundle = [NSBundle bundleWithPath:ROOT_PATH_NS(@"/Library/Application Support/JadeLocalization.bundle")];

    NSString *const path = [localizationBundle pathForResource:[[NSLocale preferredLanguages][0] componentsSeparatedByString:@"-"][0] ofType:@"lproj"] ?:
                           [localizationBundle pathForResource:[[NSBundle mainBundle] preferredLocalizations][0] ofType:@"lproj"] ?:
                           [localizationBundle pathForResource:[[[NSLocale currentLocale] languageIdentifier] componentsSeparatedByString:@"-"][0] ofType:@"lproj"];
    NSBundle *const languageBundle = [NSBundle bundleWithPath:path];

    return [path ? languageBundle : localizationBundle localizedStringForKey:key value:@"unknown_string" table:nil];
}
#

much better than the ones in Bolders Reborn

#

have fun

radiant idol
#

idk isnt it better

hasty ruin
#

Not for something like this

radiant idol
#

I see

hasty ruin
#

Also tbf you could probably also cache some of the stuff at the start of that function

queen ruin
kind herald
#

is it possible to modify the u0 11.0-12.4 source to use the Procursus bootstrap

hexed knot
#

Try it

kind herald
#

unc0ver is the only jailbreak for A12 12.1.3-12.4.1

#

sucks having an outdated bootstrap (and cydia)

radiant idol
kind herald
#

Chimera isn't open source unfortunately

#

but if it was, that would probably be the best thing to do

radiant idol
#

I mean theoretically it doesn't have to be open source

native orbit
#

this is true

velvet path
#

unless you're using [leaked/redacted] u0 5.x source

polar marsh
#

Anyone experienced with macho for 32-bit and knows what segments/sections I need to look at for extracting kexts?

#

Siguza mentioned kmodinfo, but that doesn't seem to help me atm.

I know PRELINK_TEXT points to first kext. There's other structs to consider, but at this point, everything I've done has resulted in my just being confused and not getting anywhere.

native orbit
polar marsh
#

I have all of the headers, just a lot of the offsets make no sense to me, but I'm honestly just trying to extract kexts at this point.

#

A lot of people either neglect 32-bit and or literally rely on macho/loader.h which just makes everything useless, since that's MacOS header :/

polar marsh
#

Commands are extremely easy, I'm just confused because I need to get offsets in the kernel itself, and the only relevant info about starting addresses of kexts are only mapped values, so I'm not sure on how I'm supposed to do this without mapping.

ChatGPT says I need info from KLD, but there's only one mention of that, and I looked at the data, and any offsets are vm offsets which don't help, plus they are function addresses.

#

I need to get back to working on Adam's eyepatch lib so I can update my patchfinding for kernel patches so that Legacy-iOS-Kit and anything else will have good patches. All of the bundles in there for 3GS are mine and I'd like to add more to the bundles. Gotta also work on CodeDirectory stuff so I can finally make my ASR patcher too, which involves MachO.

lime pivot
#

why can't you use localizedStringForKey:value:table: on the actual bundle?

slim bramble
dawn forum
#

I developed Clueless

radiant idol
#

I don’t exactly remember what they are off the top of my head

lime pivot
radiant idol
#

Oh yeah it looks disgusting I’m not gonna say it doesn’t

timid briar
#

Im trying out light mode because im a monster and this emote is impossible to see lmao

hasty ruin
young meteor
#

just don’t use light mode

#

problem solved

cloud yacht
#

Devs don't use light mode

#

Marked as won't fix

tepid olive
#

mm hello

#

I've opened so many random github issues out of boredom

#

like

granite frigate
#

what's Dasharo? sounds cool

wind ravine
#

i think the problem with my code not working on ios 16 might have been swift

hasty ruin
#

Average swift

tepid olive
granite frigate
#

Dunno what coreboot either is tr

tepid olive
#

(open source BIOS)

ashen birch
tawdry trench
#

python too hard

faint timber
cloud yacht
#

Python too anoying

#

"I want a language where the indenting is important to the control flow" - statements dreamed up by the utterly deranged.

tepid olive
#

fr

hasty ruin
#

legit

gentle grove
#

ok buddy

gentle grove
hasty ruin
#

yeah if you're writing clean code, indentation shouldn't be an issue at all

#

only annoying bit is when switching from tabs/spaces when copying from other projects

gentle grove
#

(it's not easy)

gentle grove
placid kraken
#

here's some valid python code i wrote with the pistol operator (*_,)

_ = [str, print]
_2 = lambda _,__: [_[_0:_0 + __] for _0 in range(0, len(_), __)]
*_0, = range(10)
*__, = range(len(_0))
_1 = []
_1 += _[0](__.pop(1)) + _[0](__.pop(0)) + _[0](__.pop(7))
*__, = range(len(_0) + 1)
_1 += _[0](__.pop(len(_0))) + _[0](__.pop(1))
*__, = range(len(_0) + 2)
_1 += _[0](__.pop(len(_0) + 1)) + _[0](__.pop(1))
*__, = range(len(_0) + 2)
_1 += _[0](__.pop(len(_0) + 1)) + _[0](__.pop(9))
_[1](''.join([chr(int(''.join(_0))) for _0 in _2(_1, 3)]))
placid kraken
#

its basically unpacking

*_, = 'abc';

print(_) # ['a', 'b', 'c']
``` lmfao
#

^^^^

tepid olive
#

fr!!!

placid kraken
#

no i wrote this by hand

tepid olive
#

I know

hasty ruin
tepid olive
#

I'm saying that obfuscator devs would love that

hasty ruin
tepid olive
#

how is that relevant

hasty ruin
#

it weakens any argument you may have

tepid olive
#

I don't use lua anymore

hasty ruin
tepid olive
#

I can't use objc

#

so I don't do that

#

I mostly do C# and Java

#

not really Java though

#

Java is very minimal for me

tepid olive
#

(I don't use objc because I don't have a good use for it)

placid kraken
#

Spaces:

hasty ruin
placid kraken
#

(no these arent mixed theyre one or the other, it just does that)

hasty ruin
#

or your editor is complete ass

placid kraken
#

ITS GITHUB

hasty ruin
#

ok so yeah

#

editor is complete ass

placid kraken
#

would you rather i use sourcehut or something

tepid olive
#

gitlab

#

troll

hasty ruin
placid kraken
#

i dont use the github web editor

tepid olive
#

github codespaces?

placid kraken
#

i use nvim and vscode

#

but when viewing the code afterwards

#

it displays wrong

#

on github

tepid olive
#

I might have to use objc for tweak dev

#

can't do swift

hasty ruin
#

github cant even make their site support ios 15

tepid olive
#

allemande doesn't work with swift

placid kraken
hasty ruin
#

no wonder they cant display basic text properly

tepid olive
#

and darling doesn't seem to work with XCode

#

and I don't feel like running a VM

placid kraken
#

this was an eventful april for me

tepid olive
#

real

hasty ruin
tepid olive
#

I don't think I used github at all this april ngl

hasty ruin
#

can you tell 2024's been shit

tepid olive
#

yup

placid kraken
#

my history has always been like this lmao

tepid olive
#

but that's a pain

placid kraken
#

good luck hotfixing

tepid olive
#

yeah point being

#

but allemande is annoying because like

#

I can't use swift

placid kraken
#

"lemme just change 1 tiny thing to see if it works" ok lets wait 3 mins for it to build 😔

tepid olive
#

like at all

#

and I am not depending on old ABI thank you very much

placid kraken
#

its fine use elle (do not)

tepid olive
#

yeah but what if I need to use a swift framework

placid kraken
#

go to sleep and imagine that you are using it

#

works for me

tepid olive
#

real

placid kraken
#

hey guys did you know that factorial(50) = -3258495067890909184

tepid olive
#

uh

#

no

#

I would just buy a mac

#

but they're so overpriced lol

#

and I also don't want a literally ancient one

hasty ruin
#

m1 air or mini

#

ez

tepid olive
#

expensive though

#

I don't got that kind of money

#

maybe I'll make a tweak using allemande first

#

hopefully make the money to get M1 macbook

#

and then problem solved

placid kraken
# placid kraken hey guys did you know that `factorial(50) = -3258495067890909184`

once elle gets structs i will make a 128 bit integer type

typedef struct {
    uint64_t low;
    uint64_t high;
} uint128_t;

void print_uint128(uint128_t n) {
    printf("%016lx%016lx\n", n.high, n.low);
}

uint128_t add_uint128(uint128_t a, uint128_t b) {
    uint128_t result;
    result.low = a.low + b.low;
    result.high = a.high + b.high + (result.low < a.low);
    return result;
}

int main() {
    uint128_t a = {0xFFFFFFFFFFFFFFFF, 0xFFFFFFFFFFFFFFFF};
    uint128_t b = {1, 0};

    uint128_t sum = add_uint128(a, b);

    printf("a: ");
    print_uint128(a);

    printf("b: ");
    print_uint128(b);

    printf("sum: ");
    print_uint128(sum);

    return 0;
}
tepid olive
#

I've seen langauges with a huge floating point type

#

(C#)

placid kraken
#

when writing elle code youre effectively writing C code

tepid olive
#

ah

#

so it's a transpiled language?

placid kraken
#

no it compiles to qbe ir

tepid olive
#

yeah C# has this

#

arbitrarily large number

#

lol

hasty ruin
placid kraken
tepid olive
#

2^68685922272

#

that's it's max value

placid kraken
#

im pretty sure boost does

tepid olive
#

well obviously

#

it's stored in C# as an array of uints iirc

#

(as like in the .NET framework)

placid kraken
#

yeah makes sense

tepid olive
#

ugh developing on a laptop isn't pleasant for me

#

but I'm using my PC as a server

placid kraken
#

i use a laptop and it works great for me

#

well

#

its an m1 macbook air

tepid olive
#

hm

cloud yacht
hasty ruin
#

then don't use those

queen ruin
gentle grove
#

the word end isn't any better of a visual cue than a brace

#

if anything it's worse because it looks like another r keyword

orchid fulcrum
placid kraken
#

currently theres no way to dereference pointers or access indexes of a buffer in my language

orchid fulcrum
#

Its grammaticaly correct

placid kraken
#

and theres also no structs

#

or enums

#

as soon as i figure those out its basically C

orchid fulcrum
#

How come

placid kraken
#

read that out loud a few times

orchid fulcrum
#

Why don't you

#

Isn't it the same

placid kraken
#

horror

native orbit
#

need jit asm

placid kraken
#

reminds me of that one tiktok

"How are you? Are you okay?"
"I'm"

orchid fulcrum
#

Well at first i had written "why not use theos" and it sounded bad so i edited it and didn't feel like deleting the n lmao

native orbit
#

perfect language:

  • is c
  • has defer
  • jit asm
  • multiple return values
placid kraken
#

maybe i will after i fix all the 2812851251 parsing issues

placid kraken
#

defer sounds like something i could implement

native orbit
#

born to defer, forced to goto

#

use c++ smh

torn oriole
#

InternalFrameInternalFrameTitlePanelInternalFrameTotlePaneMaximizeButtonWindowNotFocusedState.HasThisTypePatternTriedToSneakInSomeGenericOrParamaterizedTypePatternMatchingStuffAnywhereVisitor

placid kraken
#

WHY DOES THIS NOT WORK

storeb "\0", %newline_15
#

qbe is deranged

native orbit
#

strb

placid kraken
#

store bytes

torn oriole
#

initWithEnableFan:enableAirConditioner:enableClimateControl:enableAutoMode:airCirculationMode:fanSpeedIndex:fanSpeedPercentage:relativeFanSpeedSetting:temperature:relativeTemperatureSetting:climateZone:

placid kraken
#

OR THE ASCII REPRESENTATION OF ANY OTHER CHARACTER

native orbit
#

is there a hard cap on selector length?

placid kraken
#

AND I CAN DECLARE THEM LIKE THIS

data $input_3 = { b "r", b 0 }
``` AND USE THE STRING LITERAL REPRESENTATION
#

i hate this ir im going to llvm

native orbit
#

llvm ir on top by far

placid kraken
#

llvm ir when you try to write a hello world program:

native orbit
#

just skip ir completely

placid kraken
#
; Copied directly from the documentation
; Declare the string constant as a global constant.
@.str = private unnamed_addr constant [13 x i8] c"hello world\0A\00"

; External declaration of the puts function
declare i32 @puts(i8* nocapture) nounwind

; Definition of main function
define i32 @main() { ; i32()*
    ; Convert [13 x i8]* to i8  *...
    %cast210 = getelementptr [13 x i8],[13 x i8]* @.str, i64 0, i64 0

    ; Call puts function to write out the string to stdout.
    call i32 @puts(i8* %cast210)
    ret i32 0
}

; Named metadata
!0 = !{i32 42, null, !"string"}
!foo = !{!0}
``` llvm when you want to write a hello world program
#

better than writing the instructions out by hand i guess

#

i cant do "a" because storeb takes in a word

#

so i have to parse the literal into a number at compile time

#

got it

marsh ocean
#

i will be posting here later

#

with needing help on my blocksi enterprise edition rewrite

queen ruin
#

Did ginsu do a sly move

#

Suspicious

#

I think that in Dodo, instead of making the time view hide when the battery icon comes up, he just made it easier for himself and hid the battery icon altogether (the battery icon that comes up when you plug your phone in to charge)

#

Oh, what do you know

gentle grove
brazen timber
#

😈

frail cedar
#

@gleaming wave Connecting an already jailbroken Apple TV and opening Blackb0x causes it to crash with "illegal hardware instruction"

#

It prints out ✅Device connected (AppleTV3,2, Normal)
Jailbroken: Yes

#

zsh: illegal hardware instruction

#

then dies

#

doesn't trigger the mac crash reporter for some reason

slender glade
#

@placid kraken

torn oriole
sullen pendant
hollow laurel
#

did you end up doing that?

#

(please do ping when/if you answer)

gleaming wave
frail cedar
#

No just letting ya know

#

I was trying to figure out which one of my tv 3 stack wasn't jailbroke

gleaming wave
#

ah ok, thanks I am aware

frail cedar
gleaming wave
#

they can technically all be plugged in at once in the current version

#

I've simplified the whole process in the rewrite and it gives on device feedback

#

a lot more stable

torn oriole
gleaming wave
#

some other surprises too

lime pivot
#

oh no, there's a problem that makes us more money? we'll get riiiiight on that

orchid fulcrum
#

Race car emoji has swift logo on it 🤢

#

🏎️

#

Day ruined

queen ruin
#

K will NoW spam this emoji

timid furnace
#

@primal perch happy birthday!!!

cloud yacht
#

Happy birthday @primal perch

waxen prawn
#

NO WAY

tepid olive
#

I see a 3

orchid fulcrum
#

No way 💀

grand tide
#

the wheels say swift supershocked

gentle grove
#

read the reply

cloud yacht
gentle grove
pearl sail
#

Boba is worse

faint stag
pearl sail
#

No beef I just like messing with boba

marble perch
#

Sending twitter links in 2024 is unironically useless

#

Much worse than an instagram link

native orbit
steady nest
#

static

elder scaffold
#

What I used on ios 9 was to search inside the prelink_text and search for the kext's ident lol

#

In iOS 10, the kernel layout has changed, so it probably cannot be used.

ashen birch
#

at least now we get embeds

#

vxtwitter/fixupx/fxtwitter still better

native dune
#

You only really need fixupx if it’s a quote rt or a video or multiple images

shrewd smelt
#

fix up my nuts developers

pearl sail
#

Fucking moronic fat toilet cat

hasty ruin
#

what the dog said

worldly siren
#

So I changed two files in dopamine

#

Both of which are from another jailbreak

#

But I updated it

#

How do I add source

#

As it’s too big it’s like 51mb

kind herald
#

do you not know how to use github

worldly siren
#

Do I upload the ipa file extracted

worldly siren
#

I use GitHub

#

Is it just the extracted ipa

kind herald
#

literally just make a fork of Dopamine and change the files

worldly siren
#

Yes

#

Methamphetamine

#

Is the source just the extracted ipa

young meteor
#

no

#

make release

gentle grove
#

how

torn oriole
#

lol

polar marsh
gentle grove
#

But it's right there

#

Unless you're not talking about dopamine

sly knoll
#

is there anyway to fix this?

gentle grove
#

or moving it to the correct location if it exists but isn't already

steady nest
sly knoll
gentle grove
#

I don't think it worked

sly knoll
#

but it tried to compile c file first

young meteor
#

nuh uh

#

MIT does not require source code distribution

sly knoll
#

new issue:/
Could not find or use auto-linked framework 'CoreAudioTypes': framework 'CoreAudioTypes' not found

gentle grove
#

MIT License

Copyright (c) 2023-2024 Lars Fröder (opa334)

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

#

bro what

#

where even is the word fitness in that

young meteor
#

i always thought it was kinda odd that trollstore and dopamine weren’t GPL

vivid dew
#

@primal perch

primal perch
#

gute morgen

acoustic imp
#

Happy b day shep 🎉

faint timber
#

uh does a struct with an int compile to different memory than for example a char array[4]? I’m accessing data in the struct and it works with correct alignment with the array but if I use an int instead it through the struct access alignment all out of whack

native orbit
#

should be the same unless u packing it weird

faint timber
# native orbit should be the same unless u packing it weird

This code works fine:

struct my_struct1 {
  uint8_t data1[4];
  uint8_t data2[71];
};

struct my_struct2 {
  uint8_t data1[8];
  uint8_t data2[16];
  uint8_t data3[16];
};

struct my_struct3 {
  struct my_struct1 struct1;
  struct my_struct2 struct2[];
};

struct my_struct3 *struct3 = 

void *pointer = &(struct3->struct2[index].data2);

This code it bleeds into eg data1 or data3 in my_struct2 instead of just getting data2

struct my_struct1_other {
  uint32_t data1;
  uint8_t data2[71];
};
struct my_struct2 {
  uint8_t data1[8];
  uint8_t data2[16];
  uint8_t data3[16];
};

struct my_struct3 {
  struct my_struct1_other struct1_other;
  struct my_struct2 struct2[];
};

struct my_struct3 *struct3 = 

void *pointer = &(struct3->struct2[index].data2);

no packing at all

tepid olive
#

they can't be

#

GPL not allowed to interact with non-GPL code

#

iirc

young meteor
tepid olive
#

tru

native orbit
#

alignof() is useful