This file is indexed.

/usr/include/flext/flatom_pr.cpp is in pd-flext-dev 0.6.0+git20161101.1.01318a94-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
/*
flext - C++ layer for Max and Pure Data externals

Copyright (c) 2001-2015 Thomas Grill (gr@grrrr.org)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
*/

/*! \file flatom_pr.cpp
    \brief Definitions for printing and scanning the t_atom type.
*/

#ifndef __FLEXT_ATOM_PR_CPP
#define __FLEXT_ATOM_PR_CPP

#include "flext.h"

#include <cctype>
#include <cstdlib>
#include <cstring>
#include <cstdio>

#include "flpushns.h"

#ifdef _MSC_VER
#define snprintf _snprintf
#endif

FLEXT_TEMPIMPL(bool FLEXT_CLASSDEF(flext))::PrintAtom(const t_atom &a,char *buf,size_t bufsz)
{
    bool ok = true;
    if(IsFloat(a)) {
        ok = STD::snprintf(buf,bufsz,"%g",GetFloat(a)) > 0;
    }
    else if(IsInt(a)) {
        ok = STD::snprintf(buf,bufsz,"%i",GetInt(a)) > 0;
    }
    else if(IsSymbol(a)) {
		const char *c = GetString(a);
		size_t len = strlen(c);
		if(len < bufsz) {
			memcpy(buf,c,len); buf[len] = 0;
			ok = true;
		}
		else 
			ok = false;
    }
#if FLEXT_SYS == FLEXT_SYS_PD
#ifndef FLEXT_COMPATIBLE
    else if(IsPointer(a)) {
        ok = STD::snprintf(buf,bufsz,"%p",GetPointer(a)) > 0;
    }
#endif
    else if(a.a_type == A_DOLLAR) {
        ok = STD::snprintf(buf,bufsz,"$%d",a.a_w.w_index) > 0;
    }
    else if(a.a_type == A_DOLLSYM) {
        ok = STD::snprintf(buf,bufsz,"$%s",GetString(a)) > 0;
    }
#elif FLEXT_SYS == FLEXT_SYS_MAX
    else if(a.a_type == A_DOLLAR) {
        ok = STD::snprintf(buf,bufsz,"$%ld",a.a_w.w_long) > 0;
    }
#else
//#pragma message("Not implemented")
#endif
    else {
        error("flext: atom type unknown");
        ok = false;
    }
    return ok;
}

FLEXT_TEMPIMPL(bool FLEXT_CLASSDEF(flext))::PrintList(int argc,const t_atom *argv,char *buf,size_t bufsz)
{
    bool ok = true;
    for(int i = 0; ok && i < argc && bufsz > 0; ++i) {
        if(i) { *(buf++) = ' '; --bufsz; } // prepend space

        if(PrintAtom(argv[i],buf,bufsz)) {
            size_t len = strlen(buf);
            buf += len,bufsz -= len;
        }
        else
            ok = false;
    }
    *buf = 0;
    return ok;
}


FLEXT_TEMPIMPL(const char *FLEXT_CLASSDEF(flext))::ScanAtom(t_atom &a,const char *c)
{
	// skip leading whitespace
	while(*c && isspace(*c)) ++c;
	if(!*c) return NULL;

    // go to next space and save character
    char *end = const_cast<char *>(c);
    while(*end && !isspace(*end)) ++end;
    char sv = *end;

    float fres;
    // first try float
    char *endp;
    // see if it's a float - thanks to Frank Barknecht
    fres = (float)strtod(c,&endp);   
    if(*c && endp != c) { 
        int ires = (int)fres; // try a cast
        if(fres == ires)
            SetInt(a,ires);
        else
            SetFloat(a,fres);
    }
    // no, it's a symbol
    else
        SetString(a,c);

    *end = sv;

	return end;
}

FLEXT_TEMPIMPL(int FLEXT_CLASSDEF(flext))::ScanList(int argc,t_atom *argv,const char *buf)
{
    int read;    
    for(read = 0; read < argc; ++read)
    {
        buf = ScanAtom(argv[read],buf);
        if(!buf) break;
    }
    return read;
}

#include "flpopns.h"

#endif // __FLEXT_ATOM_PR_CPP