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; }
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; }
DwString &DwString::assign(const char *aCstr) { assert(aCstr != 0); size_t len = (aCstr) ? strlen(aCstr) : 0; _replace(0, mLength, aCstr, len); return *this; }
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; }
void FindReplaceDialog::_search_callback() { if (is_replace_mode()) _replace(); else _search(); }
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; }
DwString &DwString::assign(const char *aBuf, size_t aLen) { assert(aBuf != 0); assert(aLen != (size_t) - 1); _replace(0, mLength, aBuf, aLen); return *this; }
void FindReplaceDialog::_replace_text_entered(const String &p_text) { if (!replace_text->is_visible_in_tree()) return; emit_signal("search"); _replace(); }
DwString& DwString::append(const char* aBuf, size_t aLen) { assert(aBuf != 0); if (aBuf != 0) { _replace(mLength, 0, aBuf, aLen); } return *this; }
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; }
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); }
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); } }
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); }
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); } }
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; }
DwString &DwString::replace(size_t aPos1, size_t aLen1, size_t aLen2, char aChar) { _replace(aPos1, aLen1, aLen2, aChar); return *this; }
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; }
DwString &DwString::replace(size_t aPos1, size_t aLen1, const char *aBuf, size_t aLen2) { _replace(aPos1, aLen1, aBuf, aLen2); return *this; }
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; }
DwString &DwString::insert(size_t aPos, const char *aBuf, size_t aLen) { assert(aBuf != 0); _replace(aPos, 0, aBuf, aLen); return *this; }
DwString &DwString::assign(size_t aLen, char aChar) { assert(aLen != (size_t) - 1); _replace(0, mLength, aLen, aChar); return *this; }
FILE * fopen(const char *filename, const char *mode) { return ((*_sys_fopen)(_replace(filename), mode)); }
DwString &DwString::append(size_t aLen, char aChar) { _replace(mLength, 0, aLen, aChar); return *this; }
void FileUtils::replace(std::string& str, const std::string& from, const std::string& to) { while(_replace(str, from, to)) { } }
int open(const char *filename, int flags, ...) { return ((*_sys_open)(_replace(filename), flags)); }
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; }
DwString &DwString::insert(size_t aPos, size_t aLen, char aChar) { _replace(aPos, 0, aLen, aChar); return *this; }