• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/ap/gpl/timemachine/netatalk-2.2.0/libatalk/bstring/

Lines Matching defs:b0

310 /*  int bconcat (bstring b0, const_bstring b1)
312 * Concatenate the bstring b1 to the bstring b0.
314 int bconcat (bstring b0, const_bstring b1) {
318 if (b0 == NULL || b1 == NULL || b0->data == NULL || b1->data == NULL) return BSTR_ERR;
320 d = b0->slen;
322 if ((d | (b0->mlen - d) | len | (d + len)) < 0) return BSTR_ERR;
324 if (b0->mlen <= d + len + 1) {
325 ptrdiff_t pd = b1->data - b0->data;
326 if (0 <= pd && pd < b0->mlen) {
329 if (balloc (b0, d + len + 1) != BSTR_OK) {
335 bBlockCopy (&b0->data[d], &aux->data[0], (size_t) len);
336 b0->data[d + len] = (unsigned char) '\0';
337 b0->slen = d + len;
408 bstring b0;
414 b0 = (bstring) bstr__alloc (sizeof (struct tagbstring));
415 if (b0 == NULL) {
423 b0->data = (unsigned char *) bstr__alloc (j);
424 if (b0->data == NULL) {
426 b0->data = (unsigned char *) bstr__alloc (j);
427 if (b0->data == NULL) {
429 bstr__free (b0);
434 b0->mlen = j;
435 b0->slen = i;
437 if (i) bstr__memcpy ((char *) b0->data, (char *) b->data, i);
438 b0->data[b0->slen] = (unsigned char) '\0';
440 return b0;
587 /* int bstricmp (const_bstring b0, const_bstring b1)
596 int bstricmp (const_bstring b0, const_bstring b1) {
599 if (bdata (b0) == NULL || b0->slen < 0 ||
601 if ((n = b0->slen) > b1->slen) n = b1->slen;
602 else if (b0->slen == b1->slen && b0->data == b1->data) return BSTR_OK;
605 v = (char) downcase (b0->data[i])
610 if (b0->slen > n) {
611 v = (char) downcase (b0->data[n]);
623 /* int bstrnicmp (const_bstring b0, const_bstring b1, int n)
633 int bstrnicmp (const_bstring b0, const_bstring b1, int n) {
636 if (bdata (b0) == NULL || b0->slen < 0 ||
639 if (m > b0->slen) m = b0->slen;
642 if (b0->data != b1->data) {
644 v = (char) downcase (b0->data[i]);
646 if (v != 0) return b0->data[i] - b1->data[i];
650 if (n == m || b0->slen == b1->slen) return BSTR_OK;
652 if (b0->slen > m) {
653 v = (char) downcase (b0->data[m]);
663 /* int biseqcaseless (const_bstring b0, const_bstring b1)
671 int biseqcaseless (const_bstring b0, const_bstring b1) {
674 if (bdata (b0) == NULL || b0->slen < 0 ||
676 if (b0->slen != b1->slen) return BSTR_OK;
677 if (b0->data == b1->data || b0->slen == 0) return 1;
678 for (i=0, n=b0->slen; i < n; i++) {
679 if (b0->data[i] != b1->data[i]) {
680 unsigned char c = (unsigned char) downcase (b0->data[i]);
687 /* int bisstemeqcaselessblk (const_bstring b0, const void * blk, int len)
689 * Compare beginning of string b0 with a block of memory of length len
690 * without differentiating between case for equality. If the beginning of b0
691 * differs from the memory block other than in case (or if b0 is too short),
696 int bisstemeqcaselessblk (const_bstring b0, const void * blk, int len) {
699 if (bdata (b0) == NULL || b0->slen < 0 || NULL == blk || len < 0)
701 if (b0->slen < len) return BSTR_OK;
702 if (b0->data == (const unsigned char *) blk || len == 0) return 1;
705 if (b0->data[i] != ((const unsigned char *) blk)[i]) {
706 if (downcase (b0->data[i]) !=
784 /* int biseq (const_bstring b0, const_bstring b1)
786 * Compare the string b0 and b1. If the strings differ, 0 is returned, if
791 int biseq (const_bstring b0, const_bstring b1) {
792 if (b0 == NULL || b1 == NULL || b0->data == NULL || b1->data == NULL ||
793 b0->slen < 0 || b1->slen < 0) return BSTR_ERR;
794 if (b0->slen != b1->slen) return BSTR_OK;
795 if (b0->data == b1->data || b0->slen == 0) return 1;
796 return !bstr__memcmp (b0->data, b1->data, b0->slen);
799 /* int bisstemeqblk (const_bstring b0, const void * blk, int len)
801 * Compare beginning of string b0 with a block of memory of length len for
802 * equality. If the beginning of b0 differs from the memory block (or if b0
807 int bisstemeqblk (const_bstring b0, const void * blk, int len) {
810 if (bdata (b0) == NULL || b0->slen < 0 || NULL == blk || len < 0)
812 if (b0->slen < len) return BSTR_OK;
813 if (b0->data == (const unsigned char *) blk || len == 0) return 1;
816 if (b0->data[i] != ((const unsigned char *) blk)[i]) return BSTR_OK;
865 /* int bstrcmp (const_bstring b0, const_bstring b1)
867 * Compare the string b0 and b1. If there is an error, SHRT_MIN is returned,
869 * string pointed to by b0 is lexicographically less than or greater than
873 * pointed to by b0 is shorter or longer than the string pointed to by b1 is
879 int bstrcmp (const_bstring b0, const_bstring b1) {
882 if (b0 == NULL || b1 == NULL || b0->data == NULL || b1->data == NULL ||
883 b0->slen < 0 || b1->slen < 0) return SHRT_MIN;
884 n = b0->slen; if (n > b1->slen) n = b1->slen;
885 if (b0->slen == b1->slen && (b0->data == b1->data || b0->slen == 0))
889 v = ((char) b0->data[i]) - ((char) b1->data[i]);
891 if (b0->data[i] == (unsigned char) '\0') return BSTR_OK;
894 if (b0->slen > n) return 1;
899 /* int bstrncmp (const_bstring b0, const_bstring b1, int n)
901 * Compare the string b0 and b1 for at most n characters. If there is an
902 * error, SHRT_MIN is returned, otherwise a value is returned as if b0 and
909 int bstrncmp (const_bstring b0, const_bstring b1, int n) {
912 if (b0 == NULL || b1 == NULL || b0->data == NULL || b1->data == NULL ||
913 b0->slen < 0 || b1->slen < 0) return SHRT_MIN;
915 if (m > b0->slen) m = b0->slen;
918 if (b0->data != b1->data) {
920 v = ((char) b0->data[i]) - ((char) b1->data[i]);
922 if (b0->data[i] == (unsigned char) '\0') return BSTR_OK;
926 if (n == m || b0->slen == b1->slen) return BSTR_OK;
928 if (b0->slen > m) return 1;
1317 /* int binchr (const_bstring b0, int pos, const_bstring b1);
1319 * Search for the first position in b0 starting from pos or after, in which
1321 * does not exist in b0, then BSTR_ERR is returned.
1323 int binchr (const_bstring b0, int pos, const_bstring b1) {
1325 if (pos < 0 || b0 == NULL || b0->data == NULL ||
1326 b0->slen <= pos) return BSTR_ERR;
1327 if (1 == b1->slen) return bstrchrp (b0, b1->data[0], pos);
1329 return binchrCF (b0->data, b0->slen, pos, &chrs);
1342 /* int binchrr (const_bstring b0, int pos, const_bstring b1);
1344 * Search for the last position in b0 no greater than pos, in which one of
1346 * exist in b0, then BSTR_ERR is returned.
1348 int binchrr (const_bstring b0, int pos, const_bstring b1) {
1350 if (pos < 0 || b0 == NULL || b0->data == NULL || b1 == NULL ||
1351 b0->slen < pos) return BSTR_ERR;
1352 if (pos == b0->slen) pos--;
1353 if (1 == b1->slen) return bstrrchrp (b0, b1->data[0], pos);
1355 return binchrrCF (b0->data, pos, &chrs);
1358 /* int bninchr (const_bstring b0, int pos, const_bstring b1);
1360 * Search for the first position in b0 starting from pos or after, in which
1362 * does not exist in b0, then BSTR_ERR is returned.
1364 int bninchr (const_bstring b0, int pos, const_bstring b1) {
1366 if (pos < 0 || b0 == NULL || b0->data == NULL ||
1367 b0->slen <= pos) return BSTR_ERR;
1370 return binchrCF (b0->data, b0->slen, pos, &chrs);
1373 /* int bninchrr (const_bstring b0, int pos, const_bstring b1);
1375 * Search for the last position in b0 no greater than pos, in which none of
1377 * exist in b0, then BSTR_ERR is returned.
1379 int bninchrr (const_bstring b0, int pos, const_bstring b1) {
1381 if (pos < 0 || b0 == NULL || b0->data == NULL ||
1382 b0->slen < pos) return BSTR_ERR;
1383 if (pos == b0->slen) pos--;
1386 return binchrrCF (b0->data, pos, &chrs);
1389 /* int bsetstr (bstring b0, int pos, bstring b1, unsigned char fill)
1391 * Overwrite the string b0 starting at position pos with the string b1. If
1392 * the position pos is past the end of b0, then the character "fill" is
1393 * appended as necessary to make up the gap between the end of b0 and pos.
1396 int bsetstr (bstring b0, int pos, const_bstring b1, unsigned char fill) {
1401 if (pos < 0 || b0 == NULL || b0->slen < 0 || NULL == b0->data ||
1402 b0->mlen < b0->slen || b0->mlen <= 0) return BSTR_ERR;
1409 if ((pd = (ptrdiff_t) (b1->data - b0->data)) >= 0 && pd < (ptrdiff_t) b0->mlen) {
1416 if (balloc (b0, d + 1) != BSTR_OK) {
1421 newlen = b0->slen;
1425 bstr__memset (b0->data + b0->slen, (int) fill, (size_t) (pos - b0->slen));
1429 /* Copy b1 to position pos in b0. */
1431 bBlockCopy ((char *) (b0->data + pos), (char *) aux->data, aux->slen);
1435 /* Indicate the potentially increased size of b0 */
1438 b0->slen = newlen;
1439 b0->data[newlen] = (unsigned char) '\0';