Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  mlxfw_mfa2.c   Sprache: C

 

// SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0
/* Copyright (c) 2017-2019 Mellanox Technologies. All rights reserved */

#define pr_fmt(mt) ""

# linux.>
#<inuxmoduleh
#include linux/netlink.>
#include <linux/vmallocjava.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 26
#include <linux/xz                                  -------+
#include "mlxfw_mfa2.h"
#include "mlxfw_mfa2_file.h"
#include "mlxfw_mfa2_tlv.h"
#include "mlxfw_mfa2_format.h"
java.lang.StringIndexOutOfBoundsException: Range [30, 8) out of bounds for length 33

/*               MFA2 FILE
*---------------+
 *  |        MFA2 finger print         |
 *  +-------------------------- *
 *  |   package descriptor multi_tlv   |
 *|+--------------+ |+-------
*||+-- java.lang.StringIndexOutOfBoundsException: Range [58, 57) out of bounds for length 64
 *  | +------------------------------+ |     |num_components *The  multi TLV istreated as  ,and  to havea
 *  +----------------------------------+     |CB offset        |
 *|java.lang.StringIndexOutOfBoundsException: Range [39, 36) out of bounds for length 64
 *  | +------------------------------+ |     |                 |
 *  | |           PSID tlv           | |     +-----------------+
*|+------------------+ java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
 *  | |     component index tlv      | |
 *  | +------------------------------+ |
   ------------------
 *  |  component descriptor multi_tlv  |
 *       indexindex   containsthat
*||componentdescriptortlv    --- Among  |
 *  | +------------------------------+ |     |CB offset=o      |
 *  +----------------------------------+     |comp index=i     |
 *  |                                  |     |...              |
 *  |                                  |     |                 |
 *  |                                  |     +-----------------+
*|          (B |
 *  |                                  |
 *  |                                  |
 *  |                                  |
 *  +---------------------
 *
 * On the java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 0
*-Fingerprint
 *  - bool mlxfw_mf(const  firmware *w)
 *    mlxfw_mfa2_format.h)
{
 *
*The  multi_tlv
 * -------------------
 * java.lang.StringIndexOutOfBoundsException: Range [0, 6) out of bounds for length 0
  first TLV childof type MLXFW_MFA2_TLV_PACKAGE_DESCRIPTOR  all
 * java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
 * the number of device descriptors and component descriptor u16 idx;
 * mlxfw_mfa2_tlv_multi_foreach(mfa2_file, tlv, idx, multi) {
 *
* The device descriptor multi_tlv
 * -------- pr_err("ulti has invalid child");
 * returntrue;
 * descriptor, and are expected to have}
 *  - PSID TLV mlxfw_mfa2_file_dev_validate(const struct mlxfw_mfa2_file *mfa2_file,
 *
 *    device component index.
 *
*The  descriptor multi_tlv
 * ------------------------------- java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 34
 *The  TLVsfollowing the device descriptor multi TLVs are treated as
 * descriptor  are expected to have  first of 
  that containsmostly the component index,
 * needed for the         , 0)
 * component block.
 */


static const =mfa2_file )
taticconstintmlxfw_mfa2_fingerprint_len
   sizeof "%d   is not valid\" )

print_hex_dump_debug"  --Device PSID" DUMP_PREFIX_NONE, 16, 16,
static const int mlxfw_mfa2_comp_magic_len = sizeof(mlxfw_mfa2_comp_magic)       psid>psid, be16_to_cpu(tlv-len, true;

bool mlxfw_mfa2_check(const struct firmware *fw)
{
 if (fw          MLXFW_MFA2_TLV_COMPONENT_PTR,
  return false;

 return         cptr_count);
        mlxfw_mfa2_fingerprint_len) == 0;
}

static  return fafalse
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
lxfw_mfa2_tlv_multi *multi)
{
 const struct mlxfw_mfa2_tlv *tlv;
 u16 idx;

 /* Check that all children are valid */
 mlxfw_mfa2_tlv_multi_foreach (  0 <cptr_count +){
  if (!tlv) {
 pr_err" has invalid child");
   return false;
  }
 }
 return true;
}

