Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: struct fields with specifiers #58

Merged
merged 2 commits into from
Jun 2, 2024
Merged

Conversation

t0rr3sp3dr0
Copy link
Contributor

Add missing type specifiers to fix struct and union parsing.

Before:

@class __cached_isReady, __isCancelled, __isCancelledObserverCount, __isExecutingObserverCount, __isFinishedObserverCount, __isReadyObserverCount, __propertyQoS, __state;
@protocol OS_voucher;

@interface NSOperation : NSObject {
    /* instance variables */
    struct { NSOperation *__prevOp; NSOperation *__nextOp; NSOperation *__nextPriOp; NSOperationQueue *__queue; NSMutableArray *__dependencies; NSHashTable *__down_dependencies; long long __unfinished_deps; id /* block */ __completion; void *__obsInfo; void *__implicitObsInfo; double __thread_prio; char *__nameBuffer; NSObject<OS_voucher> *_voucher; id /* block */ __schedule; struct _opaque_pthread_mutex_t { long long __sig; signed char __opaque[56]; } __wait_mutex; struct _opaque_pthread_cond_t { long long __sig; signed char __opaque[40]; } __wait_cond; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } __lock; signed char _shouldRemoveDependenciesAfterFinish; _Atomic  __state; unsigned char x19; signed char __prio; _Atomic  __cached_isReady; signed char x22; _Atomic  __isCancelled; signed char x24; _Atomic  __propertyQoS; unsigned char x26; _Atomic  __isExecutingObserverCount; unsigned char x28; _Atomic  __isFinishedObserverCount; unsigned char x30; _Atomic  __isReadyObserverCount; unsigned char x32; _Atomic  __isCancelledObserverCount; unsigned char x34; } _iop;
}

After:

@protocol OS_voucher;

@interface NSOperation : NSObject {
    /* instance variables */
    struct { NSOperation *__prevOp; NSOperation *__nextOp; NSOperation *__nextPriOp; NSOperationQueue *__queue; NSMutableArray *__dependencies; NSHashTable *__down_dependencies; long long __unfinished_deps; id /* block */ __completion; void *__obsInfo; void *__implicitObsInfo; double __thread_prio; char *__nameBuffer; NSObject<OS_voucher> *_voucher; id /* block */ __schedule; struct _opaque_pthread_mutex_t { long long __sig; signed char __opaque[56]; } __wait_mutex; struct _opaque_pthread_cond_t { long long __sig; signed char __opaque[40]; } __wait_cond; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } __lock; signed char _shouldRemoveDependenciesAfterFinish; _Atomic unsigned char __state; signed char __prio; _Atomic signed char __cached_isReady; _Atomic signed char __isCancelled; _Atomic unsigned char __propertyQoS; _Atomic unsigned char __isExecutingObserverCount; _Atomic unsigned char __isFinishedObserverCount; _Atomic unsigned char __isReadyObserverCount; _Atomic unsigned char __isCancelledObserverCount; } _iop;
}

Fixes: blacktop/ipsw#481 (comment)

@blacktop blacktop merged commit 7c278cb into blacktop:master Jun 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants