-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Address some System.Formats.Tar TODOs (infra and syscalls) #69107
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
Merged
Merged
Changes from all commits
Commits
Show all changes
22 commits
Select commit
Hold shift + click to select a range
c178925
Fix Design time build errors by removing src project as dependency of…
carlossanlop 9f020bd
Add Browser to target platform identifiers. Ensure Browser can consum…
carlossanlop c4d444b
Remove nullable enable from csproj since it's now default
carlossanlop 354e40a
Use FileStream constructor with FileMode.CreateNew to detect and thro…
carlossanlop d04ec6b
No error checking on syscalls that do not set errno.
carlossanlop 9cb26f1
Add RDev field in FileStatus and retrieve it with stat/lstat so devma…
carlossanlop d94536a
Simplify some File.Open calls with direct FileStream constructor call…
carlossanlop cdbbddf
Implement and consume p/invokes to retrieve uname from uid and gname …
carlossanlop e343a3b
size_t variables should not be checked for negative values
carlossanlop 1af51df
FileStream calls simplified to File.OpenRead
carlossanlop d845d56
Remove check for RDev > 0
carlossanlop 94d2cf0
Use dictionary to preserve repeated unames and gnames mapped to uids …
carlossanlop 90cc58c
Missing documentation in pal_uid.h new PALEXPORT methods.
carlossanlop fe9a927
Adjust syscalls to thread-safe ones. Start with stackalloc, then use …
carlossanlop a8f5cf6
Make dicts readonly and non-nullable, use TryGetValue
carlossanlop 498c084
Merge branch 'main' into TarImprovements
carlossanlop 7b4e7b5
Reuse 'GetNameFromUid' from pal_networking.c, move to pal_uid.c, use …
carlossanlop a9090b4
Remove unnecessary comment
carlossanlop 7c01996
Put TargetFrameworks back in the first position of the PropertyGroup.
carlossanlop 8de50ad
Address eerhardt suggestions
carlossanlop 31ab76b
Update src/libraries/System.Formats.Tar/tests/TarWriter/TarWriter.Wri…
carlossanlop 67fe812
Clarify in pal_uid.h methods comments that new memory is returned
carlossanlop File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
35 changes: 35 additions & 0 deletions
35
src/libraries/Common/src/Interop/Unix/System.Native/Interop.GroupNameUserName.cs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,35 @@ | ||
| // Licensed to the .NET Foundation under one or more agreements. | ||
| // The .NET Foundation licenses this file to you under the MIT license. | ||
|
|
||
| using System.Runtime.InteropServices; | ||
| using System.Buffers; | ||
| using System.Text; | ||
| using System; | ||
| using System.Collections.Generic; | ||
| using System.Reflection; | ||
|
|
||
| internal static partial class Interop | ||
| { | ||
| internal static partial class Sys | ||
| { | ||
| /// <summary> | ||
| /// Gets the group name associated to the specified group ID. | ||
| /// </summary> | ||
| /// <param name="gid">The group ID.</param> | ||
| /// <returns>On success, return a string with the group name. On failure, throws an IOException.</returns> | ||
| internal static string GetGroupName(uint gid) => GetGroupNameInternal(gid) ?? throw GetIOException(GetLastErrorInfo()); | ||
|
|
||
| /// <summary> | ||
| /// Gets the user name associated to the specified user ID. | ||
| /// </summary> | ||
| /// <param name="uid">The user ID.</param> | ||
| /// <returns>On success, return a string with the user name. On failure, throws an IOException.</returns> | ||
| internal static string GetUserName(uint uid) => GetUserNameInternal(uid) ?? throw GetIOException(GetLastErrorInfo()); | ||
|
|
||
| [LibraryImport(Libraries.SystemNative, EntryPoint = "SystemNative_GetGroupName", StringMarshalling = StringMarshalling.Utf8, SetLastError = true)] | ||
| private static unsafe partial string? GetGroupNameInternal(uint uid); | ||
|
|
||
| [LibraryImport(Libraries.SystemNative, EntryPoint = "SystemNative_GetUserName", StringMarshalling = StringMarshalling.Utf8, SetLastError = true)] | ||
| private static unsafe partial string? GetUserNameInternal(uint uid); | ||
| } | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.