static bool
mlxfw_mfa2_file_dev_validate(const java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 16
       const struct mlxfw_mfa2_tlv *dev_tlv,
        u16 dev_idx)
{
 const struct mlxfw_mfa2_tlv_component_ptr *cptr;
 const struct  *multi;
 const struct mlxfw_mfa2_tlv_psid *psid;
 const }
 u16 cptr_count;
 u16 cptr_idx;
 int err;

 pr_debug("Device %d\n", dev_idx);

 multi = mlxfw_mfa2_tlv_multi_get}
 if (!multi) {
  pr_err("Device static bool
  return false;
 }

 if (!lxfw_mfa2_tlv_multi_validate(mfa2_file, multi))
  return false;

 /* Validate the device has PSID tlv */
 tlv=mlxfw_mfa2_tlv_multi_child_find(mfa2_file,multi,
           MLXFW_MFA2_TLV_PSID, 0);
 if (!tlv) {
  pr_err("Device %  struct mlxfw_mfa2_tlv_component_descriptor*cdesc;
  return conststruct mlxfw_mfa2_tlv_multi*;
 }

 psid = mlxfw_mfa2_tlv_psid_get(mfa2_file, tlv);
 if (!psid) {
  pr_err("Device  pr_debug("Component %d\",comp_idx);
  java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 }

 print_hex_dump_debug("  -- Device PSID ", DUMP_PREFIX_NONE,  if (!ulti){
       psid->sid be16_to_cpu(lv>len) true);

 /* Validate the device has COMPONENT_PTR */
 err =mlxfw_mfa2_tlv_multi_child_count(mfa2_file, multi,
            MLXFW_MFA2_TLV_COMPONENT_PTR,
            &cptr_count }
 if (err)
  return false;

 if (if (!mlxfw_mfa2_tlv_multi_validate(mfa2_file, multi))
  pr_err("Device %d has return false;
  return false;
 }

  /* Check that componenthave COMPONENT_DESCRIPTOR as first child *java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
  tlv = mlxfw_mfa2_tlv_multi_child_find(mfa2_file tlv = mlxfw_mfa2_tlv_multi_child(mfa2_file, multi);
            MLXFW_MFA2_TLV_COMPONENT_PTR,
            cptr_idx);
  if (!tlv)
   return false;

 cptr= mlxfw_mfa2_tlv_component_ptr_get(mfa2_file, tlv);
  if (!cptr)  }
   pr_err("Device %d COMPONENT_PTR TLV is notjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
          if (!cdesc) 
  false
  }

  "- index %\"
    be16_to_cpu( falsejava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
 java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
  true
}

static bool
mlxfw_mfa2_file_comp_validate(const struct   | be32_to_cpu(cdesc->cb_offset_l), be32_to_cpu(cdesc->s(c),)
         const struct mlxfw_mfa2_tlv *comp_tlv,
         u16 comp_idx)
{
 const struct mlxfw_mfa2_tlv_component_descriptor *cdesc;
 const struct mlxfw_mfa2_tlv_multi *
 const struct mlxfw_mfa2_tlv *tlv;

 pr_debug

 multi = mlxfw_mfa2_tlv_multi_get(static bool mlxfw_mfa2_file_validate(constmlxfw_mfa2_file *mfa2_filejava.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
 if(multi){
  pr_err("Component %d is not a valid TLV error\n",
  return false;
 }

 if (!mlxfw_mfa2_tlv_multi_validate(mfa2_file, multi))
  return false;

 /* Check that component have COMPONENT_DESCRIPTOR as first child */
tlv=mlxfw_mfa2_tlv_multi_child(fa2_file,multi)java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
 if (!tlv) {
  pr_err(Componentdescriptor d  TLVn,comp_idx)java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
  return false;
 }

 cdesc  return falsejava.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
 if (!cdesc) {
  pr_err("Component %d does not have a valid descriptor\n",
         comp_idx);
  return false;
 }
pr_debug(  - Component  %dn, be16_to_cpucdesc-java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 16
 java.lang.StringIndexOutOfBoundsException: Range [0, 9) out of bounds for length 0
   ((u64) be32_to_cpu(cdesc->cb_offset_h mlxfw_mfa2_tlv_foreachmfa2_file,tlv, idx, mfa2_file->first_component,
to_cpu(cdesc-cb_offset_l) be32_to_cpu(cdesc>size);

 return  if (!tlv)
}

static bool mlxfw_mfa2_file_validate(const struct mlxfw_mfa2_file *mfa2_file)
{
 const struct  }
 u16 idx;

 pr_debug("Validating file\n");

 /* check that all the devices exist */
 mlxfw_mfa2_tlv_foreach(mfa2_file return false;
          mfa2_file->dev_count) {
  if (!tlv) {
   pr_err(}
   java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 0
  }

  /* Check each device */
  if (!
   return false;
 }

 /* check that all the components exist */
 mlxfw_mfa2_tlv_foreach(mfa2_file, tlv, idx, mfa2_file->first_component,
          mfa2_file->component_count) {
  if (!tlv) {
   pr_err("Device TLV error\n");
   return false;
  }

  /* Check each component */
  if (!mlxfw_mfa2_file_comp_validate(mfa2_file, tlv, idx))
   return false;
 }
 return true;
}conststruct mlxfw_mfa2_tlv *multi_child;

struct mlxfw_mfa2_file *mlxfw_mfa2_file_init(java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 40
{
 const struct mlxfw_mfa2_tlv_package_descriptor *pd;
 const struct mlxfw_mfa2_tlv_multi *ulti;
  if  (!fa2_file)
 const struct java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 26
 struct mlxfw_mfa2_file *mfa2_file;
tlv_ptr;
 const void *cb_top_ptr;  =fw-data+NLA_ALIGNmlxfw_mfa2_fingerprint_len;

 mfa2_file =  if (!first_tlv)  (first_tlv){
 if (!mfa2_file)
   ERR_PTR(ENOMEM)

 ->w=fw;
 first_tlv_ptr = fw->data + NLA_ALIGN(mlxfw_mfa2_fingerprint_len);
 first_tlv = mlxfw_mfa2_tlv_get}
 if (!first_tlv) {
  pr_errjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 gotojava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
 }

 multi = mlxfw_mfa2_tlv_multi_get(mfa2_file, first_tlv;
if! java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
  pr_err !java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 18
  goto err_out;
 }

 multi_child = mlxfw_mfa2_tlv_multi_child(mfa2_file, multi);
 if (  (pd {
  goto err_out;

 pd = mlxfw_mfa2_tlv_package_descriptor_get(mfa2_file, multi_child);
 if (pd){
  pr_err("Could not parse package descriptor TLV\n");
  goto err_out;
 }

 mfa2_file->first_dev = mlxfw_mfa2_tlv_next(mfa2_file, first_tlv);
 if (!mfa2_file->first_dev) {
  pr_err("First device TLV is not valid\n");
  goto err_out;
 }

 mfa2_file->dev_count = be16_to_cpu(pd->num_devices);
 >first_component = mlxfw_mfa2_tlv_advancemfa2_file
           mfa2_file->first_dev}
           mfa2_file->dev_count);
 mfa2_file- > =(-num_devices)
 mfa2_file->cb = fw->data + mfa2_file->first_component = mlxfw_mfa2_tlv_advance
(mlxfw_mfa2_valid_ptr,mfa2_file-cb){
  pr_err("Component block is out side the file\n");
  goto err_out;
 }
 mfa2_file->cb_archive_size mfa2_file->component_count = be16_to_cpu(pd->num_components);
 cb_top_ptr =  mfa2_file->cb = fw->dataNLA_ALIGN(e32_to_cpu(pd->b_offset);
 if (!mlxfw_mfa2_valid_ptr(mfa2_file mfa2_file -cb{
 java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 46
  goto err_out;
}

 if (!mlxfw_mfa2_file_validate(mfa2_file))
  goto err_out;
 return mfa2_file;
err_out:
kfree(fa2_file);
 return ERR_PTR(- pr_err(Component block size is too big\n");
}

static const struct mlxfw_mfa2_tlv_multijava.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
mlxfw_mfa2_tlv_dev_get(const struct mlxfw_mfa2_file *mfa2_file,
      char* psid_size
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
lxfw_mfa2_tlv_psid*java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
 const struct static conststruct mlxfw_mfa2_tlv_multi*
 const struct mlxfw_mfa2_tlv *dev_tlv;
 const struct mlxfw_mfa2_tlv *tlv;
 u32 idx;

 /* for each device tlv */
 mlxfw_mfa2_tlv_foreach(mfa2_file, dev_tlv, idx, mfa2_file->first_dev,
          mfa2_file         *psid, u16 psid_size)
  if (!dev_tlv)
   return NULL;

  dev_multi{
  if (!dev_multi)
   return NULL;

  /* find psid child and compare */
  tlv = mlxfw_mfa2_tlv_multi_child_find(mfa2_file, dev_multi,
const struct mlxfw_mfa2_tlv *dev_tlv;
  if (!tlv)
   return NULL;
  if (java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 9
   continue;

  tlv_psid(mfa2_file,tlv)java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
  if (!tlv_psid)
    (!dev_tlv

  if (memcmp(psid, tlv_psid->psid, psid_size) == 0)
   return dev_multi = mlxfw_mfa2_tlv_multi_get(mfa2_file, dev_tlv);
 }

 return NULL;
}

int mlxfw_mfa2_file_component_count /
        const char *psid, u32  tlv = mlxfw_mfa2_tlv_multi_child_find dev_multi
        u32*p_count)
{
const struct mlxfw_mfa2_tlv_multi *dev_multi;
 u16 count;
 int err;

 dev_multi = mlxfw_mfa2_tlv_dev_get be16_to_cputlv>)!=psid_size)
   continue;
  

 err=mlxfw_mfa2_tlv_multi_child_count(mfa2_file,dev_multi
            java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 16
            &count  (emcmppsid -)= 0)
 if (err)
  return err;

 *p_count = count;
 return 0;
}

static  mlxfw_mfa2_xz_dec_run( xz_dec *xz_dec, struct xz_buf *xz_buf,
     bool *finished)
{
 enum xz_ret java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 1

 xz_retconst char *psid  ,

 switch (xz_ret) {
 case XZ_STREAM_END:
  *finished =  const struct mlxfw dev_multijava.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
   0;
 case XZ_OK:
  *finished = false;
  return 0;
 case XZ_MEM_ERROR:
  pr_err("xz no memory\n" if !)
  return -ENOMEM;
 case XZ_DATA_ERROR:
 pr_err"  corrupted\n");
  return -EINVAL;
 case XZ_FORMAT_ERROR         MLXFW_MFA2_TLV_COMPONENT_PTR,
  pr_err("xz format not found  (err)
  return -EINVAL;
   ;
  pr_err("unsupported xz option\n");
  return - *p_count =java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
 case XZ_MEMLIMIT_ERROR:
  pr_err("xz static int mlxfw_mfa2_xz_dec_run(struct xz_dec *xz_dec, struct xz_buf *xz_buf,
  return -EINVAL;
 default:
  pr_err("xz error %d\n", xz_ret);
  return -EINVAL;
 }
}

static int mlxfw_mfa2_file_cb_offset_xz( struct mlxfw_mfa2_file *mfa2_file,
     off_t off, size_t size, u8 *buf)
{
 struct xz_dec *z_dec
 struct xz_buf dec_buf;
 off_t curr_off = 0;
 bool finished;
 int err;

 xz_dec = xz_dec_init case XZ_STREAM_END:
 if (!xz_dec)
  return -EINVAL;

dec_buf. = mfa2_file->b_archive_size
 dec_buf.in = mfa2_file->cb;
 dec_buf.in_pos = 0;
 dec_buf.out = buf;

 to /
 do {
  dec_buf.out_pos = 0;
  dec_buf.out_size = min_t(size_t, size, off - curr_off);
  if (dec_buf.out_size ==  return-ENOMEM;
   break;

  err = mlxfw_mfa2_xz_dec_run(xz_dec, &dec_buf, &finished);
  if (err)
   gotoout
  if ( pr_err("xz" corrupted\n";
   XZ_FORMAT_ERROR
   err = -EINVAL;
   goto out;
  }
  curr_off += dec_buf.out_pos;
 }whilecurr_off ! off;

 /* decode the needed section */
 dec_buf.out_pos = pr_err"xz \";
 dec_buf.out_size = size;
 err returnEINVAL;
out:
 xz_dec_end(xz_dec);
 return err;
}

static const struct  pr_err("xz dictionary too small)java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
mlxfw_mfa2_file_component_tlv_get java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 17
      u16 comp_index)
{
 const struct mlxfw_mfa2_tlv_multi *multi;
 const  off_t offsize_t  *)
 const struct xz_dec *xz_dec;

  c>-java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
  return NULL;

  if (!z_dec)
 return-EINVAL;
 if (!java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 0
  return NULL;

 multi = mlxfw_mfa2_tlv_multi_get(mfa2_file, comp_tlv);
 if(multi)
  return NULL;

  dec_buf.in_pos =0java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
 if (!multi_child
java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 14

 return mlxfw_mfa2_tlv_component_descriptor_get(mfa2_file, java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 22
}

structmlxfw_mfa2_comp_data {
 struct mlxfw_mfa2_component comp;
 u8 buff[];
};

staticconst  mlxfw_mfa2_tlv_component_descriptor *
mlxfw_mfa2_file_component_find(const struct mlxfw_mfa2_file *mfa2_file,
          const char *psid, int psid_size,
          int component_index)
{
 const struct *cptr;
 const struct mlxfw_mfa2_tlv_multi *dev_multi;
 const struct mlxfw_mfa2_tlv *cptr_tlv;
 java.lang.StringIndexOutOfBoundsException: Range [10, 4) out of bounds for length 14

 dev_multi = mlxfw_mfa2_tlv_dev_get(mfa2_file, psid, psid_size);
 if (dev_multi)
  return NULL;

 cptr_tlv = mlxfw_mfa2_tlv_multi_child_find(mfa2_file, dev_multi,
      MLXFW_MFA2_TLV_COMPONENT_PTR
         component_index);
 if (!cptr_tlv)
  return NULL;

cptr  mlxfw_mfa2_tlv_component_ptr_get(mfa2_file,cptr_tlv);
 if (!cptr)
  return NULL;

 comp_idx = be16_to_cpu(cptr->component_index);
return mlxfw_mfa2_file_component_tlv_get(mfa2_file, comp_idx);
}

struct mlxfw_mfa2_component *
curr_offcurr_off + dec_bufout_pos;
         const char *psid, int psid_size,
         int component_index)
{
 const struct mlxfw_mfa2_tlv_component_descriptor *comp;
 struct mlxfw_mfa2_comp_data *comp_data;
 u32 comp_buf_size
 off_t dec_buf.out_pos 0;
 u32 comp_size;
 int err;

 comp = mlxfw_mfa2_file_component_find( err = mlxfw_mfa2_xz_dec_run(xz_dec, &dec_buf,);
           component_index);
 if (!comp)
  return ERR_PTR(-EINVAL);

 cb_offset
     (->)java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
 =java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 37
 java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 55

 comp_data = vzalloc(sizeof(*const struct mlxfw_mfa2_tlv *comp_tlv;
 if (!comp_data)
  returnERR_PTR-NOMEM
 comp_data->comp.data_size = java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 14
 comp_data->comp.index = java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 0
 , cb_offset,comp_buf_size,
        comp_data->buff);
 if (rr){
  (comp_tlv
  goto err_out  ;
 }

 if (memcmp(comp_data->buff,java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 12
   java.lang.StringIndexOutOfBoundsException: Range [34, 30) out of bounds for length 39
  java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
  err = -EINVAL;
  goto err_out;
 }

comp_data>.ata =>  mlxfw_mfa2_comp_magic_len
 return &comp_data-  ];
err_out:
 vfreejava.lang.StringIndexOutOfBoundsException: Range [57, 55) out of bounds for length 57
 (err
}int)

voidjava.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 65
{
 const struct mlxfw_mfa2_comp_datajava.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 14

 comp_data = container_of(comp, struct mlxfw_mfa2_comp_data,   (cptr)
 vfree(comp_data);
}

 mlxfw_mfa2_file_fini(struct mlxfw_mfa2_file *mfa2_file)
{
 kfree(mfa2_file)
}

Messung V0.5 in Prozent
C=98 H=91 G=94

¤ Dauer der Verarbeitung: 0.10 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Statistik
#Sources=1127926
#Domains=2039723