1 /* re_getlib.c - re-acquire a sequence given lseek, lcont */
10 #define GETLIB (m_fptr->getlib)
13 re_getlib(unsigned char *aa1,
14 int maxn, /* longest aa1 */
15 int maxt3, /* alternate maxn */
16 int loff, /* overlap */
19 long *loffset, /* offset from real start of sequence */
20 long *l_off_p, /* coordinate of sequence start */
21 struct lmf_str *m_fptr) {
23 unsigned char *aa1ptr;
24 int icont, maxt, ccont, n1;
34 for (ccont=0; ccont<=lcont-1; ccont++) {
36 n1= GETLIB(aa1ptr,maxt,libstr,sizeof(libstr),&lmark,&icont,m_fptr,l_off_p);
38 if (term_code && m_fptr->lib_aa && aa1ptr[n1-1]!=term_code) {
39 aa1ptr[n1++]=term_code;
43 if (aa1ptr!=aa1) n1 += loff;
45 if (icont>lcont-1) break;
49 memcpy(aa1,&aa1[n1-loff],loff);
51 *loffset += n1 - loff;