forum.wfido.ru  

Вернуться   forum.wfido.ru > Прочие эхи > RU.GOLDED

Ответ
 
Опции темы Опции просмотра
  #1  
Старый 17.08.2016, 16:40
Ivan Novikov
Guest
 
Сообщений: n/a
По умолчанию компилятор нодлиста

Ivan Novikov написал(а) к All в Aug 16 20:28:34 по местному времени:

Привет, All!

а вот как бороться с юниксовыми и виндовыми слэшами в путях?
самому-то голдеду в своих конфигах, похоже, уже давно всё равно.
по крайней мере, виндовый спокойно жрёт пути вида /fido/golded
а вот компилятор нодлистовый создаёт файл goldnode.gxl, где внутри
\fido\nodelist\nodelist.123
или
/fido/nodelist/nodelist.123
в зависимости от платформы. и на этот файл голдед уже реагирует плохо.
то есть начинает верещать про отсутствие нодлиста.

два разных нодлиста держать? скучно.


С приветом, Ivan.

--- Дед Мастдай и Саксы (1.1.5-b20110320 штук)
Ответить с цитированием
  #2  
Старый 17.08.2016, 16:40
Max Vasilyev
Guest
 
Сообщений: n/a
По умолчанию компилятор нодлиста

Max Vasilyev написал(а) к Ivan Novikov в Aug 16 12:12:58 по местному времени:

Нello Ivan!

02 Aug 16 20:28, you wrote to All:

IN> а вот как бороться с юниксовыми и виндовыми слэшами в путях?
IN> самому-то голдеду в своих конфигах, похоже, уже давно всё равно.
IN> по крайней мере, виндовый спокойно жрёт пути вида /fido/golded
IN> а вот компилятор нодлистовый создаёт файл goldnode.gxl, где внутри
IN> \fido\nodelist\nodelist.123
IN> или
IN> /fido/nodelist/nodelist.123
IN> в зависимости от платформы. и на этот файл голдед уже реагирует плохо.
IN> то есть начинает верещать про отсутствие нодлиста.
IN> два разных нодлиста держать? скучно.
Там давно все пути так обрабатываются:
strchg(nodelist[n].fn, GOLDWRONG_SLASН_CНR, GOLD_SLASНCНR);
И с твоим примером у меня все работает.
Ты уверен, что там путь одинаковый, что в винде, что в линуксе получается именно от корня?
А если в golded.cfg написать как-то так (т.е. путь относительно деда):
NODEPATН ..\NODELIST\


WBR, Max.
--- GoldED+/W32-MSVC 1.1.5-b20160322
Ответить с цитированием
  #3  
Старый 17.08.2016, 16:40
Ivan Novikov
Guest
 
Сообщений: n/a
По умолчанию компилятор нодлиста

Ivan Novikov написал(а) к Max Vasilyev в Aug 16 21:02:18 по местному времени:

Привет, Max!

03 Aug 16, Max Vasilyev накропал письмо к Ivan Novikov:

IN>> а вот как бороться с юниксовыми и виндовыми слэшами в путях?
IN>> самому-то голдеду в своих конфигах, похоже, уже давно всё равно.
IN>> по крайней мере, виндовый спокойно жрёт пути вида /fido/golded
IN>> а вот компилятор нодлистовый создаёт файл goldnode.gxl, где внутри
IN>> \fido\nodelist\nodelist.123
IN>> или
IN>> /fido/nodelist/nodelist.123
IN>> в зависимости от платформы. и на этот файл голдед уже реагирует плохо.
IN>> то есть начинает верещать про отсутствие нодлиста.
IN>> два разных нодлиста держать? скучно.
MV> Там давно все пути так обрабатываются:
MV> strchg(nodelist[n].fn, GOLDWRONG_SLASН_CНR, GOLD_SLASНCНR);
MV> И с твоим примером у меня все работает.
вот сейчас взял версию поновее.
оно теперь не ругается, но продолжает писать белиберду вместо списка нод.

MV> Ты уверен, что там путь одинаковый, что в винде, что в линуксе
MV> получается именно от корня?
абсолютно.
на одной платформе компилируешь - ругается на другой. и наоборот.
собственно, прямо в .gxl файле только слэши направления меняют.

MV> А если в golded.cfg написать как-то так (т.е. путь относительно деда):
MV> NODEPATН ..\NODELIST\
не помогло.
зато новая версия теперь орёт в логи при попытке полистать список:
MSVC версия после этого тупо закрашилась

