Forumda bir kaç kişide dikkat ettim. C syntax çok yanlış biliniyor galiba.
C ve türevi dillerde şu şekilde bir kullanım yok.
if(bla bla) ; { böyle bir sözdizimi yok.
Buraya noktalı virgül konmaz. En azından bu tür bir kullanımda hatalı. else kullanmayacaksan noktalı virgül arada hatalı bir kullanım şeklidir. İf bloğu devre dışı ve direkt süslü parantez arasındaki kod koşulsuz çalışır. Diğer hatalı olan süslü parantez. { . Her süslü parantezden sonra kapatman gerekir. {bla bla..}
Sorun teşkil edebilme ihtimali ogr_adi kısmı. Kodun devamı olmadığı için bellek alanına erişim ile ilgili bir sorun var. Bir taşma, yanlış erişim var. ogr_adi değişkeninin tipini kontrol et. Verdiğin adres problemli olabilir.