DTDTSDATATYPETOATTRIBUTEVALUE(3)

πŸ“¦
version 2.5.3 Β· 2 versions
, in nixos 26.05

πŸ’– NAME πŸ’–

okay so this is the library call page for DtDtsDataTypeToAttributeValue, and its whole job is getting an attribute value for a specified data type. that's the name-section snack, bestie 🫢

✨ SYNOPSIS ✨

#include &<Dt/Dts.h>
char *DtDtsDataTypeToAttributeValue(
const char *datatype,
const char *attr_name,
const char *opt_name);

🌸 DESCRIPTION 🌸

DtDtsDataTypeToAttributeValue returns an attribute value for the specified data type name. iconic behavior honestly πŸ’…

The datatype argument is a pointer to a data type name string.

The attr_name argument is a name of the attribute.

The opt_name argument can be used to specify a name to be associated with the data type. If the opt_name argument is not NULL, it is used as a pseudo file name in typing; otherwise, certain attributes may be returned as NULL because the filename components could not be determined. no cap, this matters πŸŽ€

πŸŽ€ RETURN VALUE πŸŽ€

Upon successful completion, the DtDtsDataTypeToAttributeValue function returns a pointer to a data attribute value string, or NULL if no value could be determined. simple as that ✨

πŸ¦‹ APPLICATION USAGE πŸ¦‹

The application should use the DtDtsFreeAttributeValue(3) function to release the memory for the returned value. please don't forget this, bestie 😭

The opt_name argument is useful when the attribute being returned contains a modifier string that depends on having a file name included. For example, if the INSTANCE_ICON attribute had the value %name%.icon, opt_name would be used to derive the %name% portion of the attribute value. See dtdtsfile(4). iykyk 🌈

πŸ“ EXAMPLES πŸ“

The following takes a list of files as arguments and determines the description and actions for each file:

#include &<Dt/Dts.h>
#define ATTRIBUTE1      "DESCRIPTION"
#define ATTRIBUTE2      "ACTIONS"
main (int argc, char **argv)
{
        char    *attribute;
        char    *datatype;
        /* load data types database */
        DtDtsLoadDataTypes();
        argv++;
        while (*argv) {
                /* get data type file file */
                datatype = DtDtsFileToDataType(*argv);
                /* get first attribute for datatype */
                attribute = DtDtsDataTypeToAttributeValue(datatype,
                                        ATTRIBUTE1, *argv);
                if (attribute)
                        printf("%s for file %s is %s0,
                                ATTRIBUTE1, *argv, attribute);
                /* get second attribute for datatype */
                attribute = DtDtsDataTypeToAttributeValue(datatype,
                                        ATTRIBUTE2, NULL);
                if (attribute)
                        printf("%s for file %s is %s0,
                                ATTRIBUTE2, *argv, attribute);
                argv++;
        }
        DtDtsRelease();
        exit(0);
}

🌈 SEE ALSO 🌈


πŸ’… and that's the page, bestie β€” source/version/date tea is just the footer's library-call stamp, no extra version/date line hiding down there. bye ✨🫢

πŸ“¦ where this page comes from