---------- Thu 04 Aug 16, GoldED+/W64-MSVC 1.1.5-b20160322 (Apr 4 2016 19:02:24)
! 20:59:13 Memory error at [genode.cpp,208].
! 20:59:13 gsprintf(buffer,261, %s / %s ,...): buffer overflow, result in next line:
! 20:59:13 GOLDNODE.GXA / яяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя яяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя яяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя яяяяяяя

а MINGW версия продолжала работать, но ругаться подобным образом:

---------- Thu 04 Aug 16, GoldED+/W32-MINGW 1.1.5-b20160322 (Apr 4 2016 19:03:39)
! 21:00:44 Memory error at [genode.cpp,208].
! 21:00:44 gsprintf(buffer,261, %s / %s ,...): buffer overflow (need 143541 bytes).




С приветом, Ivan.

--- Дед Мастдай и Саксы (1.1.5-b20160322 штук)
Ответить с цитированием
  #4  
Старый 17.08.2016, 16:40
Max Vasilyev
Guest
 
Сообщений: n/a
По умолчанию компилятор нодлиста

Max Vasilyev написал(а) к Ivan Novikov в Aug 16 22:36:32 по местному времени:

Нello Ivan!

04 Aug 16 21:02, you wrote to me:

MV>> Ты уверен, что там путь одинаковый, что в винде, что в линуксе
MV>> получается именно от корня?
IN> абсолютно.
IN> на одной платформе компилируешь - ругается на другой. и наоборот.
IN> собственно, прямо в .gxl файле только слэши направления меняют.
а индексы побайтно одинаковые, которые виндовая и линуксовая версия создают?
у меня MSVC на слэши не ругается, а что в твоей самостоятельно компиленой версии под линукс происходит - я хз

IN> ---------- Thu 04 Aug 16, GoldED+/W64-MSVC 1.1.5-b20160322 (Apr 4
IN> 2016 19:02:24) ! 20:59:13 Memory error at [genode.cpp,208]. !
IN> 20:59:13 gsprintf(buffer,261, %s / %s ,...): buffer overflow, result
IN> in next line: ! 20:59:13 GOLDNODE.GXA /
оно не в слэшах падает, а в индексах
в твоем компиляторе что-то не так с разрядностью, которую дед предполагает по умолчанию

WBR, Max. piwamoto!писем-нет
--- скучаю по FleetStreet'у :-(((
Ответить с цитированием
  #5  
Старый 17.08.2016, 16:40
Max Vasilyev
Guest
 
Сообщений: n/a
По умолчанию компилятор нодлиста

Max Vasilyev написал(а) к Ivan Novikov в Aug 16 20:37:10 по местному времени:

Нello Ivan!

05 Aug 16 18:26, you wrote to me:

MV>> а индексы побайтно одинаковые, которые виндовая и линуксовая
MV>> версия создают?
IN> .gxa одинаковые, а .gxn разные
Вот тебе и ответ.

IN> (но юниксовый из пакаджей, версия
IN> старее - v.1.1.5/BSD-b20110223) виндовые версии генерят одинаковые
С тех пор ничего кардинально не менялось.

MV>> оно не в слэшах падает, а в индексах
MV>> в твоем компиляторе что-то не так с разрядностью, которую дед
MV>> предполагает по умолчанию
IN> попробовать собрать руками вместо пакаджей? :-\
Попробуй, но это ничего не даст с вероятностью 99%

Смотри чем gxn отличаются и проверяй задание типов для этих структур.
В husky был такой баг со статистикой.

WBR, Max. piwamoto!писем-нет
--- скучаю по FleetStreet'у :-(((
Ответить с цитированием
  #6  
Старый 17.08.2016, 16:40
Alexey Vissarionov
Guest
 
Сообщений: n/a
По умолчанию компилятор нодлиста

Alexey Vissarionov написал(а) к Ivan Novikov в Aug 16 23:01:54 по местному времени:

Доброго времени суток, Ivan!
05 Aug 2016 20:37:10, Max Vasilyev -> Ivan Novikov:

MV>>> в твоем компиляторе что-то не так с разрядностью, которую дед
MV>>> предполагает по умолчанию
IN>> попробовать собрать руками вместо пакаджей? :-\
MV> Попробуй, но это ничего не даст с вероятностью 99%
MV> Смотри чем gxn отличаются и проверяй задание типов для этих структур.
MV> В husky был такой баг со статистикой.

И если получится, опубликуй в эхе diff


--
Alexey V. Vissarionov aka Gremlin from Kremlin
gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii

... Знание некоторых принципов компенсирует незнание многих фактов
--- /bin/vi
Ответить с цитированием
  #7  
Старый 17.08.2016, 16:40
Ivan Novikov
Guest
 
Сообщений: n/a
По умолчанию компилятор нодлиста

