Beispiel #1
0
extern const char* SettingsImpl__getTempDirectoryPath()
{
  if (tempDirectoryPath == NULL) {
  // On windows, set Temp directory path to Temp directory as returned by GetTempPath,
  // which is usually TMP or TEMP or windows catalogue.
  #ifdef WIN32
    int numChars;
    char* str,str1;
    char tempDirectory[1024];
      //extract the temp path
    numChars= GetTempPath(1024, tempDirectory);
    if (numChars == 1024 || numChars == 0) {
      fprintf(stderr, "Error setting temppath in Kernel\n");
      exit(1);
    } else {
      // Must do replacement in two steps, since the _replace function can not have similar source as target.
      str = _replace(tempDirectory, (char*)"\\", (char*)"/");
      tempDirectoryPath= _replace(str, (char*)"/", (char*)"\\\\");
      free(str);
    }
  #else
    const char* str = getenv("TMPDIR");
    if (str == NULL)
      str = strdup("/tmp");
    tempDirectoryPath = strdup(str);
  #endif
  }
  return tempDirectoryPath;
}
DwString& DwString::replace(size_t aPos1, size_t aLen1, const DwString& aStr,
    size_t aPos2, size_t aLen2)
{
    assert(aPos2 <= aStr.mLength);
    size_t pos2 = DW_MIN(aPos2, aStr.mLength);
    size_t len2 = DW_MIN(aLen2, aStr.mLength - pos2);
    if (&aStr == this) {
        DwString temp(aStr);
        _replace(aPos1, aLen1, &temp.mRep->mBuffer[temp.mStart+pos2], len2);
    }
    else {
        _replace(aPos1, aLen1, &aStr.mRep->mBuffer[aStr.mStart+pos2], len2);
    }
    return *this;
}
DwString& DwString::append(const DwString& aStr, size_t aPos,
    size_t aLen)
{
    assert(aPos <= aStr.mLength);
    size_t pos = DW_MIN(aPos, aStr.mLength);
    size_t len = DW_MIN(aLen, aStr.mLength - pos);
    if (&aStr == this) {
        DwString temp(aStr);
        _replace(mLength, 0, &temp.mRep->mBuffer[temp.mStart+pos], len);
    }
    else {
        _replace(mLength, 0, &aStr.mRep->mBuffer[aStr.mStart+pos], len);
    }
    return *this;
}
Beispiel #4
0
extern const char* System_stringReplace(const char* str, const char* source, const char* target)
{
  char* res = _replace(str,source,target);
  if (res == NULL)
    MMC_THROW();
  return res;
}
Beispiel #5
0
DwString &DwString::assign(const char *aCstr)
{
    assert(aCstr != 0);
    size_t len = (aCstr) ? strlen(aCstr) : 0;
    _replace(0, mLength, aCstr, len);
    return *this;
}
Beispiel #6
0
DwString &DwString::insert(size_t aPos, const char *aCstr)
{
    assert(aCstr != 0);
    size_t len = (aCstr) ? strlen(aCstr) : 0;
    _replace(aPos, 0, aCstr, len);
    return *this;
}
Beispiel #7
0
void FindReplaceDialog::_search_callback() {

	if (is_replace_mode())
		_replace();
	else
		_search();
}
Beispiel #8
0
int main(int argc, char *argv[]) {

  dsr_t       hdr;
  uint8_t    *img;
  args_t      args;
  struct argp argp = {options, _parse_opt, "INPUT OUTPUT", doc};

  memset(&args, 0, sizeof(args));

  startup("repimg", argc, argv, &argp, &args);

  if (analyze_load(args.input, &hdr, &img)) {
    printf("error reading file %s\n", args.input);
    goto fail;
  }

  _replace(&hdr, img, args.from, args.to, args.nreps);

  if (analyze_write_hdr(args.output, &hdr)) {
    printf("error writing header %s\n", args.output);
    goto fail;
  }

  if (analyze_write_img(args.output, &hdr, img)) {
    printf("error writing image %s\n", args.output);
    goto fail;
  }

  return 0;
  
fail:
  return 1;
}
Beispiel #9
0
DwString &DwString::assign(const char *aBuf, size_t aLen)
{
    assert(aBuf != 0);
    assert(aLen != (size_t) - 1);
    _replace(0, mLength, aBuf, aLen);
    return *this;
}
Beispiel #10
0
void FindReplaceDialog::_replace_text_entered(const String &p_text) {

	if (!replace_text->is_visible_in_tree())
		return;

	emit_signal("search");
	_replace();
}
Beispiel #11
0
DwString& DwString::append(const char* aBuf, size_t aLen)
{
    assert(aBuf != 0);
    if (aBuf != 0) {
        _replace(mLength, 0, aBuf, aLen);
    }
    return *this;
}
Beispiel #12
0
DwString &DwString::erase(size_t aPos, size_t aLen)
{
    assert(aPos <= mLength);
    size_t pos = DW_MIN(aPos, mLength);
    size_t len = DW_MIN(aLen, mLength - pos);
    _replace(pos, len, "", 0);
    return *this;
}
Beispiel #13
0
static void* makeOMCStyle(const char *var, int omcStyle)
{
  char *res1 = NULL;
  const char *res2 = NULL;
  if (!omcStyle) {
    return mmc_mk_scon(var);
  }
  res1 = openmodelicaStyleVariableName(var);
  res2 = _replace(res1 ? res1 : var, " ", "");
  if (res1 == NULL) {
    free(res1);
  }
  return mmc_mk_scon(res2);
}
Beispiel #14
0
void DwString::resize(size_t aLen, char aChar)
{
    // making string shorter?
    if (aLen < mLength) {
        mLength = aLen;
        if (mRep->mRefCount == 1) {
            mRep->mBuffer[mStart + aLen] = 0;
        }
    }
    // expanding string
    else if (aLen > mLength) {
        _replace(mLength, 0, aLen-mLength, aChar);
    }
}
Beispiel #15
0
DwString::DwString(size_t aLen, char aChar)
{
    assert(aLen != (size_t)-1);
    if (sEmptyRep == 0) {
        sEmptyBuffer[0] = 0;
        sEmptyRep = new DwStringRep(sEmptyBuffer, kEmptyBufferSize);
        assert(sEmptyRep != 0);
    }
    DBG_STMT(sEmptyRep->CheckInvariants())
    // Set valid values, in case an exception is thrown
    mRep = new_rep_reference(sEmptyRep);
    mStart = 0;
    mLength = 0;
    _replace(0, mLength, aLen, aChar);
}
Beispiel #16
0
DwString::DwString(const char* aCstr)
{
    if (sEmptyRep == 0) {
        sEmptyBuffer[0] = 0;
        sEmptyRep = new DwStringRep(sEmptyBuffer, kEmptyBufferSize);
        assert(sEmptyRep != 0);
    }
    DBG_STMT(sEmptyRep->CheckInvariants())
    // Set valid values, in case an exception is thrown
    mRep = new_rep_reference(sEmptyRep);
    mStart = 0;
    mLength = 0;
    if ( aCstr ) {
        size_t len = strlen(aCstr);
        _replace(0, mLength, aCstr, len);
    }
}
Beispiel #17
0
static GError*
_assign(GList *working_m1list,GSList *unref_m1list)
{
	GError *error = NULL;
	guint nb_treat_prefixes=0;
	struct meta0_assign_meta1_s *s_aM1, *d_aM1;
	//unref meta1
	if ( unref_m1list ) {
		for (;unref_m1list;unref_m1list=unref_m1list->next) {
			s_aM1=unref_m1list->data;
			guint8 *prefix=_get_first_prefix_to_assign_meta1(s_aM1);
			if (!s_aM1->assignPrefixes)
				continue;
			do {
				if(_is_treat_prefix(context->treat_prefixes,prefix)) {
					GRID_ERROR("prefix [%02X%02X] already treat",prefix[0],prefix[1]);
					error = NEWERROR(0, "Failed to remove Meta1 service"); 
				}
				d_aM1 =_select_dest_assign_m1(working_m1list,s_aM1,NULL,TRUE,FALSE);
				if ( ! d_aM1 ) {
					d_aM1 =_select_dest_assign_m1(working_m1list,s_aM1,NULL,TRUE,TRUE);
					if ( ! d_aM1 ) {
						error = NEWERROR(0, "Failed to assign prefix from meta1 %s : Not enough META1 to meet the requirements (distance, number)",s_aM1->addr);
						return error;
					}
				}
				_replace(s_aM1,d_aM1);
				nb_treat_prefixes++;

			} while ( s_aM1->assignPrefixes);
		}
	}

	gboolean loop = TRUE;

	do {
		s_aM1=NULL;
		d_aM1=NULL;
		// sort meta1 list
		working_m1list=g_list_sort(working_m1list,meta0_assign_sort_by_score);

		// election high meta1 and prefix
		s_aM1 = _select_source_assign_m1(working_m1list,context->treat_prefixes,context->avgscore);

		if (s_aM1) {
			d_aM1 =_select_dest_assign_m1(working_m1list,s_aM1,NULL,FALSE,FALSE);

			if ( d_aM1 ) {
				_replace(s_aM1,d_aM1);
				nb_treat_prefixes++;
			} else {
				_remove_first_prefix_to_assign_meta1(s_aM1);
			}
		} else {
			loop = FALSE;
		}

		if ( nb_treat_prefixes == 65536 )
			loop = FALSE;

	} while (loop==TRUE);

	GRID_TRACE("END Assign prefix,nb treat=%d",nb_treat_prefixes);
	return NULL;
}
Beispiel #18
0
DwString &DwString::replace(size_t aPos1, size_t aLen1, size_t aLen2,
                            char aChar)
{
    _replace(aPos1, aLen1, aLen2, aChar);
    return *this;
}
Beispiel #19
0
DwString &DwString::replace(size_t aPos1, size_t aLen1, const char *aCstr)
{
    size_t len2 = (aCstr) ? strlen(aCstr) : 0;
    _replace(aPos1, aLen1, aCstr, len2);
    return *this;
}
Beispiel #20
0
DwString &DwString::replace(size_t aPos1, size_t aLen1, const char *aBuf,
                            size_t aLen2)
{
    _replace(aPos1, aLen1, aBuf, aLen2);
    return *this;
}
Beispiel #21
0
static gint
fnr_respond (GtkWidget *widget, gint response_id, gpointer data)
{
  const gchar *search = gtk_entry_get_text (g_object_get_data (G_OBJECT (widget), "search-entry")); 
  const gchar *replace;
  DDisplay *ddisp = (DDisplay*)data;
  SearchData sd = { 0, };
  sd.diagram = ddisp->diagram;
  sd.flags =  gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON ( 
                  g_object_get_data (G_OBJECT (widget), "match-case"))) ? MATCH_CASE : 0;
  sd.flags |= gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON ( 
                  g_object_get_data (G_OBJECT (widget), "match-word"))) ? MATCH_WORD : 0;
  sd.flags |= gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON ( 
		  g_object_get_data (G_OBJECT (widget), "match-all-properties"))) ? MATCH_ALL_PROPERTIES : 0;
  

  switch (response_id) {
  case RESPONSE_FIND :
    sd.key = search;
    sd.last = g_object_get_data (G_OBJECT (widget), "last-found");
    if (!_matches (sd.last, &sd))
      sd.last = NULL; /* reset if we start a new search */
    diagram_remove_all_selected (ddisp->diagram, TRUE);
    data_foreach_object (ddisp->diagram->data, find_func, &sd);
    /* remember it */
    sd.last = sd.found ? sd.found : sd.first;
    g_object_set_data (G_OBJECT (widget), "last-found", sd.last);
    if (sd.last) {
      if (dia_object_get_parent_layer(sd.last) != ddisp->diagram->data->active_layer) {
        /* can only select objects in the active layer */
        data_set_active_layer(ddisp->diagram->data, dia_object_get_parent_layer(sd.last));
        diagram_add_update_all(ddisp->diagram);
        diagram_flush(ddisp->diagram);
      }
      diagram_select (ddisp->diagram, sd.last);
      ddisplay_present_object (ddisp, sd.last);
    }
    break;
  case RESPONSE_REPLACE :
    replace = gtk_entry_get_text (g_object_get_data (G_OBJECT (widget), "replace-entry"));
    sd.key = search;
    sd.last = g_object_get_data (G_OBJECT (widget), "last-found");
    if (!_matches (sd.last, &sd)) {
      sd.last = NULL; /* reset if we start a new search */
      data_foreach_object (ddisp->diagram->data, find_func, &sd);
    }
    sd.last = sd.found ? sd.found : sd.first;
    g_object_set_data (G_OBJECT (widget), "last-found", sd.last);
    if (sd.last) {
      _replace (sd.last, &sd, replace);
      undo_set_transactionpoint(ddisp->diagram->undo);
    }
    g_object_set_data (G_OBJECT (widget), "last-found", sd.last);
    break;
  case RESPONSE_REPLACE_ALL :
    replace = gtk_entry_get_text (g_object_get_data (G_OBJECT (widget), "replace-entry"));
    sd.key = search;
    sd.last = g_object_get_data (G_OBJECT (widget), "last-found");
    do {
      if (!_matches (sd.last, &sd)) {
        sd.last = NULL; /* reset if we start a new search */
	sd.first = NULL;
        data_foreach_object (ddisp->diagram->data, find_func, &sd);
      }
      sd.last = sd.found ? sd.found : sd.first;
      if (sd.last)
        if (!_replace (sd.last, &sd, replace))
	  sd.last = NULL;
    } while (sd.last);
    g_object_set_data (G_OBJECT (widget), "last-found", sd.last);
    undo_set_transactionpoint(ddisp->diagram->undo);
    break;
  default:
    gtk_widget_hide (widget);
  }
  return 0;
}
Beispiel #22
0
DwString &DwString::insert(size_t aPos, const char *aBuf, size_t aLen)
{
    assert(aBuf != 0);
    _replace(aPos, 0, aBuf, aLen);
    return *this;
}
Beispiel #23
0
DwString &DwString::assign(size_t aLen, char aChar)
{
    assert(aLen != (size_t) - 1);
    _replace(0, mLength, aLen, aChar);
    return *this;
}
Beispiel #24
0
FILE *
fopen(const char *filename, const char *mode)
{
	return ((*_sys_fopen)(_replace(filename), mode));
}
Beispiel #25
0
DwString &DwString::append(size_t aLen, char aChar)
{
    _replace(mLength, 0, aLen, aChar);
    return *this;
}
Beispiel #26
0
void FileUtils::replace(std::string& str, const std::string& from, const std::string& to)
{
	while(_replace(str, from, to))
	{
	}
}
Beispiel #27
0
int
open(const char *filename, int flags, ...)
{
	return ((*_sys_open)(_replace(filename), flags));
}
Beispiel #28
0
int main(int argc, char *argv[]) {

    size_t num_files = 0;

    char **files = (char **) calloc(MAX_FILE_SUPPORT, MAX_FILE_SUPPORT * sizeof(char *));

    if (0 > init_log_config(&logconf, argc, argv)) {
        exit(EXIT_FAILURE);
    }
    if (!SSTRISEMPTY(logconf.target) && !SSTRISEMPTY(logconf.interface)) {
        LOGGER_ERROR("%s", "cannot write to target and interface together. please choose one");
        exit(EXIT_FAILURE);
    }
        

    char *f = logconf.watch_files;
    if (!SSTRISEMPTY(f)) {
        while (f != NULL) {
            char *fprime = strsep(&f, ",");
            if (fprime != NULL) {
                files[num_files] = strdup(fprime);
                ++num_files;
            }
        }
    } else {
        LOGGER_ERROR("%s", "no files..no watch!");
        exit(EXIT_FAILURE);
    }

    if (0 > epoll_worker_init()) {
        LOGGER_ERROR("%s", "epoll_worker_init");
        exit(EXIT_FAILURE);
    }

    ribs_timer(60*1000, dump_stats);

    tab_event_fds = thashtable_create();
    delta_push    = thashtable_create();
    vmbuf_init(&write_buffer, 4096);
    vmbuf_init(&mb, 4096);


    if (SSTRISEMPTY(logconf.interface) && !SSTRISEMPTY(logconf.target)) {
        file_writer_make(&fw);

        if (0 > file_writer_init(&fw, logconf.target)) {
            LOGGER_ERROR("%s", "flie_writer");
            exit(EXIT_FAILURE);
        }
        write_to_file = true;
    } else if (!SSTRISEMPTY(logconf.interface)) {

        if (0 > http_client_pool_init(&client_pool, 20, 20)) {
            LOGGER_ERROR("http_client_pool_init");
            exit(EXIT_FAILURE);
        }

        memset(&eserv, 0, sizeof(eserv));

        vmbuf_reset(&write_buffer);
        _replace(logconf.interface, &write_buffer, "http://www.", "");
        _replace(logconf.interface, &write_buffer, "http://", "");

        char *interface = vmbuf_data(&write_buffer);
        eserv.context = ribs_strdup(strstr(interface, "/"));
        
        char *ln = strchr(interface, '/');
        ln = ribs_malloc_sprintf("%.*s", ((int)strlen(interface) - (int)strlen(ln)), interface);

        if (0 > parse_host_to_inet(ln, eserv.hostname, &eserv.server, &eserv.port)) {
            LOGGER_ERROR("%s", "server details invalid. cannot parse server");
            exit(EXIT_FAILURE);
        }
    } else {
        LOGGER_ERROR("%s", "no target defined. please use target or interface");
        exit(EXIT_FAILURE);
    }


    char _hostname[1024];
    gethostname(_hostname, 1024);
    hostname = ribs_strdup(_hostname);

    int wd = inotify_init1(IN_NONBLOCK);
    if (0 >= wd) {
        LOGGER_ERROR("%s", "failed to init inotify. cannot proceed. make sure you've inotify and is accessible to this user.");
        exit(EXIT_FAILURE);
    }

    if (!recursive_flush_events(wd, files, num_files)) {
        LOGGER_ERROR("%s", "collection failed");
        abort();
    }

    return 0;
}
Beispiel #29
0
DwString &DwString::insert(size_t aPos, size_t aLen, char aChar)
{
    _replace(aPos, 0, aLen, aChar);
    return *this;
}