bug-apl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-apl] SVN 624 Warnings


From: Juergen Sauermann
Subject: Re: [Bug-apl] SVN 624 Warnings
Date: Thu, 07 May 2015 14:31:07 +0200
User-agent: Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Thunderbird/31.4.0

Hi Jay,

true, but:

#define rw_sv_def(q, _txt) { const char * qu = #q;            \
   if (!strncmp(qu, "Quad_", 5)) { UCS_string ustr(qu + 5);   \
        if (ustr.starts_iwith(qxx)) matches.push_back(ustr); } }

So before adding 5 I check that the string starts with "Quad_" , (and if so then it is long enough).

/// Jürgen


On 05/07/2015 02:10 PM, Jay Foad wrote:
Hi Jürgen,

It's warning about line 51:
rw_sv_def(CHI,       "{ ... } axis argument")

In this case you get "CHI" + 5, which is indexing way off the end of
the string, which is why it's warning.

Jay.

On 7 May 2015 at 11:27, Juergen Sauermann <address@hidden> wrote:
Hi,

I believe by string they mean a simple string literal. What I am doing is.
for example

"Quad_CT" + 5 (and so on for many ⎕xx functions and variables).

The "Quad_CT" string literal, is, of course, not spelled directly (because
then I could have
used "CT" instead) but by macro expansion of #Quad_CT. That is, #Quad_CT is
stringified to
to "Quad_CT" which is then offset by 5 to get "CT".

Peter's compiler seems to be a little picky at times.

/// Jürgen

On 05/07/2015 04:52 AM, Elias Mårtenson wrote:

I think the problem here is that std::string doesn't have an overloaded
operator that takes an int. Thus, what happens is that the string gets
coerced into a char *, which is then offset using the integer.

Thus, if that's what you want you should make it clear using
(someString.c_str() + offset). Or if you want to keep an std::string, then
someString.substr(offset) should be used.

Regards,
Elias

On 7 May 2015 at 02:07, Juergen Sauermann <address@hidden>
wrote:
Hi Peter,

I believe I managed to fix the sem_xxx warnings in SVN 625.

The Postgres warning should remain because it points at a harmless but
somewhat incomplete
SQL installation.

The final warning seems to make no sense at all. And yes, adding an int to
a string does not append
to the string but skips the beginning. That was the plan.

/// Jürgen




On 05/05/2015 11:37 PM, Peter Teeson wrote:

Hi Jürgen:


/Volumes/Data/Development/MyProjects/GNUAPLWS/apl-svn/src/apl-sqlite.cc:71:3:
"PostgreSQL unavailable since ./configure could not detect it."
/Volumes/Data/Development/MyProjects/GNUAPLWS/apl-svn/src/Parallel.cc

/Volumes/Data/Development/MyProjects/GNUAPLWS/apl-svn/src/Parallel.cc:62:4:
'sem_init' is deprecated

/Volumes/Data/Development/MyProjects/GNUAPLWS/apl-svn/src/Parallel.cc:134:4:
'sem_getvalue' is deprecated

/Volumes/Data/Development/MyProjects/GNUAPLWS/apl-svn/src/Parallel.cc:150:4:
'sem_init' is deprecated

/Volumes/Data/Development/MyProjects/GNUAPLWS/apl-svn/src/Parallel.cc:151:4:
'sem_init' is deprecated

/Volumes/Data/Development/MyProjects/GNUAPLWS/apl-svn/src/Parallel.cc:386:15:
'sem_getvalue' is deprecated

/Volumes/Data/Development/MyProjects/GNUAPLWS/apl-svn/src/Parallel.cc:391:15:
'sem_getvalue' is deprecated

/Volumes/Data/Development/MyProjects/GNUAPLWS/apl-svn/src/SystemVariable.def

/Volumes/Data/Development/MyProjects/GNUAPLWS/apl-svn/src/SystemVariable.def:51:1:
Adding 'int' to a string does not append to the string

respect…

Peter




    


reply via email to

[Prev in Thread] Current Thread [Next in Thread]