This file is indexed.

/usr/include/flext/flitem.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
/*
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 flitem.cpp
    \brief Processing of method and attribute lists.
*/
 
#ifndef __FLEXT_ITEM_CPP
#define __FLEXT_ITEM_CPP

#include "flext.h"
#include <cstring>

#include "flpushns.h"

FLEXT_TEMPIMPL(FLEXT_CLASSDEF(flext_base))::ItemSet::~ItemSet() { clear(); }

FLEXT_TEMPIMPL(void FLEXT_CLASSDEF(flext_base))::ItemSet::clear()
{
    for(FLEXT_TEMP_TYPENAME TablePtrMapDef::iterator it(*this); it; ++it) delete it.data();
    TablePtrMap<const t_symbol *,Item *,8>::clear();
}


FLEXT_TEMPIMPL(FLEXT_CLASSDEF(flext_base))::Item::~Item()
{
    if(nxt) delete nxt;
}

FLEXT_TEMPIMPL(FLEXT_CLASSDEF(flext_base))::ItemCont::ItemCont():
    members(0),memsize(0),size(0),cont(NULL)
{}

FLEXT_TEMPIMPL(FLEXT_CLASSDEF(flext_base))::ItemCont::~ItemCont()
{
    if(cont) {
        for(int i = 0; i < size; ++i) delete cont[i];
        delete[] cont;
    }
}

FLEXT_TEMPIMPL(void FLEXT_CLASSDEF(flext_base))::ItemCont::Resize(int nsz)
{
    if(nsz > memsize) {
        int nmemsz = nsz+10;  // increment maximum allocation size
        ItemSet **ncont = new ItemSet *[nmemsz]; // make new array
        if(cont) {
            memcpy(ncont,cont,size*sizeof(*cont)); // copy existing entries
            delete[] cont; 
        }
        cont = ncont;  // set current array
        memsize = nmemsz;  // set new allocation size
    }

    // make new items
    while(size < nsz) cont[size++] = new ItemSet;
}

FLEXT_TEMPIMPL(void FLEXT_CLASSDEF(flext_base))::ItemCont::Add(Item *item,const t_symbol *tag,int inlet)
{
    FLEXT_ASSERT(tag);

    if(!Contained(inlet)) Resize(inlet+2);
    ItemSet &set = GetInlet(inlet);
    Item *lst = set.find(tag);
    if(!lst) { 
        Item *old = set.insert(tag,lst = item);
        FLEXT_ASSERT(!old);
    }
    else
        for(;;)
            if(!lst->nxt) { lst->nxt = item; break; }
            else lst = lst->nxt;
    members++;
}

FLEXT_TEMPIMPL(bool FLEXT_CLASSDEF(flext_base))::ItemCont::Remove(Item *item,const t_symbol *tag,int inlet,bool free)
{
    FLEXT_ASSERT(tag);

    if(Contained(inlet)) {
        ItemSet &set = GetInlet(inlet);
        Item *lit = set.find(tag);
        for(Item *prv = NULL; lit; prv = lit,lit = lit->nxt) {
            if(lit == item) {
                if(prv) prv->nxt = lit->nxt;
                else if(lit->nxt) {
                    Item *old = set.insert(tag,lit->nxt);
                    FLEXT_ASSERT(!old);
                }
                else {
                    Item *l = set.remove(tag);
                    FLEXT_ASSERT(l == lit);
                }

                lit->nxt = NULL; 
                if(free) delete lit;
                return true;
            }
        }
    }
    return false;
}

FLEXT_TEMPIMPL(FLEXT_TEMPSUB(FLEXT_CLASSDEF(flext_base))::Item *FLEXT_CLASSDEF(flext_base))::ItemCont::FindList(const t_symbol *tag,int inlet)
{
    FLEXT_ASSERT(tag);
    return Contained(inlet)?GetInlet(inlet).find(tag):NULL;
}

// --- class item lists (methods and attributes) ----------------

/*
typedef TablePtrMap<FLEXT_CLASSDEF(flext_base)::t_classid,FLEXT_CLASSDEF(flext_base)::ItemCont *,8> ClassMap;

static ClassMap classarr[2];

FLEXT_TEMPIMPL(FLEXT_TEMPSUB(FLEXT_CLASSDEF(flext_base))::ItemCont *FLEXT_CLASSDEF(flext_base))::GetClassArr(t_classid c,int ix)
{
    ClassMap &map = classarr[ix];
    ItemCont *cont = map.find(c);
    if(!cont) map.insert(c,cont = new ItemCont);
    return cont;
}
*/

#include "flpopns.h"

#endif // __FLEXT_ITEM_CPP