PROGRAMMING_NOTES

Sat, 05 Apr 2003 08:03:10 +0000

author
Herman Bloggs <herman@bluedigits.com>
date
Sat, 05 Apr 2003 08:03:10 +0000
changeset 5031
c224575f8eb8
parent 4482
6181b7a53a07
child 5338
03c096de0dea
permissions
-rw-r--r--

[gaim-migrate @ 5368]
Update..

3630
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1 Notes on keeping GAIM OS independant
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2 ------------------------------------
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
4 General
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
5 -------
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
6 - Use G_DIR_SEPARATOR_S and G_DIR_SEPARATOR for paths
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
7
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
8 - Use g_getenv, g_snprintf, g_vsnprintf
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
9
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
10 - Use gaim_home_dir instead of g_get_home_dir or g_getenv("HOME")
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
11
3713
c5e268f28597 [gaim-migrate @ 3846]
Herman Bloggs <herman@bluedigits.com>
parents: 3630
diff changeset
12 - Make sure when including win32dep.h that it is the last header to
c5e268f28597 [gaim-migrate @ 3846]
Herman Bloggs <herman@bluedigits.com>
parents: 3630
diff changeset
13 be included.
3630
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
14
4482
6181b7a53a07 [gaim-migrate @ 4757]
Herman Bloggs <herman@bluedigits.com>
parents: 4062
diff changeset
15 - Open binary files when reading or writing with 'b' mode.
6181b7a53a07 [gaim-migrate @ 4757]
Herman Bloggs <herman@bluedigits.com>
parents: 4062
diff changeset
16
6181b7a53a07 [gaim-migrate @ 4757]
Herman Bloggs <herman@bluedigits.com>
parents: 4062
diff changeset
17 e.g: fopen("somefile", "wb");
6181b7a53a07 [gaim-migrate @ 4757]
Herman Bloggs <herman@bluedigits.com>
parents: 4062
diff changeset
18
6181b7a53a07 [gaim-migrate @ 4757]
Herman Bloggs <herman@bluedigits.com>
parents: 4062
diff changeset
19 Not doing so will open files in windows using defaut translation mode.
6181b7a53a07 [gaim-migrate @ 4757]
Herman Bloggs <herman@bluedigits.com>
parents: 4062
diff changeset
20 i.e. newline -> <CR><LF>
6181b7a53a07 [gaim-migrate @ 4757]
Herman Bloggs <herman@bluedigits.com>
parents: 4062
diff changeset
21
4062
b397c19fe466 [gaim-migrate @ 4272]
Herman Bloggs <herman@bluedigits.com>
parents: 3713
diff changeset
22 Paths
b397c19fe466 [gaim-migrate @ 4272]
Herman Bloggs <herman@bluedigits.com>
parents: 3713
diff changeset
23 -----
b397c19fe466 [gaim-migrate @ 4272]
Herman Bloggs <herman@bluedigits.com>
parents: 3713
diff changeset
24
b397c19fe466 [gaim-migrate @ 4272]
Herman Bloggs <herman@bluedigits.com>
parents: 3713
diff changeset
25 - DATADIR, LOCALEDIR & LIBDIR are defined in wingaim as functions.
b397c19fe466 [gaim-migrate @ 4272]
Herman Bloggs <herman@bluedigits.com>
parents: 3713
diff changeset
26 Doing the following will therefore break the windows build:
b397c19fe466 [gaim-migrate @ 4272]
Herman Bloggs <herman@bluedigits.com>
parents: 3713
diff changeset
27
b397c19fe466 [gaim-migrate @ 4272]
Herman Bloggs <herman@bluedigits.com>
parents: 3713
diff changeset
28 printf("File in DATADIR is: %s\n", DATADIR G_DIR_SEPARATOR_S "pic.png");
b397c19fe466 [gaim-migrate @ 4272]
Herman Bloggs <herman@bluedigits.com>
parents: 3713
diff changeset
29
b397c19fe466 [gaim-migrate @ 4272]
Herman Bloggs <herman@bluedigits.com>
parents: 3713
diff changeset
30 it should be:
b397c19fe466 [gaim-migrate @ 4272]
Herman Bloggs <herman@bluedigits.com>
parents: 3713
diff changeset
31
b397c19fe466 [gaim-migrate @ 4272]
Herman Bloggs <herman@bluedigits.com>
parents: 3713
diff changeset
32 printf("File in DATADIR is: %s%s%s\n", DATADIR, G_DIR_SEPARATOR_S, "pic.png");
b397c19fe466 [gaim-migrate @ 4272]
Herman Bloggs <herman@bluedigits.com>
parents: 3713
diff changeset
33
3630
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
34 PLUGINS & PROTOS
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
35 ----------------
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
36
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
37 - G_MODULE_EXPORT all functions which are to be accessed from outside the
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
38 scope of its "dll" or "so". (E.G. gaim_plugin_init)
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
39
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
40 - G_MODULE_IMPORT all global variables which are located outside your
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
41 dynamic library. (E.G. connections)
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
42
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
43 (Not doing this will cause "Memory Access Violations" in Win32)

mercurial