#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define ARRAY_MAX 128
typedef struct node node;
struct node
{
int key;
char value[ ARRAY_MAX] ;
node * next;
} ;
node* insert( node* start, char * vinput, int kinput)
{
node* temp = start;
while ( ( temp-> next-> key < kinput) && temp-> next!= NULL) {
temp= temp-> next;
}
if ( temp-> key== kinput) {
temp-> key = kinput;
return temp;
} else {
node
* inputnode
= ( node
* ) malloc ( sizeof ( node
) ) ; inputnode-> next = temp-> next;
temp-> next = inputnode;
inputnode-> key = kinput; /*error: incompatible types in assignment*/
inputnode-> value = vinput;
return inputnode;
}
}
node* makedict( char * vinput, int kinput)
{
node
* temp
= ( node
* ) malloc ( sizeof ( node
) ) ; temp-> value = vinput;
temp-> key = kinput; /*error: incompatible types in assignment*/
temp-> next = NULL;
return temp;
}
int main( )
{
return EXIT_SUCCESS;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHN0cmluZy5oPgoKI2RlZmluZSBBUlJBWV9NQVggMTI4Cgp0eXBlZGVmIHN0cnVjdCBub2RlIG5vZGU7CnN0cnVjdCBub2RlCnsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgaW50IGtleTsKICAgICAgY2hhciB2YWx1ZVtBUlJBWV9NQVhdOwogICAgICBub2RlICpuZXh0Owp9OwoKbm9kZSogaW5zZXJ0KG5vZGUqIHN0YXJ0LCBjaGFyKiB2aW5wdXQsIGludCBraW5wdXQpIAp7CiAgICBub2RlKiB0ZW1wID0gc3RhcnQ7CiAgICB3aGlsZSgodGVtcC0+bmV4dC0+a2V5IDwga2lucHV0KSAmJiB0ZW1wLT5uZXh0IT1OVUxMKSB7CiAgICAgICAgdGVtcD10ZW1wLT5uZXh0OwogICAgfQogICAgaWYodGVtcC0+a2V5PT1raW5wdXQpIHsKICAgICAgICB0ZW1wLT5rZXkgPSBraW5wdXQ7CiAgICAgICAgcmV0dXJuIHRlbXA7CiAgICB9IGVsc2UgewogICAgICAgIG5vZGUqIGlucHV0bm9kZSA9IChub2RlKiltYWxsb2Moc2l6ZW9mKG5vZGUpKTsKICAgICAgICBpbnB1dG5vZGUtPm5leHQgPSB0ZW1wLT5uZXh0OwogICAgICAgIHRlbXAtPm5leHQgPSBpbnB1dG5vZGU7CiAgICAgICAgaW5wdXRub2RlLT5rZXkgPSBraW5wdXQ7ICAgLyplcnJvcjogaW5jb21wYXRpYmxlIHR5cGVzIGluIGFzc2lnbm1lbnQqLwogICAgICAgIGlucHV0bm9kZS0+dmFsdWUgPSB2aW5wdXQ7CiAgICAgICAgcmV0dXJuIGlucHV0bm9kZTsKICAgIH0KfQoKCm5vZGUqIG1ha2VkaWN0KGNoYXIqIHZpbnB1dCwgaW50IGtpbnB1dCkgCnsKICAgIG5vZGUqIHRlbXAgPSAobm9kZSopbWFsbG9jKHNpemVvZihub2RlKSk7CiAgICB0ZW1wLT52YWx1ZSA9IHZpbnB1dDsKICAgIHRlbXAtPmtleSA9IGtpbnB1dDsgLyplcnJvcjogaW5jb21wYXRpYmxlIHR5cGVzIGluIGFzc2lnbm1lbnQqLwogICAgdGVtcC0+bmV4dCA9IE5VTEw7CiAgICByZXR1cm4gdGVtcDsKfQoKaW50IG1haW4oKQp7CiAgICByZXR1cm4gRVhJVF9TVUNDRVNTOwp9