コード例 #1
0
ファイル: lsports.c プロジェクト: BackupTheBerlios/ilenia-svn
struct deplist *deplist_from_deprow(char *deprow)
{
	struct deplist *d = NULL;

	if (strlen(deprow) <= 0)
		return (NULL);

	deprow = sedchr(deprow, ',', ' ');

	if (!strlen(deprow) > 0)
		return d;

	while (strstr(deprow, "  "))
		deprow = sed(deprow, "  ", " ");

	struct list *deps = NULL;
	deps = split(deprow, " ");

	while (deps != NULL) {
		trim(deps->data);
		d = deplist_add(deps->data, d);
		deps = deps->next;
	}

	return (d);
}
コード例 #2
0
ファイル: lsports.c プロジェクト: BackupTheBerlios/ilenia-svn
struct repolist *parse_cvsup(char *path, struct repolist *r)
{
	FILE *file;
	char *line = NULL;
	size_t n = 0;
	ssize_t nread;

	file = fopen(path, "r");
	if (file == NULL)
		return (r);

	char *prefix = NULL;
	char *mad_prefix = NULL;
	char *repo;

	while ((nread = getline(&line, &n, file)) != -1) {
		line[strlen(line) - 1] = '\0';
		trim(line);
		if (line[0] == '#' || strlen(line) == 0)
			continue;

		if (strstr(line, "*default prefix")) {
			prefix = get_value(line, "*default prefix");
			if (prefix == NULL)
				continue;
			if (strlen(prefix) <= strlen(PORTS_LOCATION))
				continue;
			if (strncmp
			    (prefix, PORTS_LOCATION,
			     strlen(PORTS_LOCATION)))
				continue;
			mad_prefix =
			    mid(prefix, strlen(PORTS_LOCATION) + 1, END);
			trim(mad_prefix);
			strcat(mad_prefix, "/");
			prefix = strdup(PORTS_LOCATION);

		}

		if (line[0] == '*')
			continue;

		if (strlen(line)) {
			if (mad_prefix) {
				repo = strdup(mad_prefix);
				strcat(repo, line);
				sed(repo, "//", "/");
			} else
				repo = strdup(line);

			strtok(repo, " ");
			r = repolist_add(repo, prefix, path, r);
		}
	}

	if (line)
		free(line);
	fclose(file);
	return (r);
}
コード例 #3
0
ファイル: testOPCODES.c プロジェクト: dennis-chen/6502-Emu
static char * SED1() {
    CPU *c = getCPU();
    OP_CODE_INFO *o = getOP_CODE_INFO(0, 0, modeImplied);
    sed(c,o);
    mu_assert("SED1 err, DEC != 1", getFlag(c,D) == 1);
    freeOP_CODE_INFO(o);
    free(c);
    return 0;
}
コード例 #4
0
ファイル: mpegdescriptors.cpp プロジェクト: masjerang/mythtv
const unsigned char *MPEGDescriptor::FindBestMatch(
    const desc_list_t &parsed, uint desc_tag, QMap<uint,uint> &langPrefs)
{
    uint match_idx = 0;
    uint match_pri = UINT_MAX;
    int  unmatched_idx = -1;

    uint i = (desc_tag == DescriptorID::short_event) ? 0 : parsed.size();
    for (; i < parsed.size(); i++)
    {
        if (DescriptorID::short_event == parsed[i][0])
        {
            ShortEventDescriptor sed(parsed[i]);
            QMap<uint,uint>::const_iterator it =
                langPrefs.find(sed.CanonicalLanguageKey());

            if ((it != langPrefs.end()) && (*it < match_pri))
            {
                match_idx = i;
                match_pri = *it;
            }

            if (unmatched_idx < 0)
                unmatched_idx = i;
        }
    }

    if (match_pri != UINT_MAX)
        return parsed[match_idx];

    if ((desc_tag == DescriptorID::short_event) && (unmatched_idx >= 0))
    {
        ShortEventDescriptor sed(parsed[unmatched_idx]);
        langPrefs[sed.CanonicalLanguageKey()] = maxPriority(langPrefs) + 1;
        return parsed[unmatched_idx];
    }

    return NULL;
}
コード例 #5
0
ファイル: common.c プロジェクト: lianhongHou/Emacs
/**
 * Generate custom footer.
 */
