Ugrás a tartalomra
Címlap
csecsy.hu
A Csécsy család honlapja

Morzsa

  1. Címlap

GCC4 és a pointer-aritmetika

Boobaa, 2006-01-28

Egyetlen magyarázatként azt tudom felhozni, ha egy program fejlesztője nem csinál szabályos pointer-aritmetikát, hogy valami kövület disztribúciót használ, ahol még mindig 3-as (neadjIsten, 2.95-ös) GCC-t használnak. Pedig ennyire egyszerű a dolog (most a jhead csomag kapcsán futottam bele, s mivel vagy fél napot kerestem a szabályos megoldást, inkább leírom):

diff -Naur jhead-2.5-orig/exif.c jhead-2.5/exif.c
--- jhead-2.5-orig/exif.c 2006-01-08 18:13:16.000000000 +0100
+++ jhead-2.5/exif.c 2006-01-26 12:58:41.000000000 +0100
@@ -22,6 +22,7 @@
 #include <unistd.h>
 #include <errno.h>
 #include <limits.h>
+ #include <stdint.h>
 #endif

 #include "jhead.h"
@@ -329,7 +330,7 @@
 ByteCount -= s;
 if (ByteCount <= 0) break;
 printf(", ");
- ((char *)ValuePtr) += s;
+ ValuePtr = (void *)((uint8_t *)ValuePtr + s);
 }
 if (n >= 16) printf("...");
 }

Szövegesen: a byte-ra átalakított típusú mutató növelése helyett alakítsd szabványos byte-ra, növeld meg, és alakítsd vissza. (Az stdint.h csak az uint8_t miatt szükséges.)

  • Boobaa
  • blog
  • szoftver
  • Frugalware
  • Új hozzászólás

Fő navigáció

  • CV
  • Önéletrajz
  • Könyvek
  • Énekeskönyv
  • Hanganyagok
  • Boobaa fotóblogja
  • Pankacs gyöngykuckója

Új énekek

  • El Shaddai
  • Itt van Isten köztünk (négyszólamú)
  • Érted adta
  • Jézus meghalt bűneinkért
  • Jöjj, népek Megváltója (négyszólamú)
  • Tartsd meg e gyülekezetnek
  • Tőled árad minden áldás
  • Szentlélek, végy körül bennünket
  • Szótlanul
  • Hálát adunk neked, örök Úr Isten

Új hanganyagok

  • 2021 07 25 Decs - Befejezés
  • 2020 10 25 Decs
  • 2020 09 06 Decs
  • 454 2020 08 23 Gerjen
  • 2020 07 19 Decs
  • 2020 07 12 Decs
  • 2020.01.19 Decs
  • 2019 11 10 Decs
  • 2019 10 13 Decs
  • 2019 09 22 Gerjen