コード例 #1
0
RegPacket::RegPacket(MSNClient *client, unsigned id, const char *name)
        : MSNPacket(client, "REG")
{
    addArg(number(id).c_str());
    addArg(name);
    addArg("0");
}
コード例 #2
0
AdgPacket::AdgPacket(MSNClient *client, unsigned grp_id, const char *name)
        : MSNPacket(client, "ADG")
{
    m_id = grp_id;
    addArg(name);
    addArg("0");
}
コード例 #3
0
CvrPacket::CvrPacket(MSNClient *client)
        : MSNPacket(client, "CVR")
{
    addArg("0x0409 winnt 5.1 i386 MSNMSGR");
    addArg(client->getVersion());
    addArg("MSMSGS");
    addArg(m_client->getLogin());
}
コード例 #4
0
RemPacket::RemPacket(MSNClient *client, const char *listType, const char *mail, unsigned grp)
        : MSNPacket(client, "REM")
{
    addArg(listType);
    addArg(mail);
    if (!strcmp(listType, "FL"))
        addArg(number(grp).c_str());
}
コード例 #5
0
AddPacket::AddPacket(MSNClient *client, const char *listType, const char *mail, const char *name, unsigned grp)
        : MSNPacket(client, "ADD")
{
    m_mail = mail;
    addArg(listType);
    addArg(mail);
    addArg(name);
    if (!strcmp(listType, "FL"))
        addArg(number(grp).c_str());
}
コード例 #6
0
UsrPacket::UsrPacket(MSNClient *client, const char *digest)
        : MSNPacket(client, "USR")
{
    addArg("MD5");
    if (digest){
        addArg("S");
        addArg(digest);
    }else{
        addArg("I");
        addArg(m_client->getLogin());
    }
}
コード例 #7
0
ファイル: flmunittest.cpp プロジェクト: ajumi2/libflaim
/****************************************************************************
Desc:
****************************************************************************/
RCODE ArgList::expandArgs(
	char ** 		ppszArgs,
	FLMUINT 		uiNumArgs)
{
	RCODE			rc = FERR_OK;
	FLMUINT		uiLoop;

	for( uiLoop = 0; uiLoop < uiNumArgs; uiLoop++)
	{
		if( ppszArgs[uiLoop][0] == '@')
		{
			if( RC_BAD( rc = expandFileArgs( &ppszArgs[uiLoop][ 1])))
			{
				goto Exit;
			}
		}
		else
		{
			if( RC_BAD( rc = addArg( ppszArgs[ uiLoop])))
			{
				goto Exit;
			}
		}
	}
	
Exit:

	return( rc);
}
コード例 #8
0
ファイル: SCallTip.cpp プロジェクト: Blzut3/SLADE
/* SCallTip::loadArgSet
 * Opens and displays the arg set [set] from the current function
 *******************************************************************/
