Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: alex85k/wingetopt
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: Seagate/wingetopt
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref

Commits on Dec 12, 2017

  1. Adding in Visual Studio project files and putting in an ifdef so we d…

    …on't need to define _CRT_SECURE_NO_WARNINGS
    Tyler Erickson committed Dec 12, 2017
    Copy the full SHA
    1eee3bf View commit details

Commits on Dec 13, 2017

  1. Updating .gitignore file

    Tyler Erickson committed Dec 13, 2017
    Copy the full SHA
    bed68fd View commit details

Commits on Apr 13, 2018

  1. Adding ARM and ARM64 build targets

    Tyler Erickson committed Apr 13, 2018
    Copy the full SHA
    49d478a View commit details

Commits on Aug 15, 2018

  1. Fixing ARM and ARM64 builds

    Tyler Erickson committed Aug 15, 2018
    Copy the full SHA
    f5272f5 View commit details

Commits on Feb 28, 2019

  1. Adding solution files for different visual studio versions.

    Tyler Erickson committed Feb 28, 2019
    Copy the full SHA
    1b5b5ad View commit details

Commits on Aug 2, 2021

  1. Copy the full SHA
    840a0a3 View commit details
  2. Finish adding_2019

    Swiss3003 committed Aug 2, 2021
    Copy the full SHA
    c1779a3 View commit details
  3. Finish adding_2019

    Swiss3003 committed Aug 2, 2021
    Copy the full SHA
    83a8756 View commit details

Commits on Feb 9, 2022

  1. Getting the latest changes from wingetopt library.

    Merge remote-tracking branch 'upstream/master' into develop
    pranali-tirkhunde committed Feb 9, 2022
    Copy the full SHA
    a8c80ad View commit details

Commits on Oct 5, 2022

  1. feat: Updating to make this work in other platforms

    Updating wingetopt to be usable in other platforms. This was needed to support AIX, but it seems to work in Linux as well. Will be testing other platforms too.
    
    Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
    vonericsen committed Oct 5, 2022
    Copy the full SHA
    c11e617 View commit details
  2. quick: removing cdefs.h as it is not needed and fixing missing brackets

    Removing sys/cdefs.h since it is not needed and not available on solaris.
    Also fixing missing brackets for the getexecname() call.
    
    Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
    vonericsen committed Oct 5, 2022
    Copy the full SHA
    6ee0d34 View commit details

Commits on Oct 7, 2022

  1. quick: cleaning up implementation a bit and adding workaround for oth…

    …er systems
    
    cleaning up detection of what systems have a way to get __progname or functions that do this, etc. Also added global variable that can be used if this does not already exist on a supported system to keep the same kind of functionality.
    
    Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
    vonericsen committed Oct 7, 2022
    Copy the full SHA
    ebcf2cf View commit details
  2. make: Removing no longer necessary option to shut up warnings in Windows

    Removing an option that is no longer necessary to remove warnings under Windows builds. This is no longer necessary as the code checks for various preprocessor flags to use Microsoft preferred functions to avoid the warnings.
    
    Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
    vonericsen committed Oct 7, 2022
    Copy the full SHA
    fd073b8 View commit details

Commits on Oct 8, 2022

  1. make: Adding simple makefile for generating wingetopt with GNUmake

    Adding a simple hand-written makefile for building wingetopt using GNUmake (gmake). I'm sure this project is simple enough to convert to a posix makefile, but I did not want to cause a collision with CMake's output at this time.
    
    Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
    vonericsen committed Oct 8, 2022
    Copy the full SHA
    9439c18 View commit details
  2. quick: Fixing missing "defined" when checking NEED_PROGNAME

    Fixing a missing check for a definition when figuring out how to support/return the program name.
    
    Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
    vonericsen committed Oct 8, 2022
    Copy the full SHA
    b07abce View commit details

Commits on Oct 12, 2022

  1. quick: Adding Seagate copyright per legal recommendation

    Adding the Seagate copyright to these files per Seagate's legal team's recommendation. It's a simple "we modified it" type of copyright and nothing more.
    
    Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
    vonericsen committed Oct 12, 2022
    Copy the full SHA
    efca4e8 View commit details

Commits on Oct 17, 2022

  1. make: Fixing a typo in dynamic lib output

    Fixing a typo in the dynamic library output. It should have been "lib", but was "lin"
    
    Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
    vonericsen committed Oct 17, 2022
    Copy the full SHA
    1fb1559 View commit details

Commits on Oct 21, 2022

  1. quick: Adding one more ifdef check around _dupenv_s

    Adding one more check for the visual studio compiler before calling _dupenv_s instead of dupenv. This is really only needed for visual studio builds, so this will further restrict this usage where it is needed.
    
    Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
    vonericsen committed Oct 21, 2022
    Copy the full SHA
    32ccc78 View commit details

Commits on Jan 5, 2023

  1. feat: Adding gitattributes file with some export-ignore's

    Adding a gitattributes file that specifies some files and folders to ignore on a git archive command. This will remove the .git, .github, and other files that are not needed when redistributing the source.
    
    Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
    vonericsen committed Jan 5, 2023
    Copy the full SHA
    6b78b00 View commit details

