From: "Sergey N. Yatskevich" <syatskevich@altlinux.ru>
To: ALT Devel discussion list <devel@lists.altlinux.org>
Subject: Re: [devel] gcc4&multisync0.90
Date: Mon, 29 May 2006 18:05:20 +0400
Message-ID: <1148911520.9279.8.camel@snc.2100.gosniias.ru> (raw)
In-Reply-To: <b966c1e40605290526r7793f7aapa5b30dfff5a22478@mail.gmail.com>
В Пнд, 29/05/2006 в 16:26 +0400, Alexey Shabalin пишет:
> День добрый
> помогите собрать multisync0.90
> gcc3.4 собирает, а gcc4 ругается на следующий участок.
>
> ===============================
> static void msync_fs_make_config(fs_options *options, char **data, int *size)
> {
> xmlDocPtr doc;
>
> doc = xmlNewDoc((xmlChar*)"1.0");
> doc->children = xmlNewDocNode(doc, NULL, (xmlChar*)"config", NULL);
>
> xmlNewChild(doc->children, NULL, (xmlChar*)"path",
> (xmlChar*)options->path);
> xmlNewChild(doc->children, NULL, (xmlChar*)"recursive",
> (xmlChar*)(options->recursive ? "TRUE" : "FALS
>
> xmlDocDumpMemory(doc, (xmlChar **)data, size);
> *size++;
> }
> ===================================
> skip
> ===================================
> msync_fs_make_config(options, &config, &size);
>
>
> file_sync.c: In function 'msync_fs_make_config':
> file_sync.c:129: warning: value computed is not used
>
> file_sync.c:129 - это *size++;
>
> Если убрать * - ругань исчезает. коректно ли это?
Нет, не корректно. Всё дело в приоритете операций разыменования
указателя (*) и увеличения на единицу (++).
Если развернуть данную конструкцию (*size++), то получится
следующее:
int* tmp = size;
size = size + 1;
*tmp; // вот здесь и ругается
Судя по коду здесь просто к вычисленному xmlDocDumpMemory размеру
добавляется единица (наверное для того, чтобы учесть завершающий
'\0'), так что правильно должно быть так: (*size)++
--
Sergey N. Yatskevich <syatskevich@altlinux.ru>
next prev parent reply other threads:[~2006-05-29 14:05 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-29 12:26 Alexey Shabalin
2006-05-29 14:05 ` Sergey N. Yatskevich [this message]
2006-05-29 14:26 ` Alexey Shabalin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1148911520.9279.8.camel@snc.2100.gosniias.ru \
--to=syatskevich@altlinux.ru \
--cc=devel@lists.altlinux.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git