void SCallTip::loadArgSet(int set)
{
	args.clear();
	if (!function->getArgSet(set).empty())
	{
		Tokenizer tz;
		tz.setSpecialCharacters("[],");
		tz.openString(function->getArgSet(set));
		string token = tz.getToken();
		vector<string> tokens;
		while (true)
		{
			tokens.push_back(token);

			string next = tz.peekToken();
			if (next == "," || next == "")
			{
				addArg(tokens);
				tokens.clear();
				tz.getToken();
			}

			if (next == "")
				break;

			token = tz.getToken();
		}
	}

	updateSize();

	Update();
	Refresh();
}
コード例 #9
0
QryPacket::QryPacket(MSNClient *client, const char *qry)
        : MSNPacket(client, "QRY")
{
    addArg("PROD0038W!61ZTF9");
    addArg("32");
    m_line += "\r\n";
    char qry_add[] = "VT6PX?UQTM4WM%YR";
	string md = qry;
	md += qry_add;
	md = md5(md.c_str());
    for (unsigned i = 0; i < md.length(); i++){
        char b[3];
        sprintf(b, "%02x",md[i]);
        m_line += b;
    }
}
コード例 #10
0
SynPacket::SynPacket(MSNClient *client)
        : MSNPacket(client, "SYN")
{
    bDone = false;
    client->data.ListVer = 0;
    addArg(number(client->data.ListVer).c_str());
}
コード例 #11
0
ファイル: MathFuncDecl.cpp プロジェクト: lileicc/swift
std::shared_ptr<ir::Expr> MathFuncDecl::getNew(
    std::vector<std::shared_ptr<ir::Expr>>& args,
    fabrica::TypeFactory* fact) const {
  // Type Checking
  if (args.size() != 1 || args[0] == nullptr)
    return nullptr;

  auto int_ty = fact->getTy(ir::IRConstString::INT);
  auto real_ty = fact->getTy(ir::IRConstString::DOUBLE);
  auto mat_ty = fact->getTy(ir::IRConstString::MATRIX);

  // Note: We accept Int/Real/Matrix
  if (args[0]->getTyp() != int_ty
    && args[0]->getTyp() != real_ty
    && args[0]->getTyp() != mat_ty)
    return nullptr;

  auto ret_ty = (args[0]->getTyp() == mat_ty ? mat_ty : real_ty);

  auto func = std::make_shared<ir::FunctionCall>(this);

  func->addArg(args[0]);

  // check randomness
  func->setRandom(func->get(0)->isRandom());
  func->setTyp(ret_ty);

  return func;
}
コード例 #12
0
ChgPacket::ChgPacket(MSNClient *client)
        : MSNPacket(client, "CHG")
{
    const char *status = "NLN";
    switch (m_client->getStatus()){
    case STATUS_NA:
        status = "IDL";
        break;
    case STATUS_AWAY:
        status = "AWY";
        break;
    case STATUS_DND:
        status = "BSY";
        break;
    case STATUS_BRB:
        status = "BRB";
        break;
    case STATUS_PHONE:
        status = "PHN";
        break;
    case STATUS_LUNCH:
        status = "LUN";
        break;
    }
    addArg(status);
}
コード例 #13
0
SynPacket::SynPacket(MSNClient *client)
    : MSNPacket(client, "SYN")
{
    bDone	= false;
    m_data	= NULL;
    client->data.ListVer.value = 0;
    addArg(number(client->data.ListVer.value).c_str());
}
コード例 #14
0
QryPacket::QryPacket(MSNClient *client, const char *qry)
        : MSNPacket(client, "QRY")
{
    addArg("*****@*****.**");
    addArg("32");
    m_line += "\r\n";
    char qry_add[] = "Q1P7W2E4J9R8U3S5";
    MD5_CTX c;
    unsigned char md[MD5_DIGEST_LENGTH];
    MD5_Init(&c);
    MD5_Update(&c, qry, (unsigned long)strlen(qry));
    MD5_Update(&c, qry_add, (unsigned long)strlen(qry_add));
    MD5_Final(md, &c);
    for (unsigned i = 0; i < MD5_DIGEST_LENGTH; i++){
        char b[3];
        sprintf(b, "%02x",md[i]);
        m_line += b;
    }
}
コード例 #15
0
QryPacket::QryPacket(MSNClient *client, const char *qry)
        : MSNPacket(client, "QRY")
{
    addArg("PROD0038W!61ZTF9");
    addArg("32");
    m_line += "\r\n";
    char qry_add[] = "VT6PX?UQTM4WM%YR";
    MD5_CTX c;
    unsigned char md[MD5_DIGEST_LENGTH];
    MD5_Init(&c);
    MD5_Update(&c, qry, (unsigned long)strlen(qry));
    MD5_Update(&c, qry_add, (unsigned long)strlen(qry_add));
    MD5_Final(md, &c);
    for (unsigned i = 0; i < MD5_DIGEST_LENGTH; i++){
        char b[3];
        sprintf(b, "%02x",md[i]);
        m_line += b;
    }
}
コード例 #16
0
ファイル: commande.cpp プロジェクト: relefebvre/irc
void Commande::setError(const string err, const char errNum, const string nameClt)
{
    this->errNum = errNum;

    if (err == "")
        this->err = errors[errNum];
    else
        this->err = err;
    cde = 129;
    setDest(nameClt);
    addArg("Server");
}
コード例 #17
0
ファイル: cmdLineParser.c プロジェクト: sbiersdorff/CoMD
/* a tester */
int main(int argc, char **argv) {
  int n=0;
  char infile[9]="infile value";
  char outfile[256]="outfile value";
  float fl=-1.0;
  double dbl = -1.0;
  int    flag = 0;

  //Add arguments
  addArg("infile",  'i',  1,  's',  infile,  sizeof(infile), "input file name");
  addArg("outfile", 'o',  1,  's',  outfile, sizeof(infile), "output file name");
  addArg("nSPUs",   'n',  1,  'i',  &n,      0,              "number of SPUs");
  addArg("floater",  0,   1,  'f',  &fl,     0,              "floating number");
  addArg("doubler", 'k',  1,  'd',  &dbl,    0,              "double  number");
  addArg("justFlag",'F',  0,    0,  &flag,   0,              "just a flag");

  // print the argument help
  printArgs();

  // process (and free) arguments
  processArgs(argc,argv);

  // print the variables in the code
  printf("Got n = %d\n",n);
  printf("Got fl = %f\n",fl);
  printf("Got dbl = %lf\n",dbl);
  printf("Got flag = %d\n",flag);
  printf("Got infile = %s\n",infile);
  printf("Got outfile = %s\n",outfile);

  printf("\n\n");
  
  return 0;
}
コード例 #18
0
ファイル: converter.cpp プロジェクト: republib/rplshrink
/**
 * @brief Builds the arguments of the script call.
 *
 * @return  true: OK<br>
 *          false: error occurred
 */
