version 1.50, 2006/01/05 00:21:20 |
version 1.51, 2006/03/16 10:08:20 |
|
|
* DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, |
* DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, |
* PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. |
* PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. |
* |
* |
* $OpenXM: OpenXM_contrib2/asir2000/builtin/array.c,v 1.49 2005/12/21 23:18:15 noro Exp $ |
* $OpenXM: OpenXM_contrib2/asir2000/builtin/array.c,v 1.50 2006/01/05 00:21:20 noro Exp $ |
*/ |
*/ |
#include "ca.h" |
#include "ca.h" |
#include "base.h" |
#include "base.h" |
#include "parse.h" |
#include "parse.h" |
#include "inline.h" |
#include "inline.h" |
|
|
|
#include <sys/types.h> |
|
#include <sys/stat.h> |
|
#include <unistd.h> |
|
|
#define F4_INTRAT_PERIOD 8 |
#define F4_INTRAT_PERIOD 8 |
|
|
#if 0 |
#if 0 |
Line 444 void Pnewbytearray(NODE arg,BYTEARRAY *rp) |
|
Line 448 void Pnewbytearray(NODE arg,BYTEARRAY *rp) |
|
char *str; |
char *str; |
LIST list; |
LIST list; |
NODE tn; |
NODE tn; |
|
int ac; |
|
struct stat sbuf; |
|
char *fname; |
|
FILE *fp; |
|
|
asir_assert(ARG0(arg),O_N,"newbytearray"); |
ac = argc(arg); |
len = QTOS((Q)ARG0(arg)); |
if ( ac == 1 ) { |
if ( len < 0 ) |
/* ARG0(arg) must be a filename */ |
error("newbytearray : invalid size"); |
asir_assert(ARG0(arg),O_STR,"newbytearray"); |
MKBYTEARRAY(array,len); |
fname = BDY((STRING)ARG0(arg)); |
if ( argc(arg) == 2 ) { |
fp = fopen(fname,"rb"); |
|
if ( !fp ) error("newbytearray : fopen failed"); |
|
if ( stat(fname,&sbuf) < 0 ) error("newbytearray : stat failed"); |
|
len = sbuf.st_size; |
|
MKBYTEARRAY(array,len); |
|
fread(BDY(array),len,sizeof(char),fp); |
|
} else if ( ac == 2 ) { |
|
asir_assert(ARG0(arg),O_N,"newbytearray"); |
|
len = QTOS((Q)ARG0(arg)); |
|
if ( len < 0 ) |
|
error("newbytearray : invalid size"); |
|
MKBYTEARRAY(array,len); |
if ( !ARG1(arg) ) |
if ( !ARG1(arg) ) |
error("newbytearray : invalid initialization"); |
error("newbytearray : invalid initialization"); |
switch ( OID((Obj)ARG1(arg)) ) { |
switch ( OID((Obj)ARG1(arg)) ) { |
Line 474 void Pnewbytearray(NODE arg,BYTEARRAY *rp) |
|
Line 493 void Pnewbytearray(NODE arg,BYTEARRAY *rp) |
|
if ( !ARG1(arg) ) |
if ( !ARG1(arg) ) |
error("newbytearray : invalid initialization"); |
error("newbytearray : invalid initialization"); |
} |
} |
} |
} else |
|
error("newbytearray : invalid argument"); |
*rp = array; |
*rp = array; |
} |
} |
|
|
Line 483 void Pnewbytearray(NODE arg,BYTEARRAY *rp) |
|
Line 503 void Pnewbytearray(NODE arg,BYTEARRAY *rp) |
|
void Pmemoryplot_to_coord(NODE arg,LIST *rp) |
void Pmemoryplot_to_coord(NODE arg,LIST *rp) |
{ |
{ |
int len,blen,y,i,j; |
int len,blen,y,i,j; |
char *a; |
unsigned char *a; |
NODE r0,r,n; |
NODE r0,r,n; |
LIST l; |
LIST l; |
BYTEARRAY ba; |
BYTEARRAY ba; |