From 0a758b771af99b50ceb5b83922c3b102406dfe9b Mon Sep 17 00:00:00 2001 From: Aleksey Kulikov Date: Thu, 24 Feb 2022 11:02:39 +0300 Subject: [PATCH] refactor: use explicit string length when converting from buffer to Dart string --- lib/src/bindings/branch.dart | 8 ++++---- lib/src/bindings/config.dart | 8 ++++---- lib/src/bindings/describe.dart | 4 ++-- lib/src/bindings/diff.dart | 4 ++-- lib/src/bindings/patch.dart | 4 ++-- lib/src/bindings/refspec.dart | 8 ++++---- lib/src/bindings/repository.dart | 8 ++++---- 7 files changed, 22 insertions(+), 22 deletions(-) diff --git a/lib/src/bindings/branch.dart b/lib/src/bindings/branch.dart index bebaf08..a634121 100644 --- a/lib/src/bindings/branch.dart +++ b/lib/src/bindings/branch.dart @@ -224,7 +224,7 @@ String remoteName({ calloc.free(out); throw LibGit2Error(libgit2.git_error_last()); } else { - final result = out.ref.ptr.cast().toDartString(); + final result = out.ref.ptr.cast().toDartString(length: out.ref.size); calloc.free(out); return result; } @@ -292,7 +292,7 @@ String upstreamName({ calloc.free(out); throw LibGit2Error(libgit2.git_error_last()); } else { - final result = out.ref.ptr.cast().toDartString(); + final result = out.ref.ptr.cast().toDartString(length: out.ref.size); calloc.free(out); return result; } @@ -322,7 +322,7 @@ String upstreamRemote({ calloc.free(out); throw LibGit2Error(libgit2.git_error_last()); } else { - final result = out.ref.ptr.cast().toDartString(); + final result = out.ref.ptr.cast().toDartString(length: out.ref.size); calloc.free(out); return result; } @@ -350,7 +350,7 @@ String upstreamMerge({ calloc.free(out); throw LibGit2Error(libgit2.git_error_last()); } else { - final result = out.ref.ptr.cast().toDartString(); + final result = out.ref.ptr.cast().toDartString(length: out.ref.size); calloc.free(out); return result; } diff --git a/lib/src/bindings/config.dart b/lib/src/bindings/config.dart index ba9375a..e74e304 100644 --- a/lib/src/bindings/config.dart +++ b/lib/src/bindings/config.dart @@ -51,14 +51,14 @@ Pointer openDefault() { /// /// Throws a [LibGit2Error] if error occured. String findGlobal() { - final out = calloc(sizeOf()); + final out = calloc(); final error = libgit2.git_config_find_global(out); if (error < 0) { calloc.free(out); throw LibGit2Error(libgit2.git_error_last()); } else { - final result = out.ref.ptr.cast().toDartString(); + final result = out.ref.ptr.cast().toDartString(length: out.ref.size); calloc.free(out); return result; } @@ -77,7 +77,7 @@ String findSystem() { calloc.free(out); throw LibGit2Error(libgit2.git_error_last()); } else { - final result = out.ref.ptr.cast().toDartString(); + final result = out.ref.ptr.cast().toDartString(length: out.ref.size); calloc.free(out); return result; } @@ -97,7 +97,7 @@ String findXdg() { calloc.free(out); throw LibGit2Error(libgit2.git_error_last()); } else { - final result = out.ref.ptr.cast().toDartString(); + final result = out.ref.ptr.cast().toDartString(length: out.ref.size); calloc.free(out); return result; } diff --git a/lib/src/bindings/describe.dart b/lib/src/bindings/describe.dart index 82dac89..d8237cc 100644 --- a/lib/src/bindings/describe.dart +++ b/lib/src/bindings/describe.dart @@ -85,7 +85,7 @@ String format({ bool? alwaysUseLongFormat, String? dirtySuffix, }) { - final out = calloc(sizeOf()); + final out = calloc(); final opts = calloc(); libgit2.git_describe_format_options_init( opts, @@ -104,7 +104,7 @@ String format({ libgit2.git_describe_format(out, describeResultPointer, opts); - final result = out.ref.ptr.cast().toDartString(); + final result = out.ref.ptr.cast().toDartString(length: out.ref.size); calloc.free(opts); calloc.free(out); diff --git a/lib/src/bindings/diff.dart b/lib/src/bindings/diff.dart index 0a46fd3..316baf8 100644 --- a/lib/src/bindings/diff.dart +++ b/lib/src/bindings/diff.dart @@ -352,14 +352,14 @@ String statsPrint({ required int format, required int width, }) { - final out = calloc(sizeOf()); + final out = calloc(); final error = libgit2.git_diff_stats_to_buf(out, statsPointer, format, width); if (error < 0) { calloc.free(out); throw LibGit2Error(libgit2.git_error_last()); } else { - final result = out.ref.ptr.cast().toDartString(); + final result = out.ref.ptr.cast().toDartString(length: out.ref.size); calloc.free(out); return result; } diff --git a/lib/src/bindings/patch.dart b/lib/src/bindings/patch.dart index 044e191..f24724c 100644 --- a/lib/src/bindings/patch.dart +++ b/lib/src/bindings/patch.dart @@ -218,14 +218,14 @@ Pointer lines({ /// /// Throws a [LibGit2Error] if error occured. String text(Pointer patch) { - final out = calloc(sizeOf()); + final out = calloc(); final error = libgit2.git_patch_to_buf(out, patch); if (error < 0) { calloc.free(out); throw LibGit2Error(libgit2.git_error_last()); } else { - final result = out.ref.ptr.cast().toDartString(); + final result = out.ref.ptr.cast().toDartString(length: out.ref.size); calloc.free(out); return result; } diff --git a/lib/src/bindings/refspec.dart b/lib/src/bindings/refspec.dart index 39841b6..1656f7f 100644 --- a/lib/src/bindings/refspec.dart +++ b/lib/src/bindings/refspec.dart @@ -62,7 +62,7 @@ String transform({ required Pointer refspecPointer, required String name, }) { - final out = calloc(sizeOf()); + final out = calloc(); final nameC = name.toNativeUtf8().cast(); final error = libgit2.git_refspec_transform(out, refspecPointer, nameC); @@ -72,7 +72,7 @@ String transform({ calloc.free(out); throw LibGit2Error(libgit2.git_error_last()); } else { - final result = out.ref.ptr.cast().toDartString(); + final result = out.ref.ptr.cast().toDartString(length: out.ref.size); calloc.free(out); return result; } @@ -86,7 +86,7 @@ String rTransform({ required Pointer refspecPointer, required String name, }) { - final out = calloc(sizeOf()); + final out = calloc(); final nameC = name.toNativeUtf8().cast(); final error = libgit2.git_refspec_rtransform(out, refspecPointer, nameC); @@ -96,7 +96,7 @@ String rTransform({ calloc.free(out); throw LibGit2Error(libgit2.git_error_last()); } else { - final result = out.ref.ptr.cast().toDartString(); + final result = out.ref.ptr.cast().toDartString(length: out.ref.size); calloc.free(out); return result; } diff --git a/lib/src/bindings/repository.dart b/lib/src/bindings/repository.dart index dd635ba..770f657 100644 --- a/lib/src/bindings/repository.dart +++ b/lib/src/bindings/repository.dart @@ -40,7 +40,7 @@ String discover({ required String startPath, String? ceilingDirs, }) { - final out = calloc(sizeOf()); + final out = calloc(); final startPathC = startPath.toNativeUtf8().cast(); final ceilingDirsC = ceilingDirs?.toNativeUtf8().cast() ?? nullptr; @@ -49,7 +49,7 @@ String discover({ calloc.free(startPathC); calloc.free(ceilingDirsC); - final result = out.ref.ptr.cast().toDartString(); + final result = out.ref.ptr.cast().toDartString(length: out.ref.size); calloc.free(out); return result; } @@ -389,14 +389,14 @@ bool isWorktree(Pointer repo) { /// /// Throws a [LibGit2Error] if error occured. String message(Pointer repo) { - final out = calloc(sizeOf()); + final out = calloc(); final error = libgit2.git_repository_message(out, repo); if (error < 0) { calloc.free(out); throw LibGit2Error(libgit2.git_error_last()); } else { - final result = out.ref.ptr.cast().toDartString(); + final result = out.ref.ptr.cast().toDartString(length: out.ref.size); calloc.free(out); return result; }