/** * garrow_int16_array_builder_append_null: * @builder: A #GArrowInt16ArrayBuilder. * @error: (nullable): Return location for a #GError or %NULL. * * Returns: %TRUE on success, %FALSE if there was an error. */ gboolean garrow_int16_array_builder_append_null(GArrowInt16ArrayBuilder *builder, GError **error) { auto arrow_builder = static_cast<arrow::Int16Builder *>( garrow_array_builder_get_raw(GARROW_ARRAY_BUILDER(builder)).get()); auto status = arrow_builder->AppendNull(); if (status.ok()) { return TRUE; } else { garrow_error_set(error, status, "[int16-array-builder][append-null]"); return FALSE; } }
static void MakeFilterText(char *filter_text, const ExtensionMap &extensions, bool do_combined) { // Construct the Windows file dialog filter string, which looks like this: // // "All OCIO files\0" // "*.ocio;*.cube;*.vf;*.mga\0" // "OpenColorIO (*.ocio)\0" // "*.ocio\0" // "Iridas (*.cube)\0" // "*.cube\0" // "Nuke Vectorfield (*.vf)\0" // "*.vf\0" // "Apple Color (*.mga)\0" // "*.mga\0" // "\0"; // // Note the inline nulls and final double-null, which foil regular string functions. char combined_entry[512]; int combined_length = 0; char seperate_entries[512]; int seperate_length = 0; AppendString(combined_entry, combined_length, "All OCIO files"); AppendNull(combined_entry, combined_length); for(ExtensionMap::const_iterator i = extensions.begin(); i != extensions.end(); i++) { std::string extension = i->first; std::string format = i->second; std::string format_part = format + " (*." + extension + ")"; std::string extension_part = "*." + extension; std::string combined_part = extension_part + ";"; AppendString(seperate_entries, seperate_length, format_part.c_str(), format_part.size()); AppendNull(seperate_entries, seperate_length); AppendString(seperate_entries, seperate_length, extension_part.c_str(), extension_part.size()); AppendNull(seperate_entries, seperate_length); AppendString(combined_entry, combined_length, combined_part.c_str(), combined_part.size()); } AppendNull(seperate_entries, seperate_length); AppendNull(combined_entry, combined_length); char *in = combined_entry; char *out = filter_text; if(do_combined) { for(int i=0; i < combined_length; i++) *out++ = *in++; } in = seperate_entries; for(int i=0; i < seperate_length; i++) *out++ = *in++; }