Lines Matching defs:ls

748 	register Lc_scan_t*	ls;
750 if (!(ls = (Lc_scan_t*)lc))
752 if (!(ls = newof(0, Lc_scan_t, 1, 0)))
754 ls->lc.code = ls->lc.name = ls->buf;
755 ls->territory = -1;
756 ls->language = elementsof(ls->lc.territory->languages);
757 ls->attribute = elementsof(ls->lc.language->attributes);
759 if (++ls->attribute >= elementsof(ls->lc.language->attributes) || !(ls->list.attribute = ls->lc.language->attributes[ls->attribute]))
761 if (++ls->language >= elementsof(ls->lc.territory->languages) || !(ls->lc.language = ls->lc.territory->languages[ls->language]))
763 if (!lc_territories[++ls->territory].code)
765 free(ls);
768 ls->lc.territory = &lc_territories[ls->territory];
769 ls->lc.language = ls->lc.territory->languages[ls->language = 0];
771 if (ls->lc.language)
773 ls->lc.charset = ls->lc.language->charset ? ls->lc.language->charset : &lc_charsets[0];
774 ls->list.attribute = ls->lc.language->attributes[ls->attribute = 0];
778 ls->lc.charset = &lc_charsets[0];
779 ls->list.attribute = 0;
782 ls->lc.attributes = ls->list.attribute ? &ls->list : (Lc_attribute_list_t*)0;
784 if (!ls->lc.language || !ls->lc.language->index)
785 ls->lc.index = 0;
788 if ((!ls->list.attribute || !(ls->lc.index = ls->list.attribute->index)) &&
789 (!ls->lc.territory || !(ls->lc.index = ls->lc.territory->indices[ls->language])))
790 ls->lc.index = SUBLANG_DEFAULT;
791 ls->lc.index = MAKELCID(MAKELANGID(ls->lc.language->index, ls->lc.index), SORT_DEFAULT);
794 canonical(ls->lc.language, ls->lc.territory, ls->lc.charset, ls->lc.attributes, 0, ls->buf, sizeof(ls->buf));
795 return (Lc_t*)ls;