version 1.4, 2000/11/08 08:02:49 |
version 1.6, 2018/03/29 01:32:52 |
|
|
* 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/engine/str.c,v 1.3 2000/08/22 05:04:06 noro Exp $ |
* $OpenXM: OpenXM_contrib2/asir2000/engine/str.c,v 1.5 2004/02/26 07:06:32 noro Exp $ |
*/ |
*/ |
#include "ca.h" |
#include "ca.h" |
|
|
|
|
STRING a,b; |
STRING a,b; |
STRING *c; |
STRING *c; |
{ |
{ |
char *buf; |
char *buf; |
|
|
buf = (char *)MALLOC(strlen(BDY(a))+strlen(BDY(b))+1); |
buf = (char *)MALLOC_ATOMIC(strlen(BDY(a))+strlen(BDY(b))+1); |
sprintf(buf,"%s%s",BDY(a),BDY(b)); |
sprintf(buf,"%s%s",BDY(a),BDY(b)); |
MKSTR(*c,buf); |
MKSTR(*c,buf); |
} |
} |
|
|
int compstr(vl,a,b) |
int compstr(vl,a,b) |
VL vl; |
VL vl; |
STRING a,b; |
STRING a,b; |
{ |
{ |
return a ? (b?strcmp(BDY(a),BDY(b)):1) : (b?-1:0); |
return a ? (b?strcmp(BDY(a),BDY(b)):1) : (b?-1:0); |
} |
} |
|
|
/* primitive functions for BYTEARRAY */ |
/* primitive functions for BYTEARRAY */ |
Line 74 int compbytearray(vl,a,b) |
|
Line 74 int compbytearray(vl,a,b) |
|
VL vl; |
VL vl; |
BYTEARRAY a,b; |
BYTEARRAY a,b; |
{ |
{ |
int i; |
int i; |
|
|
if ( !a ) |
if ( !a ) |
if ( b ) |
if ( b ) |
return -1; |
return -1; |
else |
else |
return 0; |
return 0; |
else if ( !b ) |
else if ( !b ) |
return 1; |
return 1; |
else if ( a->len > b->len ) |
else if ( a->len > b->len ) |
return 1; |
return 1; |
else if ( a->len < b->len ) |
else if ( a->len < b->len ) |
return -1; |
return -1; |
else { |
else { |
for ( i = 0; i < a->len; i++ ) |
for ( i = 0; i < a->len; i++ ) |
if ( a->body[i] > b->body[i] ) |
if ( a->body[i] > b->body[i] ) |
return 1; |
return 1; |
else if ( a->body[i] < b->body[i] ) |
else if ( a->body[i] < b->body[i] ) |
return -1; |
return -1; |
return 0; |
return 0; |
} |
} |
} |
} |