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 FFM backend on Windows #263

Merged
merged 21 commits into from
Sep 29, 2023
Merged

Fix FFM backend on Windows #263

merged 21 commits into from
Sep 29, 2023

Conversation

Glavo
Copy link
Contributor

@Glavo Glavo commented Sep 28, 2023

The FFM backend appears to be untested and will crash when using it, I'm trying to solve these problems.

  • Avoid lookup ioctl and isatty on Windows;
  • Make SYMBOL_LOOKUP initialized earlier to avoid NPE
  • Fix wrong alignment;
  • Load Kernel32;
  • Fix incorrect type conversion;
  • Impl CLibrary for Windows;
  • Fix string encoding;

There are more issues waiting to be fixed, WIP.

@Glavo
Copy link
Contributor Author

Glavo commented Sep 28, 2023

It no longer crashes, but some features still don't work.

@Glavo
Copy link
Contributor Author

Glavo commented Sep 28, 2023

It mostly works now, but I suspect there are hidden bugs that will need to be fixed.

@Glavo Glavo marked this pull request as ready for review September 28, 2023 22:30
@Glavo
Copy link
Contributor Author

Glavo commented Sep 29, 2023

This PR is ready for review.

@gnodet I think it would be better to move AnsiConsoleSupport and org.fusesource.jansi.ffm to org.fusesource.jansi.internal?

They are the same low-level API as the existing CLibrary/Kernel32 and do not seem to be suitable as part of the public API.

I'd like to do some refactoring before they are officially released, what do you think?

@gnodet
Copy link
Member

gnodet commented Sep 29, 2023

This PR is ready for review.

@gnodet I think it would be better to move AnsiConsoleSupport and org.fusesource.jansi.ffm to org.fusesource.jansi.internal?

They are the same low-level API as the existing CLibrary/Kernel32 and do not seem to be suitable as part of the public API.

I'd like to do some refactoring before they are officially released, what do you think?

Yes, that makes sense.

@Glavo
Copy link
Contributor Author

Glavo commented Sep 29, 2023

This PR is ready for review.
@gnodet I think it would be better to move AnsiConsoleSupport and org.fusesource.jansi.ffm to org.fusesource.jansi.internal?
They are the same low-level API as the existing CLibrary/Kernel32 and do not seem to be suitable as part of the public API.
I'd like to do some refactoring before they are officially released, what do you think?

Yes, that makes sense.

Okay, when this PR is merged, I will do this work in a new PR.

@gnodet gnodet merged commit 27a7bb5 into fusesource:master Sep 29, 2023
3 checks passed
@Glavo Glavo deleted the fix-ffm branch October 2, 2023 20:59
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