const char *
gen_insert_footer(int place)
{
    static FILE *ip;

    if (ip != NULL) {
        rewind(ip);
    } else {
        ip = fopen(insert_footer, "r");
        if (ip == NULL)
            die("cannot open include footer file '%s'.", insert_footer);
    }
    return sed(ip, place);
}
コード例 #6
0
ファイル: lsports.c プロジェクト: BackupTheBerlios/ilenia-svn
struct repolist *parse_rsync(char *path, struct repolist *r)
{
	FILE *file;
	file = fopen(path, "r");
	if (file == NULL)
		return (r);
	char *line = NULL;
	size_t n = 0;
	ssize_t nread;

	while ((nread = getline(&line, &n, file)) != -1) {
		char *prefix;
		char *mad_prefix = NULL;
		char *repo;
		line[strlen(line) - 1] = '\0';
		trim(line);

		if (line[0] == '#' || strlen(line) == 0)
			continue;

		if (strstr(line, "destination") == NULL)
			continue;

		repo = get_value(line, "destination");
		prefix = strdup(repo);

		repo = rindex(repo, '/');
		repo = mid(repo, 1, END);

		prefix = mid(prefix, 0, strlen(prefix) - strlen(repo));

		if (strncmp
		    (prefix, PORTS_LOCATION,
		     strlen(PORTS_LOCATION)) == 0
		    && strlen(prefix) > strlen(PORTS_LOCATION) + 1) {
			mad_prefix =
			    mid(prefix, strlen(PORTS_LOCATION) + 1, END);
			strcat(mad_prefix, "/");
			prefix = strdup(PORTS_LOCATION);
			repo = strcat(mad_prefix, repo);
			sed(repo, "//", "/");
		}
		r = repolist_add(repo, prefix, path, r);
		fclose(file);
		return (r);
	}
	fclose(file);
	return (r);
}
コード例 #7
0
ファイル: lspkgs.c プロジェクト: BackupTheBerlios/ilenia-svn
struct pkglist *get_favorite(int favorite)
{
	FILE *file;
	char *filename = "";
	struct pkglist *p = NULL;

	if (favorite == FAVORITE_REPO)
		filename = strdup("/etc/ports/favoriterepo");
	else
		filename = strdup("/etc/ports/favoriteversion");
	file = fopen(filename, "r");
	if (file == NULL)
		return (NULL);

	size_t n = 0;
	char *line = NULL;
	int nread;
	struct list *favoriterow = NULL;

	while ((nread = getline(&line, &n, file)) > 0) {
		trim(line);
		if ((strcmp(line, "") == 0) || (line[0] == '#'))
			continue;

		sedchr(line, '\t', ' ');

		while (strstr(line, "  "))
			sed(line, "  ", " ");

		favoriterow = split(line, " ");
		trim(favoriterow->next->data);
		p = pkglist_add_ordered(favoriterow->data,
					favoriterow->next->data,
					favoriterow->next->data, NULL, p);
		/*for(i=0;i<3;i++)
		   if(favoriterow[i])
		   free(favoriterow[i]); */
	}

	if (line)
		free(line);

	if (filename)
		free(filename);

