Because of the perl version wars (mine is better) here at work,
and the incompatability of versions between platform,
(incompatability meaning Linux->perl->5.8.1 SunOS->perl->5.00500
/usr/local/bin/perl)
I'm forced to compile my XS for:
SunOS
 5.005
 5.6.0-gcc
 5.6.1
 5.8.0
 5.8.1
 5.8.2
 5.8.3
Linux
 5.6.0
 5.6.1
 5.8.0
 5.8.2
 5.8.3

These are only warnings, but I prefer to not have any warnings.
THere are 6 of these.

I get this message:
make[2]: Entering directory `/data/cdmg/dev/cdmg_toolbox/LaffPerl'
/apps/gcc/3.4.1/bin/gcc -c -D_REENTRANT -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g3 -O2 -DVERSION=\"2.00\" -DXS_VERSION=\"2.00\" -fPIC "-I/apps/perl/5.8.2/lib/perl5/5.8.2/sun4-solaris-thread-multi/CORE" Laff.c
Laff.c: In function `XS_Laff_Write':
Laff.c:20554: warning: initialization from incompatible pointer type
XS(XS_Laff_Write)
{
dXSARGS;
if (items < 2 || items > 3)
croak("Usage: Laff::Write(db,fp,pp=1)");
{
Laff db;
FILE* fp = IoIFP(sv_2io(ST(1))); <<<<<<< 20554
int pp;
int RETVAL;



Here is the XS code : int LaffWrite(db,fp,pp=1) Laff db FILE* fp int pp

Would the following fix this
int
LaffWrite(Laff db,FILE* fp,int pp=1)

At one time I had this but it would not work for older versions of perl.


Here's the c code :

int LaffWrite(laff_db* db,FILE* fp,int pp)
{
  cell_p          cell;
  if (db EQ NULL)
  {
    CDMG_ERROR("arg 1 : Received null pointer.  Expected laff_db*.");
    return FALSE;
  }
  if (fp EQ NULL)
  {
    CDMG_ERROR("arg 2 : Received null pointer.  Expected FILE*.");
    return FALSE;
  }
  if (pp < 0)
  {
    CDMG_ERROR_A("Recieved %d as indention count.  Should be >= 0!",pp);
    return FALSE;
  }
  if (! LaffWriteHeader(db,fp))
  {
    CDMG_ERROR("LaffWriteHeader failed.");
    return FALSE;
  }
  if (! LaffWriteBarinfo(db,fp))
  {
    CDMG_ERROR("LaffWriteBarinfo failed.");
    return FALSE;
  }
  cell = (cell_p) cdmg_ht_next(db->cells,1);
  if (cell EQ NULL)
  {
    CDMG_ERROR("No cell in database.");
    return FALSE;
  }
  while (cell)
  {
    if (strcmp(cell->name,"BARINFO") EQ 0)
    {
      cell = (cell_p) cdmg_ht_next(db->cells,0);
      if (cell EQ NULL) return TRUE;
      continue;
    }
    if (cell->deleted EQ 0)
    {
      LaffWriteCell(db,fp,cell->head,0,(short)pp);
    }
    cell = (cell_p) cdmg_ht_next(db->cells,0);
  }
  return TRUE;
}


___ _ ____ ___ __ __
/ _ )(_) / /_ __ / _ \___ _/ /_/ /____ ___
/ _ / / / / // / / ___/ _ `/ __/ __/ _ \/ _ \
/____/_/_/_/\_, / /_/ \_,_/\__/\__/\___/_//_/
/___/ Texas Instruments ASIC Circuit Design Methodology Group
Dallas, Texas, 214-480-4455, [EMAIL PROTECTED]

Reply via email to