bool Converter::buildArgs()
{
    bool rc = true;
    m_args.clear();
    m_args << "-v";
    if (m_landscapeHeight > 0)
        addArg(m_args, "-lw", m_landscapeHeight);
    else if (m_landscapeWidth > 0)
        addArg(m_args, "-lh", m_landscapeWidth);
    else
        rc = error("keine/falsche Maximalangabe beim Breitformat");

    if (m_portraitWidth > 0)
        addArg(m_args, "-pw", m_portraitWidth);
    else if (m_portraitHeight > 0)
        addArg(m_args, "-ph", m_portraitHeight);
    else
        rc = error("keine/falsche Maximalangabe beim Hochformat");

    if (m_squareWidth > 0)
        addArg(m_args, "-sw", m_squareWidth);
    else
        rc = error("keine/falsche Maximalangabe beim Hochformat");

    if (m_quality < 10 || m_quality > 100)
        rc = error("keine/falsche Qualität");
    else
        addArg(m_args, "-q", m_quality);

    return rc;
}
コード例 #19
0
ファイル: message.cpp プロジェクト: jasuarez/minbif
Message& Message::setArg(size_t i, string s)
{
	if(i == args.size())
		return addArg(s);

	assert(i < args.size());

	if((i+1) < args.size() && args.back().find(' ') != string::npos)
		throw MalformedMessage();

	args[i] = s;
	return *this;
}
コード例 #20
0
ファイル: decl.cpp プロジェクト: darwin/inferno
// o+o+o+o+o+o+o+o+o+o+o+o+o+o+o+o+o+o+o+o+o+o+o+o+o+o+o+o+o+o+o+o
void
FunctionType::addArgs(Decl *args)
{
    Decl *arg = args;

    while (args != NULL)
    {
        args = args->next;
        arg->next = NULL;
        addArg(arg);
        arg = args;
    }
}
コード例 #21
0
ファイル: hash.c プロジェクト: syntapy/infered-memes
void SetValueForArg(char prop[], char arg[], int value, HashTable **hash, int m, int n)
{   /* This function actually sets the value returned when you
     * pass argument arg to propositional function pointed to
     * by hash -> node_ptr -> name
     */

    ArgNode *arg_ptr;
    //setPointerToArg(arg, hash, m, n);
    addArg(prop, arg, hash, m, n);
    arg_ptr = (*hash) -> node_ptr -> arg_ptr;

    if (arg_ptr -> arg == NULL)
        InconsistencyErr("void setValueForArg(char arg, HashTable *hash, int m, int n, int value) 1 ");

    *((*hash) -> node_ptr -> arg_ptr -> result) = value;
}
コード例 #22
0
ファイル: flmunittest.cpp プロジェクト: ajumi2/libflaim
/****************************************************************************
Desc:
****************************************************************************/
RCODE ArgList::expandFileArgs( 
	const char *		pszFilename)
{
	RCODE				rc = FERR_OK;
	char				token[64];
	IF_FileHdl *	pFileHdl = NULL;

	if( RC_BAD( rc = gv_FlmSysData.pFileSystem->openFile(
		pszFilename, FLM_IO_RDWR, &pFileHdl)))
	{
		goto Exit;
	}

	while( RC_OK( rc = getTokenFromFile(token, pFileHdl)))
	{
		if( token[0] == '@')
		{
			if( RC_BAD( rc = expandFileArgs( &token[1])))
			{
				goto Exit;
			}
		}
		else
		{
			flmAssert(*token);
			if( RC_BAD( rc = addArg( token)))
			{
				goto Exit;
			}
		}
	}
	
	if( rc == FERR_IO_END_OF_FILE)
	{
		rc = FERR_OK;
	}

Exit:

	if( pFileHdl)
	{
		pFileHdl->Release();
	}

	return( rc);
}
コード例 #23
0
/*!
    Sends the request. If the request is synchronous, then client is blocked
    until service provider completes the request or request fails for some reason.
    If the request is asynchronous, then client won't be blocked.
    \param retData Defines refence to a value service provider will return after service.
    \return False if there was no application that could service the request, otherwise true.
*/
bool XQServiceRequest::send(QVariant& retData)
{
    XQSERVICE_DEBUG_PRINT("XQServiceRequest::send(2)");
    if (isNull())
    {
        XQSERVICE_DEBUG_PRINT("XQServiceRequest::send error: null request");
        XQService::serviceThreadData()->setLatestError(XQService::EArgumentError);
        return false;
    }

    // Handle sharable file argument(s), if any
    if (!handleSharableFileArgs())
    {
        XQSERVICE_DEBUG_PRINT("XQServiceRequest::send error:invalid sharable file");
        XQService::serviceThreadData()->setLatestError(XQService::EArgumentError);
        return false;
    }

    mData->mRequestUtil.setSynchronous(mData->mSynchronous); // Ensure option is set !
    mData->mRequestUtil.mOperation = mData->mMessage;  // Save the operation name for startup

    // !!!
    // Add the info as extra argument to the request
    // This shall be removed by the server
    // !!!
    addArg(qVariantFromValue(mData->mRequestUtil.mInfo));

    // Pass always the util instance onwards as user data.
    // It can be utilized by the XQServiceManager::startServer
    // e.g. to optimize startup of a service server

    // Create unique channel name to separate multiple client requests to same channel name.
    quint32 handle = (unsigned int)mData;
    mData->mUniqueChannelName = QString("%1:").arg(handle) + mData->mService;
    XQSERVICE_DEBUG_PRINT("XQServiceRequest::send(2):uniqueChannel=%s", qPrintable(mData->mUniqueChannelName));
    return XQServiceAdaptor::send(mData->mUniqueChannelName,  message(), mData->mArguments, retData, mData->mSynchronous,mData,
                                  (const void *)&mData->mRequestUtil);
}
コード例 #24
0
ファイル: pre-html.cpp プロジェクト: SvenDowideit/clearlinux
int char_buffer::do_html(int argc, char *argv[])
{
  string s;

  alterDeviceTo(argc, argv, 0);
  argv += troff_arg;		// skip all arguments up to groff
  argc -= troff_arg;
  argv = addArg(argc, argv, (char *)"-Z");
  argc++;

  s = (char *)"-dwww-image-template=";
  s += macroset_template;	// do not combine these statements,
				// otherwise they will not work
  s += '\0';                	// the trailing `\0' is ignored
  argv = addRegDef(argc, argv, s.contents());
  argc++;

  if (dialect == xhtml) {
    argv = addRegDef(argc, argv, "-rxhtml=1");
    argc++;
    if (eqn_flag) {
      argv = addRegDef(argc, argv, "-e");
      argc++;
    }
  }

#if defined(DEBUGGING)
# define HTML_DEBUG_STREAM  OUTPUT_STREAM(htmlFileName)
  // slight security risk so only enabled if compiled with defined(DEBUGGING)
  if (debug) {
    int saved_stdout = save_and_redirect(STDOUT_FILENO, HTML_DEBUG_STREAM);
    emit_troff_output(DEVICE_FORMAT(HTML_OUTPUT_FILTER));
    set_redirection(STDOUT_FILENO, saved_stdout);
  }
#endif

  return run_output_filter(HTML_OUTPUT_FILTER, argc, argv);
}
コード例 #25
0
int EdifyFunc::replaceOffendings(std::list<EdifyElement*> **parentList, std::list<EdifyElement*>::iterator& lastNewlineRef)
{
    int res = 0;

    if(m_name == "mount" || m_name == "unmount" || m_name == "format")
    {
        lastNewlineRef = (*parentList)->insert(++lastNewlineRef, new EdifyValue(
                std::string("# MultiROM removed function ") + m_name +
                "(" + getArgsStr() +
                std::string(") from following line.")));
        lastNewlineRef = (*parentList)->insert(++lastNewlineRef, new EdifyNewline());

        if(m_name == "format")
        {
            for(std::list<EdifyElement*>::iterator itr = m_args.begin(); itr != m_args.end(); ++itr)
            {
                if((*itr)->getType() != EDF_VALUE)
                    continue;

                if(((EdifyValue*)(*itr))->getText().find("/system") != std::string::npos)
                {
                    res |= OFF_FORMAT_SYSTEM;
                    break;
                }
            }
        }

        res |= OFF_CHANGED;
        m_name = "ui_print";
        clearArgs();
        addArg(new EdifyValue("\"\""));
        return res;
    }
    else if(m_name == "block_image_update")
    {
        res |= OFF_BLOCK_UPDATES;
    }
    else if(m_name == "run_program")
    {
        bool rem = false;

        for(std::list<EdifyElement*>::iterator itr = m_args.begin(); itr != m_args.end(); ++itr)
        {
            if((*itr)->getType() != EDF_VALUE)
                continue;

            const std::string& t = ((EdifyValue*)(*itr))->getText();
            if(t.find("mount") != std::string::npos)
            {
                rem = true;
                break;
            }
            else if(t.find("boot.img") != NPOS || t.find(MultiROM::getBootDev()) != NPOS ||
                t.find("zImage") != NPOS || t.find("bootimg") != NPOS)
            {
                rem = false;
                break;
            }
            else if(t.find("/dev/block") != NPOS)
                rem = true;
        }

        if(rem)
        {
            std::string info = "# MultiROM replaced run_program(";
            info += getArgsStr();
            info += ") with \"/sbin/true\"";
            lastNewlineRef = (*parentList)->insert(++lastNewlineRef, new EdifyValue(info));
            lastNewlineRef = (*parentList)->insert(++lastNewlineRef, new EdifyNewline());

            res |= OFF_CHANGED;
            clearArgs();
            addArg(new EdifyValue("\"/sbin/true\""));
        }
    }
    else if(m_name == "package_extract_file" && m_args.size() >= 2)
    {
        int st = 0;

        static const char * const forbidden_images[] = {
            "radio", "bootloader", "NON-HLOS.bin", "emmc_appsboot.mbn",
            "rpm.mbn", "logo.bin", "sdi.mbn", "tz.mbn", "sbl1.mbn",
            NULL
        };

        for(std::list<EdifyElement*>::iterator itr = m_args.begin(); itr != m_args.end(); ++itr)
        {
            if((*itr)->getType() != EDF_VALUE)
                continue;

            if(st == 0)
            {
                for(int i = 0; forbidden_images[i]; ++i)
                {
                    if(((EdifyValue*)(*itr))->getText().find(forbidden_images[i]) != NPOS)
                    {
                        st = 1;
                        break;
                    }
                }
            }
            else if(st == 1 && (((EdifyValue*)(*itr))->getText().find("/dev/block/") <= 1))
            {
                st = 2;
                break;
            }
        }

        if(st == 2)
        {
            lastNewlineRef = (*parentList)->insert(++lastNewlineRef, new EdifyValue(
                std::string("# MultiROM removed function ") + m_name +
                "(" + getArgsStr() +
                std::string(") from following line.")));
            lastNewlineRef = (*parentList)->insert(++lastNewlineRef, new EdifyNewline());
            res |= OFF_CHANGED;
            m_name = "ui_print";
            clearArgs();
            addArg(new EdifyValue("\"\""));
        }
    }

    for(std::list<EdifyElement*>::iterator itr = m_args.begin(); itr != m_args.end(); ++itr)
    {
        if((*itr)->getType() == EDF_FUNC)
            res |= ((EdifyFunc*)(*itr))->replaceOffendings(parentList, lastNewlineRef);
        else if((*itr)->getType() == EDF_NEWLINE)
        {
            *parentList = &m_args;
            lastNewlineRef = itr;
        }
    }
    return res;
}
コード例 #26
0
SynPacket::SynPacket(MSNClient *client)
        : MSNPacket(client, "SYN")
{
    addArg(number(client->data.ListVer).c_str());
}
コード例 #27
0
RmgPacket::RmgPacket(MSNClient *client, unsigned id)
        : MSNPacket(client, "RMG")
{
    addArg(number(id).c_str());
}
コード例 #28
0
VerPacket::VerPacket(MSNClient *client)
        : MSNPacket(client, "VER")
{
    addArg("MSNP7 MSNP6 MSNP5 MSNP4 CVR0");
}
コード例 #29
0
XfrPacket::XfrPacket(MSNClient *client, SBSocket *socket)
        : MSNPacket(client, "XFR")
{
    m_socket = socket;
    addArg("SB");
}
コード例 #30
0
BlpPacket::BlpPacket(MSNClient *client, bool bInvisible)
        : MSNPacket(client, "BLP")
{
    addArg(bInvisible ? "BL" : "AL");
}