Commits on Jan 31, 2023

  1. bug: Fixing a memory leak that could happen under MSVC path for POSIX…

    …LY_CORRECT
    
    Fixing a memory leak that could happen if the environment variable "POSIXLY_CORRECT" is defined as the _dupenv_s will allocate memory that needs to be freed. This is safe as the variable posixly_correct is essentially being treated as a boolean.
    
    Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
    vonericsen committed Jan 31, 2023
    Copy the full SHA
    816f798 View commit details

Commits on Feb 3, 2023

  1. adding build for VS.2022

    Swiss3003 committed Feb 3, 2023
    Copy the full SHA
    ca478ee View commit details

Commits on Mar 1, 2023

  1. Finish 0.96

    vonericsen committed Mar 1, 2023
    Copy the full SHA
    3542085 View commit details
  2. Finish 0.96

    vonericsen committed Mar 1, 2023
    Copy the full SHA
    92c217a View commit details

Commits on May 3, 2023

  1. adding check for progname as recommended by cppcheck

    Adding a check to make sure progname is valid before accessing it as recommended by cppcheck's scan.
    
    Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
    vonericsen committed May 3, 2023
    Copy the full SHA
    310d683 View commit details

Commits on Aug 22, 2023

  1. make: Setting minimum meson version to 0.53

    Setting minimum meson version to 0.53 since that worked on a system inside Seagate with this older version.
    
    Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
    vonericsen committed Aug 22, 2023
    Copy the full SHA
    2821208 View commit details

Commits on Sep 6, 2023

  1. quick: Moving revision to 0.96

    Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
    vonericsen committed Sep 6, 2023
    Copy the full SHA
    dee45ef View commit details
  2. quick: Setting version to 0.97

    Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
    vonericsen committed Sep 6, 2023
    Copy the full SHA
    c68019b View commit details

Commits on Dec 7, 2023

  1. Finish 0.97

    vonericsen committed Dec 7, 2023
    Copy the full SHA
    726a56a View commit details
  2. Finish 0.97

    vonericsen committed Dec 7, 2023
    Copy the full SHA
    7e78cda View commit details

Commits on Jan 2, 2024

  1. Copy the full SHA
    82c588c View commit details
  2. Merge pull request #4 from Seagate/whitesource/configure

    Configure Mend for GitHub.com
    vonericsen authored Jan 2, 2024
    Copy the full SHA
    c46f488 View commit details

Commits on Apr 30, 2024

  1. feat: Adding SPDX identifiers to source/build files

    Adding SPDX identifiers to all source and make/meson build files to make SBOM generation easier in the future.
    
    Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
    vonericsen committed Apr 30, 2024
    Copy the full SHA
    9af6b88 View commit details

Commits on May 9, 2024

  1. Copy the full SHA
    1b5b5b8 View commit details

Commits on Jun 12, 2024

  1. feat: Improving wingetopt security with more flags and other secure f…

    …unction use
    
    Added warning and linker flags to compile wingetopt more securely in Windows and Linux/unix-like environments as recommended by owasp, msft, and openssf.
    
    In the source, using the _s functions from C11 annex K/MSFT's _s functions for security when available.
    Since this code already had it's own warnx implementation, I converted to an enum to choose the message to print to resolve a warning from Clang about a non-const format string. Since it's its own internal implementation and use this was a better choice since the number of warnings it emitted was low and easy to handle with the enum.
    
    Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
    vonericsen committed Jun 12, 2024
    Copy the full SHA
    9de275b View commit details

Commits on Jun 18, 2024

  1. bug: Adding checks for known definitions that indicate uintptr_t is a…

    …lready defined
    
    Checking for some known definitions for uintptr_t before defining it to avoid a warning.
    
    Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
    vonericsen committed Jun 18, 2024
    Copy the full SHA
    6c235d8 View commit details
  2. make: Adding check for __secure_getenv

    Adding check in meson for __secure_getenv since this definition may also exist
    
    Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
    vonericsen committed Jun 18, 2024
    Copy the full SHA
    d7558a2 View commit details

Commits on Jun 20, 2024

  1. make: Adding a few more wanings to meson build

    Adding some additional warnings we want to leave enabled to help ensure portability.
    
    Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
    vonericsen committed Jun 20, 2024
    Copy the full SHA
    eaafeff View commit details
  2. make: Adding a few more warnings to check for

    Adding a few more warnings from Clang that can help with style and with portability.
    Resolving these warnings in source as well.
    
    Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
    vonericsen committed Jun 20, 2024
    Copy the full SHA
    50dfd65 View commit details

Commits on Jul 12, 2024

  1. feat: Adding -Wcast-qual to warnings

    Adding Wcast-qual to detect conversions that discard const.
    Due to this and there being a specific use-case in this code where this is necesasry, I did add a workaround to compile without warnings by casting to uintptr_t first.
    
    Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
    vonericsen committed Jul 12, 2024
    Copy the full SHA
    3a87cfc View commit details
  2. make: Setting _FORTIFY_SOURCE to 3 only when it does not generate a w…

    …arning
    
    Overriding the default value of _FORTIFY_SOURCE to 3 in Rockylinux 8 generates a lot of warnings that it will only be treated as level 2.
    Rather than have all this compiling noise, we can now detect when to enable this higher level of fortification depending on what the system allows or not.
    
    Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
    vonericsen committed Jul 12, 2024
    Copy the full SHA
    a2cf4d5 View commit details