	return (p);
}
コード例 #8
0
struct repolist *repolist_add(char *name, char *path, char *supfile, struct repolist *r)
{
	struct repolist *raus = NULL;
	raus = (struct repolist *) malloc(sizeof(struct repolist));
	strcpy(raus->name, name);
	strcpy(raus->path, path);
	while(strstr(raus->name, "//"))
		strcpy(raus->name, sed(raus->name, "//", "/"));
	raus->supfile = (char *) malloc(strlen(supfile) + 1);
	strcpy(raus->supfile, supfile);
	if (r == NULL) {
		r = raus;
		r->next = NULL;
	} else {
		raus->next = r;
		r = raus;
	}
	return (r);
}
コード例 #9
0
ファイル: nuclei.cpp プロジェクト: gbkedar/kedaru-s-lab-code
//Computes the area and the centroid for a given label
bool GetStats(cv::Mat LabelIm, int i, int j, cv::Mat BinImPad, std::vector<int> &one_stat){
  //Seed with the first pixel
  std::pair<int,int> seed(i,j);
  std::vector< std::pair<int,int> > indices, queueue;
  indices.push_back(seed); queueue.push_back(seed);
  BIP(i,j) = 0;
  double x_men = 0, y_men = 0; //centroid

  //Find indices of all pixels with the same label
  while( !queueue.empty() ){
    std::pair<int, int> index = queueue.back();
    queueue.pop_back();
    //Check 8-neighborhood
    for( int k=-1; k<2; ++k )
      for( int l=-1; l<2; ++l )
	if( (k==0) && (l==0) ) continue;
	  else{
	    if( BIP( (index.first+k),(index.second+l) ) ){
	      std::pair<int,int> sed( (index.first+k),(index.second+l) );
	      queueue.push_back( sed );
	      indices.push_back( sed );
	      LabelIm.at<unsigned char>( sed.first, sed.second ) = BIP( sed.first,sed.second );
	      BIP( sed.first, sed.second ) = 0;
	      x_men += sed.first;
	      y_men += sed.second;
	    }
          }
  }
  x_men = round(x_men/((double)indices.size()));
  y_men = round(y_men/((double)indices.size()));
  one_stat[1] = indices.size();
  one_stat[2] = (int)x_men;
  one_stat[3] = (int)y_men;

  if( (indices.size())>=15 ){ return true; }
  else{
    std::vector< std::pair<int,int> >::iterator it;
    for( it=indices.begin() ; it < indices.end(); ++it )
      LabelIm.at<unsigned char>(it->first, it->second) = 0;
    return false;
  }
}
コード例 #10
0
ファイル: lsports.c プロジェクト: BackupTheBerlios/ilenia-svn
struct deplist *deplist_from_deprow(char *deprow){
  struct deplist *d=NULL;
  if (strlen (deprow) > 0) {
    char tmp[MASSIMO];
    strcpy (deprow, sed (deprow, " ", ","));
    while (strlen (deprow) > 0) {
      if (strstr (deprow, ",")) {
	strcpy (tmp, strstr (deprow, ","));
	strcpy (tmp, mid (deprow, 0, strlen (deprow) - strlen (tmp)));
	strcpy (deprow, mid (strstr (deprow, ","), 1, FINE));
      } else {
	strcpy (tmp, deprow);
	strcpy (deprow, "");
      }
      strcpy (tmp, trim (tmp));
      if(strlen(trim(tmp))>0)
	d=add (trim(tmp), d);
      strcpy (deprow, trim (deprow));
    }
  }
  return(d);    
}
コード例 #11
0
ファイル: sed_main.c プロジェクト: abcxq/myNCCL
int main(int argc,char *argv[])
{
        sed(argc,argv);

        return 0;
}
コード例 #12
0
ファイル: cpu.cpp プロジェクト: CameronBanga/emudore
/** 
 * @brief emulate instruction 
 * @return returns false if something goes wrong (e.g. illegal instruction)
 *
 * Current limitations:
 * 
 * - Illegal instructions are not implemented
 * - Excess cycles due to page boundary crossing are not calculated
 * - Some known architectural bugs are not emulated
 */
