A few things i tend to do when porting headers:

1). https://github.com/craig-dillabaugh/shplib.d/blob/master/source/shapefil.d#L267


'const char *filename' should usually be translated to 'const(char)* filename',
'const double * padfX' => 'const(double)* padfX'
etc..

Reference:
http://forum.dlang.org/thread/qvjjzoxoufxnxzoky...@forum.dlang.org

2). https://github.com/craig-dillabaugh/shplib.d/blob/master/source/shapefil.d#L275

Underscores on identifiers that match keywords are usually added to the end.

Reference:
http://dlang.org/dstyle.html

3). https://github.com/craig-dillabaugh/shplib.d/blob/master/source/shapefil.d#L263 longs/ulongs tend to be substituted for c_long/c_ulong from core.stdc.config.

Reference:
http://dlang.org/interfaceToC.html

4). https://github.com/craig-dillabaugh/shplib.d/blob/master/source/shapefil.d#L721
I tend to add const to all char* types as above.

In general, add 'nothrow' to all functions and move the '*' to be part of the type. e.g.: 'const(char)* text' instead of 'const(char) *text', this is my own personal preference though. :p

Reply via email to