char* LANGSEL(char* name) { intptr_t adr = 0; if (NewLangStr) if (!coucal_read(NewLangStr,name,&adr)) adr = NULL; if (adr) { return (char*)adr; } return ""; }
char* LANGINTKEY(char* name) { intptr_t adr = 0; if (NewLangStrKeys) if (!coucal_read(NewLangStrKeys,name,&adr)) adr=NULL; if (adr) { return (char*)adr; } return ""; }
// retour: position ou -1 si non trouvé int hash_read(const hash_struct * hash, const char *nom1, const char *nom2, hash_struct_type type) { intptr_t intvalue; lien_url lien; /* read */ switch(type) { case HASH_STRUCT_FILENAME: if (coucal_read(hash->sav, nom1, &intvalue)) { return (int) intvalue; } else { return -1; } break; case HASH_STRUCT_ADR_PATH: memset(&lien, 0, sizeof(lien)); lien.adr = key_duphandler(NULL, nom1); lien.fil = key_duphandler(NULL, nom2); if (coucal_read(hash->adrfil, (char*) &lien, &intvalue)) { return (int) intvalue; } else { return -1; } break; case HASH_STRUCT_ORIGINAL_ADR_PATH: memset(&lien, 0, sizeof(lien)); lien.former_adr = key_duphandler(NULL, nom1); lien.former_fil = key_duphandler(NULL, nom2); if (coucal_read(hash->former_adrfil, (char*) &lien, &intvalue)) { return (int) intvalue; } else { return -1; } break; default: assertf(! "unexpected case"); return -1; break; } }