Commits on Jul 19, 2024

  1. feat: Moving strlen to safe_strlen in opensea-common

    Moving all uses of strlen to safe_strlen.
    
    Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
    vonericsen committed Jul 19, 2024
    Copy the full SHA
    6f914d1 View commit details

Commits on Jul 22, 2024

  1. feat: Switching strnlen implementation to be limited to RSIZE_MAX

    Switching to limit of RSIZE_MAX or SIZE_MAX >> 1 or size_t(-1) >> 1 to resolve warnings from the compiler about going beyond a maximum string length.
    
    Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
    vonericsen committed Jul 22, 2024
    Copy the full SHA
    045b82c View commit details

Commits on Jul 29, 2024

  1. Added additional flags

    AnkurDG committed Jul 29, 2024
    Copy the full SHA
    1a8948e View commit details

Commits on Jul 31, 2024

  1. Removed unwanted flag

    AnkurDG committed Jul 31, 2024
    Copy the full SHA
    9985dfd View commit details

Commits on Aug 6, 2024

  1. feat: Turning on more warnings for GCC and Clang and resolving them

    Turning on Wunused-parameter, Wunused-value, Wint-to-pointer-cast, Wincompatible-pointer-types-discards-qualifiers, Werror=implicit-int, Wcast-qual, Werror=sometimes-uninitialized, Wuninitialized, Wunevaluated-expression, Wunsequenced, Wvarargs, Wwrwite-strings, Wrestrict, Wstringop-truncation, Werror=trigraphs, Wunreachable-code, Wcomment, Wsequence-point, Wreturn-type, and fvisibility=hidden.
    
    Most of these warnings were listed as useful diagnostics in Cert-C coding standard and made sense to enable.
    
    Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
    vonericsen committed Aug 6, 2024
    Copy the full SHA
    0574bbf View commit details

Commits on Aug 8, 2024

  1. make: Moving -Wsign-conversion to only be used on GCC10 and later. Ch…

    …anging how std for meson
    
    Moving the -Wsign-conversion warning to GCC10 and later as earlier versions are far too noisy for this warning to be useful.
    
    Changing how the std is set in meson to resolve some warnings as well.
    
    Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
    vonericsen committed Aug 8, 2024
    Copy the full SHA
    1b0dbf0 View commit details

Commits on Aug 28, 2024

  1. Finish 0.98

    vonericsen committed Aug 28, 2024
    Copy the full SHA
    003c8ef View commit details
  2. Finish 0.98

    vonericsen committed Aug 28, 2024
    Copy the full SHA
    1378f03 View commit details

Commits on Nov 8, 2024

  1. feat: initial changes for clang-tidy recommendations, clang-format, a…

    …nd use of safe_ functions
    
    A lot of initial changes to implement a clang-format and clang-tidy files and the recommended changes to reduce possibility of bugs and improve memory safety.
    
    Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
    vonericsen committed Nov 8, 2024
    Copy the full SHA
    60f43fc View commit details

Commits on Nov 18, 2024

  1. quick: Turning off MSVC warning when including windows.h

    Including windows.h in latest versions causes a lot of unnecessary warnings in MSVC. So this disable the warning when including this file to keep things focussed only on warnings in getopt rather than a header we need and do not own/modify.
    
    Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
    vonericsen committed Nov 18, 2024
    Copy the full SHA
    a8c20c9 View commit details
13 changes: 13 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Use the Microsoft coding style
# This is the style our code already mostly followed-TJE
BasedOnStyle: Microsoft

# Additional Customizations
PointerAlignment: Left
AlignConsecutiveAssignments: true
AlignConsecutiveDeclarations: true
AlignTrailingComments: true
AlignConsecutiveMacros: true
AlignAfterOpenBracket: true
BinPackParameters: false
AllowAllParametersOfDeclarationOnNextLine: false
10 changes: 10 additions & 0 deletions .clang-tidy
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
Checks: '-*,modernize-*,cert-*,bugprone-*,-bugprone-easily-swappable-parameters'
#other available checks: clang-analyzer-*, performance-*, readability-*, misc-*
#Disabled checks:
# -bugprone-easily-swappable-parameters - warns a LOT. Sometimes on functions meant to look like standardized C11 annex k functions
# While a overall useful thing to consider, it's too noisy right now and it may make the API
# harder to use to resolve all of these.
WarningsAsErrors: ''
HeaderFilterRegex: '.*'
AnalyzeTemporaryDtors: false
FormatStyle: 'file'
11 changes: 11 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#this file specifies some rules on specific files for line endings and more.
#it also has a section on which files should NOT be part of an export (git archive) command.

#List of files to NOT export:
.git export-ignore
.github export-ignore
.cirrus.yml export-ignore
.whitesource export-ignore
.vscode export-ignore
.travis.yml export-ignore

Loading