Skip to content

Commit 3477ea5

Browse files
committed
Fix buffer corruption
1 parent 43195b3 commit 3477ea5

File tree

3 files changed

+50
-24
lines changed

3 files changed

+50
-24
lines changed

SmartImage 3/Mode/CliMode.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,7 @@ void OnResult(object sender, SearchResult sr)
144144
{
145145
new Text($"{i + 1}"),
146146
Markup.FromInterpolated($"[link={sri.Url}]{sr.Engine.Name} #{i + 1}[/]")
147+
147148
});
148149

149150
i++;

SmartImage 3/Program.cs

Lines changed: 38 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public static void Init()
4242

4343
if (Compat.IsWin) {
4444
ConsoleUtil.SetConsoleMode();
45-
System.Console.OutputEncoding = Encoding.Unicode;
45+
// System.Console.OutputEncoding = Encoding.Unicode;
4646
}
4747

4848
AppDomain.CurrentDomain.ProcessExit += (sender, args) =>
@@ -75,35 +75,52 @@ public static async Task<int> Main(string[] args)
7575

7676
bool cli = args is { } && args.Any();
7777

78-
if (cli && args.Contains(R2.Arg_NoUI)) {
78+
if (cli) {
79+
if (args.Contains(R2.Arg_NoUI)) {
80+
var main = new CliMode();
7981

80-
var main = new CliMode();
82+
var rc = new RootCommand()
83+
{ };
8184

82-
var rc = new RootCommand()
83-
{ };
84-
85-
var options = new Option[]
86-
{
87-
new Option<string>(R2.Arg_Input)
88-
{ },
89-
90-
new Option<bool>(R2.Arg_NoUI)
85+
var options = new Option[]
9186
{
92-
Arity = ArgumentArity.Zero,
87+
new Option<string>(R2.Arg_Input)
88+
{ },
89+
90+
new Option<bool>(R2.Arg_NoUI)
91+
{
92+
Arity = ArgumentArity.Zero,
9393

94-
},
94+
},
9595

96-
};
96+
};
9797

98-
foreach (Option option in options) {
99-
rc.AddOption(option);
100-
}
98+
foreach (Option option in options) {
99+
rc.AddOption(option);
100+
}
101+
102+
rc.SetHandler(main.RunAsync, (Option<string>) options[0]);
101103

102-
rc.SetHandler(main.RunAsync, (Option<string>) options[0]);
104+
var i = await rc.InvokeAsync(args);
103105

104-
var i = await rc.InvokeAsync(args);
106+
return i;
105107

106-
return i;
108+
}
109+
else if (args.Contains("-d")) {
110+
var sc =new SearchClient(SearchConfig.Default);
111+
var sq = await SearchQuery.TryCreateAsync("https://i.imgur.com/QtCausw.png");
112+
await sq.UploadAsync();
113+
var r =await sc.RunSearchAsync(sq);
114+
115+
foreach (SearchResult searchResult in r) {
116+
Console.WriteLine(searchResult);
117+
}
118+
119+
return 0;
120+
}
121+
else {
122+
return -1;
123+
}
107124
}
108125
else {
109126
main1:

SmartImage 3/Utilities/ConsoleUtil.cs

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,21 @@ internal static void SetConsoleMode()
4242

4343
_oldMode = lpMode;
4444

45+
/*Native.SetConsoleMode(StdIn, lpMode | ConsoleModes.ENABLE_MOUSE_INPUT &
46+
~ConsoleModes.ENABLE_QUICK_EDIT_MODE |
47+
ConsoleModes.ENABLE_EXTENDED_FLAGS |
48+
ConsoleModes.ENABLE_ECHO_INPUT |
49+
ConsoleModes.ENABLE_VIRTUAL_TERMINAL_PROCESSING);*/
50+
4551
Native.SetConsoleMode(StdIn, lpMode | ConsoleModes.ENABLE_MOUSE_INPUT &
4652
~ConsoleModes.ENABLE_QUICK_EDIT_MODE |
4753
ConsoleModes.ENABLE_EXTENDED_FLAGS |
4854
ConsoleModes.ENABLE_ECHO_INPUT |
49-
ConsoleModes.ENABLE_VIRTUAL_TERMINAL_PROCESSING);
50-
Console.SetWindowSize(150, 35);
51-
Console.BufferWidth = 150;
55+
ConsoleModes.ENABLE_VIRTUAL_TERMINAL_PROCESSING |
56+
ConsoleModes.ENABLE_PROCESSED_OUTPUT);
57+
58+
// Console.SetWindowSize(150, 35);
59+
// Console.BufferWidth = 150;
5260

5361
}
5462

0 commit comments

Comments
 (0)