void MidiWinMM::openDevices() { m_inputDevices.clear(); for( unsigned int i = 0; i < midiInGetNumDevs(); ++i ) { MIDIINCAPS c; midiInGetDevCaps( i, &c, sizeof( c ) ); HMIDIIN hm = 0; MMRESULT res = midiInOpen( &hm, i, (DWORD_PTR) &inputCallback, (DWORD_PTR) this, CALLBACK_FUNCTION ); if( res == MMSYSERR_NOERROR ) { m_inputDevices[hm] = qstrdup( c.szPname ); midiInStart( hm ); } } m_outputDevices.clear(); for( unsigned int i = 0; i < midiOutGetNumDevs(); ++i ) { MIDIOUTCAPS c; midiOutGetDevCaps( i, &c, sizeof( c ) ); HMIDIOUT hm = 0; MMRESULT res = midiOutOpen( &hm, i, 0, 0, CALLBACK_NULL ); if( res == MMSYSERR_NOERROR ) { m_outputDevices[hm] = qstrdup( c.szPname ); } } }
VlcInstance::VlcInstance(const QStringList &args, QObject *parent) : QObject(parent), _vlcInstance(0), _status(false) { // Convert arguments to required format #if defined(Q_OS_WIN32) // Will be removed on Windows if confirmed working char **argv = (char **)malloc(sizeof(char **) * args.count()); for (int i = 0; i < args.count(); ++i) argv[i] = (char *)qstrdup(args.at(i).toUtf8().data()); #else char *argv[args.count()]; for (int i = 0; i < args.count(); ++i) argv[i] = (char *)qstrdup(args.at(i).toUtf8().data()); #endif // Create new libvlc instance _vlcInstance = libvlc_new(args.count(), argv); qRegisterMetaType<Vlc::Meta>("Vlc::Meta"); qRegisterMetaType<Vlc::State>("Vlc::State"); VlcError::showErrmsg(); // Check if instance is running if(_vlcInstance) { _status = true; qDebug() << "VLC-Qt" << libVersion() << "initialised"; qDebug() << "Using libvlc version:" << version(); } else { qCritical() << "VLC-Qt Error: libvlc failed to load!"; } }
VlcInstance::VlcInstance(const QStringList &args, QObject *parent) : QObject(parent), _vlcInstance(0) { #if defined(Q_OS_WIN32) char **argv = (char **)malloc(sizeof(char **) * args.count()); for (int i = 0; i < args.count(); ++i) argv[i] = (char *)qstrdup(args.at(i).toUtf8().data()); #else char *argv[args.count()]; for (int i = 0; i < args.count(); ++i) argv[i] = (char *)qstrdup(args.at(i).toUtf8().data()); #endif _vlcInstance = libvlc_new(args.count(), argv); qRegisterMetaType<Vlc::Meta>("Vlc::Meta"); qRegisterMetaType<Vlc::State>("Vlc::State"); VlcError::errmsg(); if(!_vlcInstance) { qDebug() << "vlc failed to load!"; abort(); } }
//### KDE5:Consider merging the setApplicationPath and setApplicationName methods into one. void KCrash::setApplicationPath(const QString& path) { s_appPath = qstrdup(QFile::encodeName(path).constData()); //if the appName has also been specified, update s_autoRestartCommand to be in the form "absolutePath/appName" if (s_appName) { delete[] s_autoRestartCommand; QFileInfo appExecutable(QDir(path), QFile::decodeName(s_appName)); QByteArray cmd = QFile::encodeName(appExecutable.absoluteFilePath()); s_autoRestartCommand = qstrdup(cmd.constData()); } QStringList args = KCmdLineArgs::allArguments(); args[0] = s_autoRestartCommand; // replace argv[0] with full path above if (!args.contains("--nocrashhandler")) args.insert(1, "--nocrashhandler"); delete[] s_autoRestartCommandLine; s_autoRestartArgc = args.count(); s_autoRestartCommandLine = new char* [args.count() + 1]; for (int i = 0; i < args.count(); ++i) { s_autoRestartCommandLine[i] = qstrdup(QFile::encodeName(args.at(i)).constData()); } s_autoRestartCommandLine[args.count()] = 0; }
static bool compare(const QList<QPair<QString, QString> > &actual, const QueryItems &expected, const char *actualStr, const char *expectedStr, const char *file, int line) { return QTest::compare_helper(actual == expected, "Compared values are not the same", qstrdup(prettyList(actual)), qstrdup(prettyList(expected).data()), actualStr, expectedStr, file, line); }
QStringList KISS::getFileList(packageInfo *p) { QString vb, fn; QString name; char mode; fn = p->getFilename(); if(!fn.isEmpty()) mode = 'u'; else mode = 'i'; QStringList filelist; switch(mode) { //////////////////////////////////////////////////////////////////////// // query an installed package! case 'i': name = p->getProperty("name"); reader.setup("kiss"); *reader.proc << "-f" << name; if (reader.start(0,FALSE)) { char *buffer = qstrdup(reader.buf.ascii()); char *str = strtok(buffer,"\n"); if (str) { do { filelist.append(str); } while ((str = strtok(NULL,"\n"))); } delete [] buffer; } break; //////////////////////////////////////////////////////////////////// // query an uninstalled package case 'u': reader.setup("perl"); *reader.proc << fn << "-f"; if (reader.start(0,TRUE)) { char *buffer = qstrdup(reader.buf.ascii()); char *str = strtok(buffer,"\n"); if (str) { do { filelist.append(strdup(str)); } while ((str = strtok(NULL,"\n"))); } delete [] buffer; } break; } return filelist; }
void VideosWindow::onVideoSelected(QModelIndex index) { if (index.data(UserRoleHeader).toBool()) return; this->setEnabled(false); VideoNowPlayingWindow *window = new VideoNowPlayingWindow(this, mafwRegistry); window->showFullScreen(); connect(window, SIGNAL(destroyed()), this, SLOT(onChildClosed())); ui->indicator->inhibit(); playlist->assignVideoPlaylist(); playlist->clear(); int selectedRow; int indexOffset = 0; int videoCount = 0; gchar** videoAddBuffer = new gchar*[objectModel->rowCount()+1]; bool filter = QSettings().value("main/playlistFilter", false).toBool(); if (filter) { selectedRow = index.row(); for (int i = 0; i < objectProxyModel->rowCount(); i++) if (!objectProxyModel->index(i,0).data(UserRoleHeader).toBool()) videoAddBuffer[videoCount++] = qstrdup(objectProxyModel->index(i,0).data(UserRoleObjectID).toString().toUtf8()); else if (i < selectedRow) ++indexOffset; } else { selectedRow = objectProxyModel->mapToSource(index).row(); for (int i = 0; i < objectModel->rowCount(); i++) if (!objectModel->item(i)->data(UserRoleHeader).toBool()) videoAddBuffer[videoCount++] = qstrdup(objectModel->item(i)->data(UserRoleObjectID).toString().toUtf8()); else if (i < selectedRow) ++indexOffset; } videoAddBuffer[videoCount] = NULL; playlist->appendItems((const gchar**) videoAddBuffer); for (int i = 0; i < videoCount; i++) delete[] videoAddBuffer[i]; delete[] videoAddBuffer; mafwRenderer->gotoIndex(selectedRow-indexOffset); window->play(); }
//-------------------------------------------------------------------------- char *uniremap_init(char *table) { const char *cur = setlocale(LC_CTYPE, NULL); if(!cur) cur = "C"; // PARANOYA cur = qstrdup(cur); #ifdef __UNIX__ table = create_map("", &lm[0], table); lm[1] = lm[0]; #else { char s[16]; int oemcp, acp = get_codepages(&oemcp); if ( acp == CP_ACP ) acp = GetACP(); if ( oemcp == CP_OEMCP ) oemcp = GetOEMCP(); qsnprintf(s, sizeof(s), ".%u", oemcp); table = create_map(s, &lm[0], table); qsnprintf(s, sizeof(s), ".%u", acp); create_map(s, &lm[1], NULL); } #endif setlocale(LC_CTYPE, cur); // restore default locale qfree((void*)cur); return(table); }
char* toString(const MapColor& c) { auto spot_method = QTest::toString(c.getSpotColorMethod()); auto cmyk_method = QTest::toString(c.getCmykColorMethod()); auto rgb_method = QTest::toString(c.getRgbColorMethod()); QByteArray ba; ba.reserve(1000); ba += "MapColor("; ba += QByteArray::number(c.getPriority()); ba += " "; ba += c.getName().toLocal8Bit(); ba += " (SPOT: "; ba += spot_method; ba += " "; ba += c.getSpotColorName().toLocal8Bit(); ba += (c.getKnockout() ? " k.o." : " ---"); ba += " ["; ba += QByteArray::number(c.getOpacity()*100.0,'f',0); ba += "] CMYK: "; ba += cmyk_method; const MapColorCmyk& cmyk = c.getCmyk(); ba += QString::fromLatin1(" %1/%2/%3/%4").arg(cmyk.c*100.0,0,'f',1).arg(cmyk.m*100.0,0,'f',1).arg(cmyk.y*100.0,0,'f',1).arg(cmyk.k*100.0,0,'f',1).toLocal8Bit(); ba += " RGB: "; ba += rgb_method; const MapColorRgb& rgb = c.getRgb(); ba += QString::fromLatin1(" %1/%2/%3").arg(rgb.r*255.0,0,'f',0).arg(rgb.g*255.0,0,'f',0).arg(rgb.b*255.0,0,'f',0).toLocal8Bit(); ba += ")"; delete [] spot_method; delete [] cmyk_method; delete [] rgb_method; return qstrdup(ba.data()); }
QT_END_NAMESPACE #endif #include "qplatformdefs.h" #include "qprocess.h" #include "qprocess_p.h" #ifdef Q_OS_MAC #include <private/qcore_mac_p.h> #endif #include <private/qcoreapplication_p.h> #include <private/qthread_p.h> #include <qdatetime.h> #include <qfile.h> #include <qfileinfo.h> #include <qlist.h> #include <qmap.h> #include <qmutex.h> #include <qsemaphore.h> #include <qsocketnotifier.h> #include <qthread.h> #include <errno.h> #include <stdlib.h> #include <string.h> QT_BEGIN_NAMESPACE #ifdef Q_OS_INTEGRITY static inline char *strdup(const char *data) { return qstrdup(data); }
int Cce152::RecTape(void) { // Display the Save dialog box. TapeFileName = QFileDialog::getSaveFileName( mainwindow, "Choose a filename to save under", ".", "Wav Files (*.wav)"); QFile file(TapeFileName); char * str = qstrdup(TapeFileName.toLocal8Bit()); //if (!file.open(QIODevice::WriteOnly)) if ((info.ptrFd = fopen(str,"wb"))==NULL) { AddLog(LOG_TAPE,tr("ERROR: Can't create the wav file.")); MSG_ERROR(tr("Failed to create file")); return 0; } // create th header WriteHeadToWav (10, 16000,//pTIMER->pPC->Tape_Base_Freq*2, &info); info.bitLen = 0x20; info.freq = 16000;//pTIMER->pPC->Tape_Base_Freq*2; // ptrFile->bitLen = (freq * 8) / ptrFile->freq ; mode = RECORD; return (1); }
static trace::StructSig * createStructSig(const ApiStruct &str, unsigned id) { ApiStruct::Signature aSig = str.signature(); trace::StructSig *sig = new trace::StructSig(); sig->id = id; sig->name = qstrdup(aSig.name.toLocal8Bit()); sig->num_members = aSig.memberNames.count(); char **member_names = new char*[aSig.memberNames.count()]; sig->member_names = (const char **)member_names; for (int i = 0; i < aSig.memberNames.count(); ++i) { member_names[i] = qstrdup(aSig.memberNames[i].toLocal8Bit()); } return sig; }
// // return html rendered markdown of note text // QString Note::toMarkdownHtml() { hoedown_renderer *renderer = hoedown_html_renderer_new( HOEDOWN_HTML_USE_XHTML, 16 ); hoedown_document *document = hoedown_document_new(renderer, (hoedown_extensions) HOEDOWN_EXT_SPAN, 16); QString str = this->noteText; unsigned char *sequence = (unsigned char*)qstrdup( str.toUtf8().constData() ); int length = strlen( (char*) sequence ); // return an empty string if the note is empty if ( length == 0 ) { return ""; } hoedown_buffer *html = hoedown_buffer_new( length ); // render markdown html hoedown_document_render( document, html, sequence, length ); // get markdown html QString result = QString::fromUtf8( (char*) html->data, html->size ); /* Cleanup */ free(sequence); hoedown_buffer_free(html); hoedown_document_free(document); hoedown_html_renderer_free(renderer); return result; }
void KuickShow::initImlib() { ImData *idata = kdata->idata; ImlibInitParams par; initImlibParams( idata, &par ); id = Imlib_init_with_params( x11Display(), &par ); if ( !id ) { initImlibParams( idata, &par ); qWarning("*** KuickShow: Whoops, can't initialize imlib, trying my own palettefile now."); QString paletteFile = locate( "data", "kuickshow/im_palette.pal" ); // ### - does the qstrdup() cure the segfault in imlib eventually? char *file = qstrdup( paletteFile.local8Bit() ); par.palettefile = file; par.flags |= PARAMS_PALETTEFILE; qWarning("Palettefile: %s", par.palettefile ); id = Imlib_init_with_params( x11Display(), &par ); if ( !id ) { QString tmp = i18n("Unable to initialize \"Imlib\".\n" "Start kuickshow from the command line " "and look for error messages.\n" "The program will now quit."); KMessageBox::error( this, tmp, i18n("Fatal Imlib Error") ); FileCache::shutdown(); ::exit(1); } } }
const char* OtrInternal::account_name(const char* account, const char* protocol) { Q_UNUSED(protocol); return qstrdup(m_callback->humanAccountPublic(QString::fromUtf8(account)) .toUtf8().constData()); }
packageInfo *KISS::collectInfo(const char *_inp) { QMap<QString, QString> a; char *str, *xstr; QString qstr; char *inp = qstrdup(_inp); str = strtok(inp,"\n"); do { xstr = strchr(str,':'); if (*str == ' ') str++; if (!strncmp("package",str,7)) break; } while ((str = strtok(NULL,"\n"))); // parse 'name: text' elements if (str) { do { if (str[0] == 0) break; xstr = strchr(str,':'); if (xstr) { *xstr++ = 0; xstr++; for( int i = 0; str[ i ] != '\0'; ++i ) str[ i ] = tolower( str[ i ] ); if (*str == ' ') str++; if (!strcmp("package",str)) { a.insert("name", xstr); } else if (!strcmp("name",str)) { a.insert("summary", xstr); } else if (!strcmp("section",str)) { a.insert("group", xstr); } else if (!strcmp("size",str)) { a.insert("file-size", xstr); } else if (!strcmp("installed-size",str)) { QString str = xstr; a.insert("size", str + "000"); } else { a.insert(str, xstr); } } } while ((str = strtok(NULL,"\n"))); } packageInfo *i = new packageInfo(a,this); i->packageState = packageInfo::INSTALLED; i->fixup(); delete [] inp; return i; }
static void decode_version (const char *_buf, int *version, int *modification, int *patch) { char *buffer = qstrdup(_buf); char *buf = buffer; *version = (int) strtoul (buf, &buf, 10); *modification = 0; *patch = 0; if (*buf == '.') { ++buf; *modification = (int) strtoul (buf, &buf, 10); if (*buf == '.') { ++buf; *patch = (int) strtoul (buf, &buf, 10); } } if (*buf != '\0') { *version = *modification = *patch = 0; } delete [] buffer; }
bool Q3GCache::insert_other(const char *key, Q3PtrCollection::Item data, int cost, int priority) { if (tCost + cost > mCost) { if (!makeRoomFor(tCost + cost - mCost, priority)) { #if defined(QT_DEBUG) lruList->insertMisses++; #endif return false; } } #if defined(QT_DEBUG) Q_ASSERT(keytype != StringKey); lruList->inserts++; lruList->insertCosts += cost; #endif if (keytype == AsciiKey && copyk) key = qstrdup(key); if (priority < -32768) priority = -32768; else if (priority > 32767) priority = 32677; Q3CacheItem *ci = new Q3CacheItem((void*)key, newItem(data), cost, (short)priority); Q_CHECK_PTR(ci); lruList->insert(0, ci); if (keytype == AsciiKey) dict->insert_ascii(key, ci); else dict->insert_int((long)key, ci); tCost += cost; return true; }
ScopedClangOptions::ScopedClangOptions(const QStringList &options) : m_size(options.size()) , m_rawOptions(new const char*[options.size()]) { for (int i = 0 ; i < m_size; ++i) m_rawOptions[i] = qstrdup(options[i].toUtf8()); }
static char* get_vtbl_hint(int line_num) { current_line_pos = line_num; char tag_lines[4096]; ZeroMemory(tag_lines, sizeof(tag_lines)); if (isEnabled(vtbl_t_list[line_num].ea_begin)) { int flags = calc_default_idaplace_flags(); linearray_t ln(&flags); idaplace_t pl; pl.ea = vtbl_t_list[line_num].ea_begin; pl.lnnum = 0; ln.set_place(&pl); int used = 0; int n = ln.get_linecnt(); for (int i = 0; i < n; i++) { char buf[MAXSTR]; char *line = ln.down(); tag_remove(line, buf, sizeof(buf)); used += sprintf_s(tag_lines + used, sizeof(tag_lines) - used, "%s\n", buf); } } return qstrdup(tag_lines); }
QDirectFbIntegration::QDirectFbIntegration() : mFontDb(new QGenericUnixFontDatabase()) { const QStringList args = QCoreApplication::arguments(); int argc = args.size(); char **argv = new char*[argc]; for (int i = 0; i < argc; ++i) argv[i] = qstrdup(args.at(i).toLocal8Bit().constData()); DFBResult result = DirectFBInit(&argc, &argv); if (result != DFB_OK) { DirectFBError("QDirectFBScreen: error initializing DirectFB", result); } delete[] argv; QDirectFbScreen *primaryScreen = new QDirectFbScreen(0); mScreens.append(primaryScreen); mInputRunner = new QThread; mInput = new QDirectFbInput(0); mInput->moveToThread(mInputRunner); QObject::connect(mInputRunner,SIGNAL(started()),mInput,SLOT(runInputEventLoop())); mInputRunner->start(); }
int main(int argc, char* argv[]) { QT_REQUIRE_VERSION(argc, argv, "5.6.0"); #ifndef Q_OS_WIN qInstallMessageHandler(&msgHandler); #endif #if defined(Q_OS_LINUX) || defined(__GLIBC__) || defined(__FreeBSD__) signal(SIGSEGV, qupzilla_signal_handler); #endif // Hack to fix QT_STYLE_OVERRIDE with QProxyStyle const QByteArray style = qgetenv("QT_STYLE_OVERRIDE"); if (!style.isEmpty()) { char** args = (char**) malloc(sizeof(char*) * (argc + 1)); for (int i = 0; i < argc; ++i) args[i] = argv[i]; QString stylecmd = QL1S("-style=") + style; args[argc++] = qstrdup(stylecmd.toUtf8().constData()); argv = args; } QApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); MainApplication app(argc, argv); if (app.isClosing()) return 0; app.setStyle(new ProxyStyle); return app.exec(); }
// Demangle C++ class name char* get_demangle_name(ea_t class_addr) { char buf_name[MAXSTR]; int name_size = get_max_ascii_length(class_addr, ASCSTR_TERMCHR, true); get_ascii_contents(class_addr, name_size, ASCSTR_TERMCHR, buf_name, sizeof(buf_name)); return qstrdup(buf_name); }
template<> char *toString(const OverrideItem &data) { QByteArray ba = "OverrideItem("; ba += data.text.toLatin1() + ", " + QByteArray::number(data.line); ba += ")"; return qstrdup(ba.data()); }
int main(int argc, char *argv[]) { // Pull off custom options bool goToEventLoop = false; int realCount = 0; char **realVals = new char*[argc]; for (int i = 0; i < argc; ++i) { realVals[i] = 0; } for (int i = 0; i < argc; ++i) { if (0 == qstrcmp(argv[i], "-loop")) { goToEventLoop = true; continue; } else { if (0 == qstrcmp(argv[i], "-help") || 0 == qstrcmp(argv[i], "--help")) { printf(" Options coming from the Kexi test suite:\n -loop : Go to event loop after successful test\n\n"); } realVals[realCount] = qstrdup(argv[i]); ++realCount; } } // Actual test TestGlobalSearch tc(realCount, realVals, goToEventLoop); int result = QTest::qExec(&tc, realCount, realVals); // Clean up for (int i = 0; i < argc; i++) { delete realVals[i]; } delete [] realVals; return result; }
template<> char * toString( const QPair<QStringList,QByteArray>& res ) { QByteArray buf; QTextStream stream( &buf ); stream << "first: " << res.first.join(", ") << ", second: " << res.second; stream.flush(); return qstrdup( buf.data() ); }
template<> char * toString( const Imap::Responses::AbstractResponse& resp ) { QByteArray buf; QTextStream stream( &buf ); stream << resp; stream.flush(); return qstrdup( buf.data() ); }
template<> char * toString( const Imap::Message::MailAddress& resp ) { QByteArray buf; QTextStream stream( &buf ); stream << resp; stream.flush(); return qstrdup( buf.data() ); }
static trace::FunctionSig * createFunctionSig(ApiTraceCall *call, unsigned id) { trace::FunctionSig *sig = new trace::FunctionSig(); sig->id = id; sig->name = qstrdup(call->name().toLocal8Bit()); QStringList args = call->argNames(); sig->num_args = args.count(); sig->arg_names = new const char*[args.count()]; for (int i = 0; i < args.count(); ++i) { sig->arg_names[i] = qstrdup(args[i].toLocal8Bit()); } return sig; }
void sysexec::setEnv(const QValueList<QCString>& env) { //zEnter(); for ( QValueList<QCString>::ConstIterator it = env.begin(); it != env.end(); ++it ) { ::putenv(qstrdup((*it))); } }