bool Cpu::emulate()
{
  /* fetch instruction */
  uint8_t insn = fetch_op();
  bool retval = true;
  /* emulate instruction */
  switch(insn)
  {
  /* BRK */
  case 0x0: brk(); break;
  /* ORA (nn,X) */
  case 0x1: ora(load_byte(addr_indx()),6); break;
  /* ORA nn */
  case 0x5: ora(load_byte(addr_zero()),3); break;
  /* ASL nn */
  case 0x6: asl_mem(addr_zero(),5); break;
  /* PHP */
  case 0x8: php(); break;
  /* ORA #nn */
  case 0x9: ora(fetch_op(),2); break;
  /* ASL A */
  case 0xA: asl_a(); break;
  /* ORA nnnn */
  case 0xD: ora(load_byte(addr_abs()),4); break;
  /* ASL nnnn */
  case 0xE: asl_mem(addr_abs(),6); break; 
  /* BPL nn */
  case 0x10: bpl(); break;
  /* ORA (nn,Y) */
  case 0x11: ora(load_byte(addr_indy()),5); break;
  /* ORA nn,X */
  case 0x15: ora(load_byte(addr_zerox()),4); break;
  /* ASL nn,X */
  case 0x16: asl_mem(addr_zerox(),6); break;
  /* CLC */
  case 0x18: clc(); break;
  /* ORA nnnn,Y */
  case 0x19: ora(load_byte(addr_absy()),4); break;
  /* ORA nnnn,X */
  case 0x1D: ora(load_byte(addr_absx()),4); break;
  /* ASL nnnn,X */
  case 0x1E: asl_mem(addr_absx(),7); break;
  /* JSR */
  case 0x20: jsr(); break;
  /* AND (nn,X) */
  case 0x21: _and(load_byte(addr_indx()),6); break;
  /* BIT nn */
  case 0x24: bit(addr_zero(),3); break;
  /* AND nn */
  case 0x25: _and(load_byte(addr_zero()),3); break;
  /* ROL nn */
  case 0x26: rol_mem(addr_zero(),5); break;
  /* PLP */
  case 0x28: plp(); break;
  /* AND #nn */
  case 0x29: _and(fetch_op(),2); break;
  /* ROL A */
  case 0x2A: rol_a(); break;
  /* BIT nnnn */
  case 0x2C: bit(addr_abs(),4); break;
  /* AND nnnn */
  case 0x2D: _and(load_byte(addr_abs()),4); break;
  /* ROL nnnn */
  case 0x2E: rol_mem(addr_abs(),6); break;
  /* BMI nn */
  case 0x30: bmi(); break;
  /* AND (nn,Y) */
  case 0x31: _and(load_byte(addr_indy()),5); break;               
  /* AND nn,X */
  case 0x35: _and(load_byte(addr_zerox()),4); break;
  /* ROL nn,X */
  case 0x36: rol_mem(addr_zerox(),6); break;
  /* SEC */
  case 0x38: sec(); break;
  /* AND nnnn,Y */
  case 0x39: _and(load_byte(addr_absy()),4); break;
  /* AND nnnn,X */
  case 0x3D: _and(load_byte(addr_absx()),4); break;
  /* ROL nnnn,X */
  case 0x3E: rol_mem(addr_absx(),7); break;
  /* RTI */
  case 0x40: rti(); break;
  /* EOR (nn,X) */
  case 0x41: eor(load_byte(addr_indx()),6); break;
  /* EOR nn */
  case 0x45: eor(load_byte(addr_zero()),3); break;
  /* LSR nn */
  case 0x46: lsr_mem(addr_zero(),5); break;
  /* PHA */
  case 0x48: pha(); break;
  /* EOR #nn */
  case 0x49: eor(fetch_op(),2); break;
  /* BVC */
  case 0x50: bvc(); break;
  /* JMP nnnn */
  case 0x4C: jmp(); break;
  /* EOR nnnn */
  case 0x4D: eor(load_byte(addr_abs()),4); break;
  /* LSR A */
  case 0x4A: lsr_a(); break;
  /* LSR nnnn */
  case 0x4E: lsr_mem(addr_abs(),6); break;
  /* EOR (nn,Y) */
  case 0x51: eor(load_byte(addr_indy()),5); break;
  /* EOR nn,X */
  case 0x55: eor(load_byte(addr_zerox()),4); break;
  /* LSR nn,X */
  case 0x56: lsr_mem(addr_zerox(),6); break;
  /* CLI */
  case 0x58: cli(); break;
  /* EOR nnnn,Y */
  case 0x59: eor(load_byte(addr_absy()),4); break;
  /* EOR nnnn,X */
  case 0x5D: eor(load_byte(addr_absx()),4); break;
  /* LSR nnnn,X */
  case 0x5E: lsr_mem(addr_absx(),7); break;
  /* RTS */
  case 0x60: rts(); break;
  /* ADC (nn,X) */
  case 0x61: adc(load_byte(addr_indx()),6); break;
  /* ADC nn */
  case 0x65: adc(load_byte(addr_zero()),3); break;
  /* ROR nn */
  case 0x66: ror_mem(addr_zero(),5); break;
  /* PLA */
  case 0x68: pla(); break;
  /* ADC #nn */
  case 0x69: adc(fetch_op(),2); break;
  /* ROR A */
  case 0x6A: ror_a(); break;
  /* JMP (nnnn) */
  case 0x6C: jmp_ind(); break;
  /* ADC nnnn */
  case 0x6D: adc(load_byte(addr_abs()),4); break;
  /* ROR nnnn */
  case 0x6E: ror_mem(addr_abs(),6); break;
  /* BVS */
  case 0x70: bvs(); break;
  /* ADC (nn,Y) */
  case 0x71: adc(load_byte(addr_indy()),5); break;
  /* ADC nn,X */
  case 0x75: adc(load_byte(addr_zerox()),4); break;
  /* ROR nn,X */
  case 0x76: ror_mem(addr_zerox(),6); break;
  /* SEI */
  case 0x78: sei(); break;
  /* ADC nnnn,Y */
  case 0x79: adc(load_byte(addr_absy()),4); break;
  /* ADC nnnn,X */
  case 0x7D: adc(load_byte(addr_absx()),4); break;
  /* ROR nnnn,X */
  case 0x7E: ror_mem(addr_absx(),7); break;
  /* STA (nn,X) */
  case 0x81: sta(addr_indx(),6); break;
  /* STY nn */
  case 0x84: sty(addr_zero(),3); break;
  /* STA nn */
  case 0x85: sta(addr_zero(),3); break;
  /* STX nn */
  case 0x86: stx(addr_zero(),3); break;
  /* DEY */
  case 0x88: dey(); break;
  /* TXA */
  case 0x8A: txa(); break;
  /* STY nnnn */
  case 0x8C: sty(addr_abs(),4); break;
  /* STA nnnn */
  case 0x8D: sta(addr_abs(),4); break;
  /* STX nnnn */
  case 0x8E: stx(addr_abs(),4); break;
  /* BCC nn */
  case 0x90: bcc(); break;
  /* STA (nn,Y) */
  case 0x91: sta(addr_indy(),6); break;
  /* STY nn,X */
  case 0x94: sty(addr_zerox(),4); break;
  /* STA nn,X */
  case 0x95: sta(addr_zerox(),4); break;
  /* STX nn,Y */
  case 0x96: stx(addr_zeroy(),4); break;
  /* TYA */
  case 0x98: tya(); break;
  /* STA nnnn,Y */
  case 0x99: sta(addr_absy(),5); break;
  /* TXS */
  case 0x9A: txs(); break;
  /* STA nnnn,X */
  case 0x9D: sta(addr_absx(),5); break;
  /* LDY #nn */
  case 0xA0: ldy(fetch_op(),2); break; 
  /* LDA (nn,X) */
  case 0xA1: lda(load_byte(addr_indx()),6); break;
  /* LDX #nn */
  case 0xA2: ldx(fetch_op(),2); break;
  /* LDY nn */
  case 0xA4: ldy(load_byte(addr_zero()),3); break;
  /* LDA nn */
  case 0xA5: lda(load_byte(addr_zero()),3); break;
  /* LDX nn */
  case 0xA6: ldx(load_byte(addr_zero()),3); break;
  /* TAY */
  case 0xA8: tay(); break;
  /* LDA #nn */
  case 0xA9: lda(fetch_op(),2); break;
  /* TAX */
  case 0xAA: tax(); break;
  /* LDY nnnn */
  case 0xAC: ldy(load_byte(addr_abs()),4); break;
  /* LDA nnnn */
  case 0xAD: lda(load_byte(addr_abs()),4); break;
  /* LDX nnnn */
  case 0xAE: ldx(load_byte(addr_abs()),4); break;
  /* BCS nn */
  case 0xB0: bcs(); break;
  /* LDA (nn,Y) */
  case 0xB1: lda(load_byte(addr_indy()),5); break;
  /* LDY nn,X */
  case 0xB4: ldy(load_byte(addr_zerox()),3); break;
  /* LDA nn,X */
  case 0xB5: lda(load_byte(addr_zerox()),3); break;
  /* LDX nn,Y */
  case 0xB6: ldx(load_byte(addr_zeroy()),3); break;
  /* CLV */
  case 0xB8: clv(); break;
  /* LDA nnnn,Y */
  case 0xB9: lda(load_byte(addr_absy()),4); break;
  /* TSX */
  case 0xBA: tsx(); break;
  /* LDY nnnn,X */
  case 0xBC: ldy(load_byte(addr_absx()),4); break;
  /* LDA nnnn,X */
  case 0xBD: lda(load_byte(addr_absx()),4); break;
  /* LDX nnnn,Y */
  case 0xBE: ldx(load_byte(addr_absy()),4); break;
  /* CPY #nn */
  case 0xC0: cpy(fetch_op(),2); break;
  /* CMP (nn,X) */
  case 0xC1: cmp(load_byte(addr_indx()),6); break;
  /* CPY nn */
  case 0xC4: cpy(load_byte(addr_zero()),3); break;
  /* CMP nn */
  case 0xC5: cmp(load_byte(addr_zero()),3); break;
  /* DEC nn */
  case 0xC6: dec(addr_zero(),5); break;
  /* INY */
  case 0xC8: iny(); break;
  /* CMP #nn */
  case 0xC9: cmp(fetch_op(),2); break;
  /* DEX */
  case 0xCA: dex(); break;
  /* CPY nnnn */
  case 0xCC: cpy(load_byte(addr_abs()),4); break;
  /* CMP nnnn */
  case 0xCD: cmp(load_byte(addr_abs()),4); break;
  /* DEC nnnn */
  case 0xCE: dec(addr_abs(),6); break;
  /* BNE nn */
  case 0xD0: bne(); break;
  /* CMP (nn,Y) */
  case 0xD1: cmp(load_byte(addr_indy()),5); break;
  /* CMP nn,X */
  case 0xD5: cmp(load_byte(addr_zerox()),4); break;
  /* DEC nn,X */
  case 0xD6: dec(addr_zerox(),6); break;
  /* CLD */
  case 0xD8: cld(); break;
  /* CMP nnnn,Y */
  case 0xD9: cmp(load_byte(addr_absy()),4); break;
  /* CMP nnnn,X */
  case 0xDD: cmp(load_byte(addr_absx()),4); break;
  /* DEC nnnn,X */
  case 0xDE: dec(addr_absx(),7); break;
  /* CPX #nn */
  case 0xE0: cpx(fetch_op(),2); break;
  /* SBC (nn,X) */
  case 0xE1: sbc(load_byte(addr_indx()),6); break;
  /* CPX nn */
  case 0xE4: cpx(load_byte(addr_zero()),3); break;
  /* SBC nn */
  case 0xE5: sbc(load_byte(addr_zero()),3); break;
  /* INC nn */
  case 0xE6: inc(addr_zero(),5); break;
  /* INX */
  case 0xE8: inx(); break;
  /* SBC #nn */
  case 0xE9: sbc(fetch_op(),2); break;
  /* NOP */
  case 0xEA: nop(); break;
  /* CPX nnnn */
  case 0xEC: cpx(load_byte(addr_abs()),4); break;
  /* SBC nnnn */
  case 0xED: sbc(load_byte(addr_abs()),4); break;
  /* INC nnnn */
  case 0xEE: inc(addr_abs(),6); break;
  /* BEQ nn */
  case 0xF0: beq(); break;
  /* SBC (nn,Y) */
  case 0xF1: sbc(load_byte(addr_indy()),5); break;
  /* SBC nn,X */
  case 0xF5: sbc(load_byte(addr_zerox()),4); break;
  /* INC nn,X */
  case 0xF6: inc(addr_zerox(),6); break;
  /* SED */
  case 0xF8: sed(); break;
  /* SBC nnnn,Y */
  case 0xF9: sbc(load_byte(addr_absy()),4); break;
  /* SBC nnnn,X */
  case 0xFD: sbc(load_byte(addr_absx()),4); break;
  /* INC nnnn,X */
  case 0xFE: inc(addr_absx(),7); break;
  /* Unknown or illegal instruction */
  default:
    D("Unknown instruction: %X at %04x\n", insn,pc());
    retval = false;
  }
  return retval;
}