Skip to content

A new version of DataparkSearch, 4.48, has been released. Changes since previous release are:

  • A possible trap in multi-DBAddr configuration has been fixed.
  • Pharse operator has been fixed.
  • The NEAR and ANYWORD boolean operators have been fixed.
  • The content of CDATA sections in XML documents parses now using HTML parser.
  • Server nofollow processing has been fixed in XML parser.
  • Sections handling has been fixed in XML parser for case of internal recursion.
  • "link" cache mode limit type has been added.
  • Support for libtre has been added.
  • TrackDBAddr command has been added. Use it to specify SQL-database to store query tracking data.
  • Processing has been fixed for NEAR NOT and ANYWORD NOT constructions in boolean search mode.
  • Debian source package has been added. Thanks to Amit Joshi <ajoshi [at] optonline dot net>.
  • label parameter has been added to DBAddr command.
  • "Robots no" command has been fixed.
  • -f switch can now be used to specify for indexer a list of files to index/reindex.
  • Several bugs were fixed.

5


void * dps_memcpy(void *dst0, const void *src0, size_t length) {

  if (length == 0 || dst0 == src0)		/* nothing to do */
    return dst0;
  if ((unsigned long)dst0 < (unsigned long)src0) { /* copy forward */
    register size_t n = (length + 7) / 8;
    register char *dst = dst0, *src = src0;
    switch( length % 8 ) {
    case 0:	do {	*dst++ = *src++;
    case 7:		*dst++ = *src++;
    case 6:		*dst++ = *src++;
    case 5:		*dst++ = *src++;
    case 4:		*dst++ = *src++;
    case 3:		*dst++ = *src++;
    case 2:		*dst++ = *src++;
    case 1:		*dst++ = *src++;
                    } while(--n > 0);
    }
  } else { /* copy backward */
    register size_t n = (length + 7) / 8;
    register char *dst = dst0 + length, *src = src0 + length;
    switch( length % 8 ) {
    case 0:	do {	*--dst = *--src;
    case 7:		*--dst = *--src;
    case 6:		*--dst = *--src;
    case 5:		*--dst = *--src;
    case 4:		*--dst = *--src;
    case 3:		*--dst = *--src;
    case 2:		*--dst = *--src;
    case 1:		*--dst = *--src;
                    } while(--n > 0);
    }
  }
  return dst0;
}

N.B.: Code is under GPL.

Addendum: A faster version of memcpy

According to the company press release, on the August 23rd, the Yandex.Direct started public testing for personalized advertisings.

The system tracks user behavior on the Yandex search engine and on the partner sites where Yandex.Direct advertising is showing. That new technology expected to bust better targeted advertising even for pages where pure contextual system was fail.