делаю енджин для предварительной конфирурации инсертов с базу. Данные получаю из сокета, потом парсю их вроде как... if(recv_data[0] == 0x01 ) { offset+len[1]; first_to_insert = recv_data[len[2]]+offset; offset+len[2]; .. итд } в другом случае получнные данные могут быть сдвинуты, это зависит от типа отправителя int offset=2; if(recv_data[1]+offset == 0x05 ) { offset+len[2]; first_to_insert = recv_data[len[3]]+offset; ... } в итоге я имею несколько буферов с нужными данными first/second_to_insert INSERT INTO tab (first,second) values('value from first','value from second'); т.е. менять последовательность INSERT INTO tab (first,second) или INSERT INTO tab (second,first) - не выход, т.к. от разных девайсов я могу получать разные последовательности, даже если из разных сокетов\портов. len[x] - в этом буфере лежит длина поля, это задается в конфиге. т.е. у меня длины tlv заданы в конфиге на каждый девайс отправитель. и на некоторые tlv заданы значения которые нужно предварительно проверить(что-то вроде хэндшейка) выше это 0x01 и 0x05 собственно как сделать так, что-бы не промазать и нужный полученный буфер(из сокета) правильно соотносить с буфером для инсерта в БД?
А собственно причем тут ассемблер и UNIX я в топике ничего подобного не увидел ЗЫ перед тем как писать на С изучи хотябы русский язык текст нечитабельный... ЗЗЫ как я понял first_to_insert и second_to_insert массивы а ты делашь присваивание first_to_insert = recv_data[len[2]]+offset; на лицо непонимание того что происходит
Иди читай книги..... указатель - переменная для хранения адреса другой переменной а ты в него записываешь число...
Перевожу на русский язык: Товарищ считает, что мы помним его предыдущий пост про tlv и поняли его. Еще он считает, что мы сидим рядом и все видели. Но меня телепнуло: Анализируются сетевые обращения к базе на SQL. Перехваченные пакеты имеют вид : первый байт tlv и в зависимости от tlv и еще чего-то(тут телепатия бесильна) в буфере начиная с len находится текст запроса SQL. Т.к. товарищ Си в упор не знает, он просит помочь. ТЯЖЕЛЫЙ СЛУЧАЙ.