Ivan Novikov написал(а) к Max Vasilyev в Aug 16 19:32:58 по местному времени:

Привет, Max!

05 Aug 16, Max Vasilyev накропал письмо к Ivan Novikov:
IN>> .gxa одинаковые, а .gxn разные
MV>
MV>>> оно не в слэшах падает, а в индексах
да, кстати, что-то я не подумал прежде
вот сейчас тупо .gxl с другими слэшами подсунул - жрёт нормально.

MV>>> в твоем компиляторе что-то не так с разрядностью, которую дед
MV>>> предполагает по умолчанию
IN>> попробовать собрать руками вместо пакаджей? :-\
MV> Попробуй, но это ничего не даст с вероятностью 99%
так и вышло.
но, по крайней мере, делает одинаковые файлы с пакаджевой версией.

MV> Смотри чем gxn отличаются и проверяй задание типов для этих структур.
это я не умею, я не программер.
чисто глазуально записи отличаются длиной:
в никсовой версии между четвёртым и пятым байтом вставлено ещё четыре байта нулей. остальное одинаково.

то есть, по моему тупому размышлению и созерцанию файла gftnnlge.h

=== rezat tuta ===
struct _GEIdx {
long pos; // File Number OR'ed with pos in nodelist file
ftn_addr addr; // Node address
char name[36]; // Name in reversed form
=== rezat tuta ===
засада с представлением типа long (мабуть из-за 64-битности?), поскольку
дальше идёт адрес и он правильный, я проверил по нодлисту.
что с этим делать дальше - я не знаю.
компилятор такой:
FreeBSD clang version 3.4.1 (tags/RELEASE_34/dot1-final 208032) 20140512
Target: x86_64-unknown-freebsd10.3
Thread model: posix
Selected GCC installation:



С приветом, Ivan.

--- Дед Мастдай и Саксы (1.1.5-b20160322 штук)
Ответить с цитированием
  #8  
Старый 17.08.2016, 16:40
Ivan Novikov
Guest
 
Сообщений: n/a
По умолчанию компилятор нодлиста

Ivan Novikov написал(а) к Max Vasilyev в Aug 16 20:30:24 по местному времени:

Привет, Max!

08 Aug 16 19:32, I wrote to you:

IN> то есть, по моему тупому размышлению и созерцанию файла gftnnlge.h
IN> засада с представлением типа long (мабуть из-за 64-битности?),

так оно и есть.
в 64-битной версии long имеет длину 8 бит.
вобщем, я его подебил, заменив long на uint32_t
вот дифф:


=== rezat tuta ===
-+- goldlib/gall/gftnnlge.h.orig 2007-02-07 23:37:52.000000000 +0500
+++ goldlib/gall/gftnnlge.h 2016-08-08 20:57:35.124806602 +0500
@@ -41,7 +41,7 @@
#endif

struct _GEIdx {
- long pos; // File Number OR'ed with pos in nodelist file
+ uint32_t pos; // File Number OR'ed with pos in nodelist file
ftn_addr addr; // Node address
char name[36]; // Name in reversed form
_GEIdx() : pos(0), addr() { *name = NUL; }
=== rezat tuta ===

С приветом, Ivan.

--- Дед Мастдай и Саксы (1.1.5-b20160322 штук)
Ответить с цитированием
  #9  
Старый 17.08.2016, 16:40
Max Vasilyev
Guest
 
Сообщений: n/a
По умолчанию компилятор нодлиста

Max Vasilyev написал(а) к Alexey Vissarionov в Aug 16 07:31:46 по местному времени:

Нello Alexey!

05 Aug 16 23:01, you wrote to Ivan Novikov:

AV> И если получится, опубликуй в эхе diff
Он сделал. Одобряешь/закоммитишь?

WBR, Max.
--- GoldED+/W32-MSVC 1.1.5-b20160322
Ответить с цитированием
  #10  
Старый 17.08.2016, 16:40
Alexey Vissarionov
Guest
 
Сообщений: n/a
По умолчанию компилятор нодлиста

Alexey Vissarionov написал(а) к Max Vasilyev в Aug 16 08:16:32 по местному времени:

Доброго времени суток, Max!
12 Aug 2016 07:31:46, ты -> мне:

AV>> И если получится, опубликуй в эхе diff
MV> Он сделал.

Ага, видел.

MV> Одобряешь/закоммитишь?

Надо бы... И, возможно, добавить #include <stdint.h>


--
Alexey V. Vissarionov aka Gremlin from Kremlin
gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii

... Закон многое преследует, но не все догоняет
--- /bin/vi
Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 08:52. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot