# null

Published articles for null.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Postgres Changes gets AND filters, new operators, and column selection

DevFeed: [Postgres Changes gets AND filters, new operators, and column selection](<https://devfeed.tech/articles/postgres-changes-gets-and-filters-new-operators-and-column-selection-498.md>)

Original publisher: [Read original article](<https://supabase.com/blog/postgres-changes-filters-and-column-selection>)

Author: Filipe Cabaço

Published: 2026-08-05T07:00:00Z

Content type: release

Language: en

Sources: [Supabase Blog](<https://devfeed.tech/sources/supabase-blog.md>)

Topics: [Database](<https://devfeed.tech/topics/database.md>)

Tags: [event](<https://devfeed.tech/tags/event.md>), [events](<https://devfeed.tech/tags/events.md>), [null](<https://devfeed.tech/tags/null.md>), [payload](<https://devfeed.tech/tags/payload.md>), [postgres](<https://devfeed.tech/tags/postgres.md>)

### AI overview

Postgres Changes now supports multi-column AND filters, additional filter operators, and opt-in column selection for subscription payloads.

### Source excerpt

Postgres Changes subscriptions can now combine filters with AND, match on more operators, and select only the columns you need in the payload.

## Waiting for PostgreSQL 19 - Add IGNORE NULLS/RESPECT NULLS option to Window functions.

DevFeed: [Waiting for PostgreSQL 19 - Add IGNORE NULLS/RESPECT NULLS option to Window functions.](<https://devfeed.tech/articles/waiting-for-postgresql-19-add-ignore-nulls-respect-nulls-option-to-window-functions-33665.md>)

Original publisher: [Read original article](<https://www.depesz.com/2025/10/13/waiting-for-postgresql-19-add-ignore-nulls-respect-nulls-option-to-window-functions/>)

Author: depesz

Published: 2025-10-13T11:13:52Z

Content type: article

Language: en

Sources: [select \* from depesz;](<https://devfeed.tech/sources/select-from-depesz.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>)

Tags: [first-value](<https://devfeed.tech/tags/first-value.md>), [functions](<https://devfeed.tech/tags/functions.md>), [ignore](<https://devfeed.tech/tags/ignore.md>), [lag](<https://devfeed.tech/tags/lag.md>), [last-value](<https://devfeed.tech/tags/last-value.md>), [lead](<https://devfeed.tech/tags/lead.md>), [nth-value](<https://devfeed.tech/tags/nth-value.md>), [null](<https://devfeed.tech/tags/null.md>), [nulls](<https://devfeed.tech/tags/nulls.md>), [pg19](<https://devfeed.tech/tags/pg19.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>), [waiting](<https://devfeed.tech/tags/waiting.md>), [window](<https://devfeed.tech/tags/window.md>), [window-functions](<https://devfeed.tech/tags/window-functions.md>)

### AI overview

The article describes a PostgreSQL patch adding IGNORE NULLS and RESPECT NULLS options, also called a null treatment clause, to the lead, lag, first_value, last_value, and nth_value window functions. IGNORE NULLS skips NULL values, while RESPECT NULLS remains the default behavior.

### Source excerpt

On 3rd of October 2025, Tatsuo Ishii committed patch: Add IGNORE NULLS/RESPECT NULLS option to Window functions. Add IGNORE NULLS/RESPECT NULLS option (null treatment clause) to lead, lag, first_value, last_value and nth_value window functions. If unspecified, the default is RESPECT NULLS which includes NULL values in any result calculation. IGNORE NULLS ignores NULL values. ... Continue reading "Waiting for PostgreSQL 19 - Add IGNORE NULLS/RESPECT NULLS option to Window functions."

## Pattern match Optional in Java 21

DevFeed: [Pattern match Optional in Java 21](<https://devfeed.tech/articles/pattern-match-optional-in-java-21-22012.md>)

Original publisher: [Read original article](<http://blog.joda.org/2024/02/pattern-match-optional-in-java-21.html>)

Author: Stephen Colebourne (noreply@blogger.com)

Published: 2024-02-20T09:19:00Z

Content type: article

Language: en

Sources: [Stephen Colebourne](<https://devfeed.tech/sources/stephen-colebourne.md>)

Topics: [Java](<https://devfeed.tech/topics/java.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [java](<https://devfeed.tech/tags/java.md>), [java21](<https://devfeed.tech/tags/java21.md>), [null](<https://devfeed.tech/tags/null.md>), [optional](<https://devfeed.tech/tags/optional.md>), [pattern-matching](<https://devfeed.tech/tags/pattern-matching.md>)

### AI overview

This article presents a rarely useful technique for pattern matching an Optional in Java 21 by converting its value with orElse(null) and testing it with instanceof. It discusses functional Optional methods, an iterable helper, limitations in Java 17, and a possible use in long if-else chains.

### Source excerpt

I'm going to describe a trick to get pattern patching on Optional in Java 21, but one you'll probably never actually use. Using Optional As of Java 21, Pattern matching in Java allows us to check a value against a type like an instanceof with a new variable being declared of the correct type. Pattern matching can handle simple types and the deconstruction of records. But pattern matching of arbitrary classes like Optional is not yet supported. (Work to support pattern match methods is ongoing). In normal code, the best way to use Optional is with one of the functional methods: var addressOpt = findAddress(personId); var addressStr = addressOpt .map(address -> address.format()) .orElse("No address available"); This works well in most cases. But sometimes you want to use the Optional with a return statement. This results in code using get() like this: var addressOpt = findAddress(personId); if (addressOpt.isPresent()) { // early return if address found return addressOpt.get().format(); } // lots of other code to handle case when address not found One way to improve this is to write a simple method: /** * Converts an optional to an iterable for use in the for-each statement. * * @param &ltlT> the type of optional element * @param optional the optional * @return an iterable representation of the optional */ public static &ltlT> Iterable&ltlT> inOptional(Optional&ltlT> optional) { return optional.isPresent() ? List.of(optional.get()): List.of(); } Which allows the following neat form: for (var address : inOptional(findAddress(personId))) { // early return if address found return address.format(); } // lots of other code to handle case when address not found This is a great approach providing that you don't need an else branch. Using Optional with Pattern matching With Java 21 and pattern matching we have a new way to do this! if (findAddress(personId).orElse(null) instanceof Address address) { // early return if address found return address.format(); } else { // lots of

## Nulls and Null Safety

DevFeed: [Nulls and Null Safety](<https://devfeed.tech/articles/nulls-and-null-safety-25061.md>)

Original publisher: [Read original article](<https://typealias.com/start/kotlin-nulls/>)

Author: author@typealias.com (Dave Leeds)

Published: 2021-03-30T00:00:00Z

Content type: tutorial

Language: en

Sources: [Dave Leeds on Kotlin - typealias.com](<https://devfeed.tech/sources/dave-leeds-on-kotlin-typealias-com.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>)

Tags: [elvis-operator](<https://devfeed.tech/tags/elvis-operator.md>), [introduction](<https://devfeed.tech/tags/introduction.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [learn-to-program](<https://devfeed.tech/tags/learn-to-program.md>), [not-null-assertion-operator](<https://devfeed.tech/tags/not-null-assertion-operator.md>), [null](<https://devfeed.tech/tags/null.md>), [null-safety](<https://devfeed.tech/tags/null-safety.md>), [optional](<https://devfeed.tech/tags/optional.md>), [programming](<https://devfeed.tech/tags/programming.md>), [safe-call-operator](<https://devfeed.tech/tags/safe-call-operator.md>), [smart-cast](<https://devfeed.tech/tags/smart-cast.md>)

### AI overview

An introduction to nulls and null safety in Kotlin, explaining that variables may not always hold a value and setting up a coffee-rating example implemented in Kotlin.

### Source excerpt

So far in this book, every time that we created a variable, whether it was a String, an Int, or a Boolean, we assigned a value to it. There are times, though, when we need to create a variable that might not actually hold a value! This brings us to the exciting topic of nulls! Introduction to Nulls James has set up a coffee stand downtown, and he's ready to start sharing his fine brew!

## Laravel v5.7.21 released

DevFeed: [Laravel v5.7.21 released](<https://devfeed.tech/articles/laravel-v5-7-21-released-3827.md>)

Original publisher: [Read original article](<https://laravel.com/blog/laravel-v5721-released>)

Author: Laravel Team

Published: 2019-01-15T19:36:00Z

Content type: release

Language: en

Sources: [Laravel Blog](<https://devfeed.tech/sources/laravel-blog.md>)

Topics: [Laravel](<https://devfeed.tech/topics/laravel.md>), [Localization (l10n)](<https://devfeed.tech/topics/localization.md>)

Tags: [driver](<https://devfeed.tech/tags/driver.md>), [errors](<https://devfeed.tech/tags/errors.md>), [laravel](<https://devfeed.tech/tags/laravel.md>), [null](<https://devfeed.tech/tags/null.md>), [release](<https://devfeed.tech/tags/release.md>), [v5](<https://devfeed.tech/tags/v5.md>)

### AI overview

Laravel v5.7.21 was released on January 15, 2019, with fixes for broadcast connection handling, return values, error conditions, and duplicated localization in error messages.

### Source excerpt

Laravel v5.7.21 is released in 2019/01/15, here are the changes we`ve merged into this release.

## JSON.stringify removes undefined, how to keep it

DevFeed: [JSON.stringify removes undefined, how to keep it](<https://devfeed.tech/articles/json-stringify-removes-undefined-how-to-keep-it-37304.md>)

Original publisher: [Read original article](<https://muffinman.io/blog/json-stringify-removes-undefined/>)

Author: Stanko

Published: 2018-10-01T00:00:00Z

Content type: tutorial

Language: en

Sources: [Stanko Tadić](<https://devfeed.tech/sources/stanko-tadic.md>)

Topics: [JSON](<https://devfeed.tech/topics/json.md>), [React](<https://devfeed.tech/topics/react.md>)

Tags: [function](<https://devfeed.tech/tags/function.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [json](<https://devfeed.tech/tags/json.md>), [null](<https://devfeed.tech/tags/null.md>), [parameter](<https://devfeed.tech/tags/parameter.md>)

### AI overview

This tutorial explains that JSON.stringify omits object properties whose values are undefined. It shows how this can prevent a server from detecting removed form fields and demonstrates using a replacer function to convert undefined values to null.

### Source excerpt

This is something I keep rediscovering, because I keep forgetting it. JSON.stringify will omit all object attributes that are undefined. In most cases, it doesn't really matter, because if we parse that string back, and try to access that attribute - it will be undefined by design. Check the example below: const user = { name: 'Stanko', phone: undefined }; user.phone; // -> undefined const stringifiedUser = JSON.stringify(user); // -> "{\"name\":\"Stanko\"}" const parsedUser = JSON.parse(stringifiedUser) // -> { name: "Stanko" } // At the end it behaves the same parsedUser.phone; // -> undefined Why should we care then? # In most scenarios you shouldn't. But for me, one case keeps popping up - sending http requests. Request body is a string, so we need to stringify our data. In certain cases we want server to be aware that some data has been explicitly removed, so it can be removed from the database as well. This is where dropping undefined can cause problems. Few days ago, one of my clients had a question about React Final Form. Problem was that Final Form returns undefined for the values that have been removed by the user. As you can imagine, this was a problem, when they stringified form values undefined fields were omitted and server wasn't aware that the field was removed. Using replacer parameter # Luckily JSON.stringify accepts replacer function as a second parameterThird one is space, number of spaces or a string to be used for indentation. Function accepts two parameters, current key and value being stringified. This allows us to replace any value, in our case undefined. We just need to check if the value is undefined and return null: const user = { name: 'Stanko', phone: undefined }; const replacer = (key, value) => typeof value === 'undefined' ? null : value; const stringified = JSON.stringify(user, replacer); // -> "{\"name\":\"Stanko\",\"phone\":null}" This is one example where replacer comes in handy. It can also be practical when stringifying complex

## Top 10 Kotlin Stack Overflow questions, pt 3 - nulls and such

DevFeed: [Top 10 Kotlin Stack Overflow questions, pt 3 - nulls and such](<https://devfeed.tech/articles/top-10-kotlin-stack-overflow-questions-pt-3-nulls-and-such-27091.md>)

Original publisher: [Read original article](<https://zsmb.co/top-10-kotlin-stack-overflow-questions-3/>)

Author: Márton Braun

Published: 2018-05-08T08:00:00Z

Content type: tutorial

Language: en

Sources: [zsmb.co](<https://devfeed.tech/sources/zsmb-co.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Stack Overflow](<https://devfeed.tech/topics/stackoverflow.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [marton-braun](<https://devfeed.tech/tags/marton-braun.md>), [null](<https://devfeed.tech/tags/null.md>), [safe-call-operator](<https://devfeed.tech/tags/safe-call-operator.md>), [smart-cast](<https://devfeed.tech/tags/smart-cast.md>), [stack-overflow](<https://devfeed.tech/tags/stack-overflow.md>), [zsmb](<https://devfeed.tech/tags/zsmb.md>), [zsmb-co](<https://devfeed.tech/tags/zsmb-co.md>), [zsmb13](<https://devfeed.tech/tags/zsmb13.md>), [zsmbco](<https://devfeed.tech/tags/zsmbco.md>)

### AI overview

The third and final article in a series explains Kotlin nullability, including why smart casts do not work on mutable properties and how the null assertion operator can cause runtime crashes.

### Source excerpt

The third and final part covers topics of nullability and some small extras to wrap up the series.

## Java Optionals and Kotlin Nulls

DevFeed: [Java Optionals and Kotlin Nulls](<https://devfeed.tech/articles/java-optionals-and-kotlin-nulls-25040.md>)

Original publisher: [Read original article](<https://typealias.com/guides/java-optionals-and-kotlin-nulls/>)

Author: author@typealias.com (Dave Leeds)

Published: 2017-09-01T00:00:00Z

Content type: tutorial

Language: en

Sources: [Dave Leeds on Kotlin - typealias.com](<https://devfeed.tech/sources/dave-leeds-on-kotlin-typealias-com.md>)

Topics: [Java](<https://devfeed.tech/topics/java.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>)

Tags: [exception](<https://devfeed.tech/tags/exception.md>), [extension-function](<https://devfeed.tech/tags/extension-function.md>), [filter](<https://devfeed.tech/tags/filter.md>), [java](<https://devfeed.tech/tags/java.md>), [java-8](<https://devfeed.tech/tags/java-8.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [migration-guide](<https://devfeed.tech/tags/migration-guide.md>), [null](<https://devfeed.tech/tags/null.md>), [null-safety](<https://devfeed.tech/tags/null-safety.md>), [optional](<https://devfeed.tech/tags/optional.md>), [programming](<https://devfeed.tech/tags/programming.md>), [safe-call-operator](<https://devfeed.tech/tags/safe-call-operator.md>), [standard-library](<https://devfeed.tech/tags/standard-library.md>), [transformation](<https://devfeed.tech/tags/transformation.md>)

### AI overview

A guide to translating Java Optional usage into idiomatic Kotlin null-safety patterns. It compares creation, transformation, filtering, and conditional operations, while noting trade-offs and cases where Kotlin nullable types replace Optional.

### Source excerpt

When Java 8 introduced Streams for operating on collections of data, it also introduced a similar concept, Optional, which has many methods that are similar to Stream, but operates on a single value that might or might not be present. As you migrate your projects from Java to Kotlin, you might come across some Optional objects. What should you do? Should you leave them as Optional, or change them to more idiomatic Kotlin?

## localStorage and sessionStorage in Safari's private mode

DevFeed: [localStorage and sessionStorage in Safari's private mode](<https://devfeed.tech/articles/localstorage-and-sessionstorage-in-safari-s-private-mode-37306.md>)

Original publisher: [Read original article](<https://muffinman.io/blog/localstorage-and-sessionstorage-in-safaris-private-mode/>)

Author: Stanko

Published: 2017-08-09T00:00:00Z

Content type: tutorial

Language: en

Sources: [Stanko Tadić](<https://devfeed.tech/sources/stanko-tadic.md>)

Topics: [LocalStorage](<https://devfeed.tech/topics/localstorage.md>), [Code](<https://devfeed.tech/topics/code.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [error](<https://devfeed.tech/tags/error.md>), [export](<https://devfeed.tech/tags/export.md>), [ls](<https://devfeed.tech/tags/ls.md>), [null](<https://devfeed.tech/tags/null.md>), [object](<https://devfeed.tech/tags/object.md>), [qa](<https://devfeed.tech/tags/qa.md>), [quota](<https://devfeed.tech/tags/quota.md>), [return](<https://devfeed.tech/tags/return.md>), [safari](<https://devfeed.tech/tags/safari.md>), [storage](<https://devfeed.tech/tags/storage.md>), [test](<https://devfeed.tech/tags/test.md>), [value](<https://devfeed.tech/tags/value.md>), [version](<https://devfeed.tech/tags/version.md>)

### AI overview

This article explains that Safari private mode sets localStorage and sessionStorage limits to zero, preventing writes. It presents a localStorage facade that silently ignores storage operations when storage is unavailable, avoiding application errors.

### Source excerpt

If you didn't know, in Safari's private mode both localStorage and sessionStorage are not working. To be exact, Safari sets storage's limit to 0, so you can't write anything to it. I keep forgetting this, until QA people report it at some point. So I quickly wrote a small facade for it, which fails silently in this case. That means it still doesn't work but it won't throw an error and break your application. This is the version for localStorage, just replace it with sessionStorage if you need it. const LS_TEST_KEY = 'ls-test'; let isLocalStorageSupported = typeof localStorage === 'object'; // Try to try { localStorage.setItem(LS_TEST_KEY, 'test'); localStorage.removeItem(LS_TEST_KEY); } catch (e) { isLocalStorageSupported = false; // If we get error that we exceeded storage's quota // but storage is still empty we are in private mode if (e.code === DOMException.QUOTA_EXCEEDED_ERR && localStorage.length === 0) { // Private mode } else { throw e; } } const LocalStorage = { getItem: (key) => { if (isLocalStorageSupported) { return localStorage.getItem(key); } return null; }, setItem: (key, value) => { if (isLocalStorageSupported) { localStorage.setItem(key, value); } }, removeItem: (key) => { if (isLocalStorageSupported) { localStorage.removeItem(key); } }, }; export default LocalStorage;

## Understanding Nullability In Kotlin

DevFeed: [Understanding Nullability In Kotlin](<https://devfeed.tech/articles/understanding-nullability-in-kotlin-22845.md>)

Original publisher: [Read original article](<http://androidessence.com/understanding-nullability-in-kotlin/>)

Author: Adam McNeilly

Published: 2017-06-28T00:00:00Z

Content type: tutorial

Language: en

Sources: [Android Essence](<https://devfeed.tech/sources/android-essence.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [elvis-operator](<https://devfeed.tech/tags/elvis-operator.md>), [java](<https://devfeed.tech/tags/java.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [null](<https://devfeed.tech/tags/null.md>), [null-safety](<https://devfeed.tech/tags/null-safety.md>)

### AI overview

This tutorial explains Kotlin's nullability and null-safety features for Java programmers. It covers nullable and non-nullable types, explicit null checks, the safe operator, and the Elvis operator, while noting that Java interoperability can still allow NullPointerException risks.

### Source excerpt

Every Java programmer has faced the dreaded NullPointerException at some point in their life. Sometimes it's your fault, sometimes it's a pesky race condition. Regardless, it's a head ache and generally leads to a ton of if (myVariable != null) { } conditions all over your code. However, the latest craze Kotlin can help with that too. Kotlin introduced null safety into its type system, with the potential of removing all NPEs. This post is both going to review the official docs linked above, as well as provide some common tips and tricks to work with the nullability - something that is new in this language for many Java programmers.

## Maintaining a Swift and Objective-C Hybrid Codebase

DevFeed: [Maintaining a Swift and Objective-C Hybrid Codebase](<https://devfeed.tech/articles/maintaining-a-swift-and-objective-c-hybrid-codebase-1476.md>)

Original publisher: [Read original article](<https://shopify.engineering/maintaining-a-swift-and-objective-c-hybrid-codebase>)

Author: Adrianna Chang

Published: 2017-06-15T18:13:00Z

Content type: article

Language: en

Sources: [Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering.md>), [Shopify Engineering - Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering-shopify-engineering.md>)

Topics: [Swift](<https://devfeed.tech/topics/swift.md>), [Objective-C](<https://devfeed.tech/topics/objective-c.md>), [interoperability](<https://devfeed.tech/topics/interoperability.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Code](<https://devfeed.tech/topics/code.md>), [WebKit](<https://devfeed.tech/topics/webkit.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [bridging](<https://devfeed.tech/tags/bridging.md>), [c](<https://devfeed.tech/tags/c.md>), [crash](<https://devfeed.tech/tags/crash.md>), [ios](<https://devfeed.tech/tags/ios.md>), [null](<https://devfeed.tech/tags/null.md>), [optional](<https://devfeed.tech/tags/optional.md>), [pointers](<https://devfeed.tech/tags/pointers.md>), [swift](<https://devfeed.tech/tags/swift.md>)

### AI overview

This article explains how to maintain a hybrid Swift and Objective-C codebase when adding new Swift code to an existing actively supported Objective-C project. It discusses interoperability between the two languages and the importance of correct nullability annotations for preserving Swift's compile-time optionality guarantees and avoiding runtime crashes.

### Source excerpt

6 minute read Swift is gaining popularity among iOS developers, which is of no surprise. It's strictly typed, which means you can prove the correctness of your program at compile time, given that your typesystem describes the domain well. It's a modern language offering syntax constructs encouraging developers to write better architecture using fewer lines of code, making it expressive. It's more fun to work with, and all the new Cocoa projects are being written in Swift. At Shopify, we want to adopt Swift where it makes sense, while understanding that many existing projects have an extensive codebase (some of them written years ago) in Objective-C (OBJC) that are still actively supported. It's tempting to write new code in Swift, but we can't migrate all the existing OBJC codebase quickly. And sometimes it just isn't worth the effort.

## Unexpected bug cascade - or how seemingly missing bugs in MSVC builds reveal actual bugs

DevFeed: [Unexpected bug cascade - or how seemingly missing bugs in MSVC builds reveal actual bugs](<https://devfeed.tech/articles/unexpected-bug-cascade-or-how-seemingly-missing-bugs-in-msvc-builds-reveal-actual-bugs-33037.md>)

Original publisher: [Read original article](<https://reactos.org/blogs/unexpected-bug-cascade-or-how-seemingly-missing-bugs-msvc-builds-reveal-actual-bugs/>)

Published: 2015-12-27T00:00:00Z

Content type: article

Language: en

Sources: [Front Page on ReactOS Website](<https://devfeed.tech/sources/front-page-on-reactos-website.md>)

Topics: [bug](<https://devfeed.tech/topics/bug.md>), [MSVC](<https://devfeed.tech/topics/msvc.md>), [gcc](<https://devfeed.tech/topics/gcc.md>), [Code](<https://devfeed.tech/topics/code.md>), [function](<https://devfeed.tech/topics/function.md>), [ide](<https://devfeed.tech/topics/ide.md>), [export](<https://devfeed.tech/topics/export.md>)

Tags: [breakpoint](<https://devfeed.tech/tags/breakpoint.md>), [bug](<https://devfeed.tech/tags/bug.md>), [code](<https://devfeed.tech/tags/code.md>), [crash](<https://devfeed.tech/tags/crash.md>), [export](<https://devfeed.tech/tags/export.md>), [free](<https://devfeed.tech/tags/free.md>), [function](<https://devfeed.tech/tags/function.md>), [gcc](<https://devfeed.tech/tags/gcc.md>), [msvc](<https://devfeed.tech/tags/msvc.md>), [null](<https://devfeed.tech/tags/null.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [os](<https://devfeed.tech/tags/os.md>), [point](<https://devfeed.tech/tags/point.md>), [react](<https://devfeed.tech/tags/react.md>), [reactos](<https://devfeed.tech/tags/reactos.md>), [win32](<https://devfeed.tech/tags/win32.md>), [winapi](<https://devfeed.tech/tags/winapi.md>)

### AI overview

This article examines how different MSVC and GCC builds exposed a cascade of bugs while investigating a crash in wget.exe. It covers KDBG breakpoint and single-stepping behavior, an MSVC export-resolution issue involving msvcrt.dll and libntdll, and a crash caused by passing a NULL buffer after _vsnprintf returned -1.

### Source excerpt

I was looking into CORE-9105, a crash in wget.exe, but I couldn't reproducde it, so I asked Daniel whether he was using an MSVC build or a GCC build. He used a GCC build and I was using an MSVC build. So I tried with a GCC build and the bug appeared. So I looked at this thing with kdbg. And there the first bug showed up. Bug #1: KDBG and break points I set a breakpoint at a position that I wanted to step through and KDBG stopped there.

## Keyword arguments in C

DevFeed: [Keyword arguments in C](<https://devfeed.tech/articles/keyword-arguments-in-c-35428.md>)

Original publisher: [Read original article](<https://darkcoding.net/software/keyword-arguments-in-c/>)

Author: Graham King

Published: 2013-01-15T05:03:49Z

Content type: article

Language: en

Sources: [Graham King](<https://devfeed.tech/sources/graham-king.md>)

Topics: [C](<https://devfeed.tech/topics/c.md>), [structure](<https://devfeed.tech/topics/structure.md>)

Tags: [c](<https://devfeed.tech/tags/c.md>), [introduced](<https://devfeed.tech/tags/introduced.md>), [literals](<https://devfeed.tech/tags/literals.md>), [macros](<https://devfeed.tech/tags/macros.md>), [new-features](<https://devfeed.tech/tags/new-features.md>), [null](<https://devfeed.tech/tags/null.md>), [optional](<https://devfeed.tech/tags/optional.md>), [software](<https://devfeed.tech/tags/software.md>)

### AI overview

The article explains how C99 features can be combined with macros and structures to implement optional keyword arguments in C. It discusses compound literals, designated initializers, and variadic macros, including default values and zero or null initialization for unspecified arguments.

### Source excerpt

C99 brings the magic: Keyword arguments in C!