Compare commits

..

185 Commits

Author SHA1 Message Date
srilatha%netscape.com
764c61dd38 Synchronizing with MOZILLA_0_9_4_BRANCH
git-svn-id: svn://10.0.0.236/branches/MAPI_SUPP_BRANCH@106605 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 00:24:45 +00:00
srilatha%netscape.com
68def7c5f0 Fix for Bug #102392. Refined COM code detect whether mozilla is running or
not.  This is required to support multiple sends from the Application.
r=dougt, sr=mscott.  Checking in for Kkhandrika@netscape.com


git-svn-id: svn://10.0.0.236/branches/MAPI_SUPP_BRANCH@105107 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-10 22:37:02 +00:00
srilatha%netscape.com
956b8cae4e checking into the private branch
checking in for rdayal
Fix to NOT display the Logon Dialog


git-svn-id: svn://10.0.0.236/branches/MAPI_SUPP_BRANCH@104878 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-09 00:24:46 +00:00
srilatha%netscape.com
02be9f700d checkin for private branch only
checkin for rdayal
added the security warning dialog for blindsend


git-svn-id: svn://10.0.0.236/branches/MAPI_SUPP_BRANCH@104677 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-05 21:57:28 +00:00
srilatha%netscape.com
f18aa5109a Checking in for private branch only
checking in for rdayal@netscape.com
checking in the strings for mapi security warning dialog


git-svn-id: svn://10.0.0.236/branches/MAPI_SUPP_BRANCH@104615 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-05 01:05:16 +00:00
srilatha%netscape.com
ab89acab23 Fix for bug # 102308. Added check for smart dll.
Also saving the registry key only if mapi32.dll exists.


git-svn-id: svn://10.0.0.236/branches/MAPI_SUPP_BRANCH@104562 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-04 00:20:04 +00:00
srilatha%netscape.com
a002b3eb07 Getting the correct string from mapi.properties
Now we should get the error dialog.


git-svn-id: svn://10.0.0.236/branches/MAPI_SUPP_BRANCH@104558 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-03 23:50:13 +00:00
srilatha%netscape.com
ed7c300afe Fix for bug #102308. Changed InitWithPath to InitWithUnicodePath.
Also changed !NS_SUCCEEDED to NS_FAILED


git-svn-id: svn://10.0.0.236/branches/MAPI_SUPP_BRANCH@104544 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-03 19:01:00 +00:00
srilatha%netscape.com
468eab2d6d check in for private branch only
checking in for rdayal@netscape.com
removing tabs


git-svn-id: svn://10.0.0.236/branches/MAPI_SUPP_BRANCH@104506 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-03 01:51:39 +00:00
srilatha%netscape.com
36a6c17187 checking in for private branch only
checking in for rdayal@netscape.com
added exported fn for GetDllVersion


git-svn-id: svn://10.0.0.236/branches/MAPI_SUPP_BRANCH@104474 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-02 23:54:13 +00:00
srilatha%netscape.com
78f6e3374a this is for private branch only
checking in for rdayal@netscape.com
added exported function for GetDllVersion
adding GetDllVersion


git-svn-id: svn://10.0.0.236/branches/MAPI_SUPP_BRANCH@104471 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-02 23:53:20 +00:00
srilatha%netscape.com
9ff1395746 Saving the registry key in HKLM/Software/Mozilla/Desktop.
Part of bug # 102308


git-svn-id: svn://10.0.0.236/branches/MAPI_SUPP_BRANCH@104455 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-02 22:49:10 +00:00
srilatha%netscape.com
ac066ef0da Reverting the previous checkin and checking in the right fix for bug# 102705
git-svn-id: svn://10.0.0.236/branches/MAPI_SUPP_BRANCH@104453 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-02 22:26:22 +00:00
srilatha%netscape.com
b089f8da63 Fix for bug #102705. Remove Mapi32_moz_bak.dll before backing up current Mapi32.dll.
git-svn-id: svn://10.0.0.236/branches/MAPI_SUPP_BRANCH@104420 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-02 20:52:02 +00:00
srilatha%netscape.com
a886420225 This is for private branch only
refining the temporary hack for the Word return problem.


git-svn-id: svn://10.0.0.236/branches/MAPI_SUPP_BRANCH@104381 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-02 01:34:54 +00:00
srilatha%netscape.com
8ab62eec86 This is for private branch only
Checking in for rdayal@netscape.com
Putting the exports for all Simple MAPI functions


git-svn-id: svn://10.0.0.236/branches/MAPI_SUPP_BRANCH@104355 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-01 23:11:45 +00:00
srilatha%netscape.com
aba7cb360c Checking in to private Branch only. part of simple MAPI implementation
Added methods to copy and restore mapi32.dll into system directory.


git-svn-id: svn://10.0.0.236/branches/MAPI_SUPP_BRANCH@104272 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-30 22:47:17 +00:00
srilatha%netscape.com
68d5d23e63 Checking in to private Branch only for Simple MAPI implementation
checking in for kkhandrika@netscape.com


git-svn-id: svn://10.0.0.236/branches/MAPI_SUPP_BRANCH@104271 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-30 22:45:31 +00:00
srilatha%netscape.com
1259b1bef0 This is for local branch only
Checking in for rdayal@netscape.com
Temporary fix for MS Word returning an error even though Mapi support interface returns success.
This is a temporory fix while we solve this known problem.


git-svn-id: svn://10.0.0.236/branches/MAPI_SUPP_BRANCH@104129 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-28 21:10:52 +00:00
srilatha%netscape.com
d6e6d7f8c2 read me file to build MAPI_SUPP_BRANCH only.
git-svn-id: svn://10.0.0.236/branches/MAPI_SUPP_BRANCH@104128 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-28 21:09:04 +00:00
srilatha%netscape.com
22bd24476e This is for a private branch only for MAPI_SUPPort
checking in for rdayal@netscape.com
makefile to make all the dirs and files for mapi support and mapi32.dll


git-svn-id: svn://10.0.0.236/branches/MAPI_SUPP_BRANCH@104127 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-28 21:06:58 +00:00
srilatha%netscape.com
0c4a06cd7d This checkin is for private branch only
Checking in for rdayal@netscape.com
This has fix for send mail called from Excel/Powerpoint which creates temp files for attachments


git-svn-id: svn://10.0.0.236/branches/MAPI_SUPP_BRANCH@104103 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-28 09:14:15 +00:00
srilatha%netscape.com
73408486f4 This is for private branch only.
Checking in for rdayal@netscape.com
This has the fix for Excel unable to call send as well as Word unable to call send


git-svn-id: svn://10.0.0.236/branches/MAPI_SUPP_BRANCH@104102 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-28 09:11:58 +00:00
srilatha%netscape.com
9a34911fa5 This checkin is for a private branch only.
Checking in for rdayal@netscape.com
Implementation of exported MAPISendMail and MAPISendDocuments functions in mapi32.dll


git-svn-id: svn://10.0.0.236/branches/MAPI_SUPP_BRANCH@104099 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-28 08:57:23 +00:00
srilatha%netscape.com
35a75f6aa8 This checkin is for private branch only.
Checking in for rdayal@netscape.com
This has the actual implementation for send mail and send doc for MAPI support.


git-svn-id: svn://10.0.0.236/branches/MAPI_SUPP_BRANCH@104098 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-28 08:34:39 +00:00
srilatha%netscape.com
3e280f4dc4 This is for private branch only.
Checking in for rdayal@netscape.com
Implementation of the interface methods for SendDoc and SendMail


git-svn-id: svn://10.0.0.236/branches/MAPI_SUPP_BRANCH@104097 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-28 08:32:47 +00:00
srilatha%netscape.com
1844782f3b Checkin for private branch only.
Checking in for rdayal@netscape.com
added the definition for SendDoc and SendMail implementation


git-svn-id: svn://10.0.0.236/branches/MAPI_SUPP_BRANCH@104096 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-28 08:31:37 +00:00
srilatha%netscape.com
9a23d5e734 This checkin for a the private branch only.
Checking in for rdayal@netscape.com
Added Mapi Support MS COM interface methods for SendDoc and SendMail


git-svn-id: svn://10.0.0.236/branches/MAPI_SUPP_BRANCH@104095 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-28 08:29:37 +00:00
srilatha%netscape.com
529b259b5f This is checkin for private branch.
Checking in for rdayal@netscape.com
added some comments


git-svn-id: svn://10.0.0.236/branches/MAPI_SUPP_BRANCH@104094 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-28 08:28:18 +00:00
srilatha%netscape.com
24fa594aba Need to Truncate(index + 1) since we need "\" in the end.
git-svn-id: svn://10.0.0.236/branches/MAPI_SUPP_BRANCH@104087 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-28 05:20:37 +00:00
srilatha%netscape.com
88d1e8fb85 This is a checkin for the private Branch only for MAPI Support implementation
This is the backend implementation of MAPI preferences.


git-svn-id: svn://10.0.0.236/branches/MAPI_SUPP_BRANCH@104078 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-28 02:44:14 +00:00
srilatha%netscape.com
8794c3a5d4 This is a checkin for the private Branch only for MAPI Support implementation.
This is the backend implementation of MAPI preferences.


git-svn-id: svn://10.0.0.236/branches/MAPI_SUPP_BRANCH@104074 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-28 02:41:53 +00:00
srilatha%netscape.com
ee76a9b98b This is a checkin for the private Branch only for MAPI Support implementation
checking in for kkhandrika@netscape.com.
This is the actual implementation of MAPI functionality.


git-svn-id: svn://10.0.0.236/branches/MAPI_SUPP_BRANCH@104073 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-28 02:36:09 +00:00
srilatha%netscape.com
40689c8215 This is a checkin for the private Branch only for MAPI Support implementation
checking in for kkhandrika@netscape.com.
This is the mozilla implementation for MAPI32.dll.


git-svn-id: svn://10.0.0.236/branches/MAPI_SUPP_BRANCH@104072 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-28 02:31:12 +00:00
srilatha%netscape.com
14588c1b8c This is a checkin for the private Branch only for MAPI Support implementation
checking in for kkhandrika@netscape.com. This is the idl that generates
the MAPI support COM component


git-svn-id: svn://10.0.0.236/branches/MAPI_SUPP_BRANCH@104071 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-28 02:29:30 +00:00
srilatha%netscape.com
241a749d4a This is a private Branch checkin for Simple MAPI implementation.
Checking in for kkhandrika@netscape.com.
This is the def file for the MAPI Support MSCOM proxy stub dll.


git-svn-id: svn://10.0.0.236/branches/MAPI_SUPP_BRANCH@104066 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-28 02:18:12 +00:00
(no author)
b177a67e3b This commit was manufactured by cvs2svn to create branch 'MAPI_SUPP_BRANCH'.
git-svn-id: svn://10.0.0.236/branches/MAPI_SUPP_BRANCH@103950 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-27 16:22:06 +00:00
srilatha%netscape.com
766d65fa78 Fix for smoketest blocker bugscape bug 9703.
r=dmose, sr=sspitzer a=granrose.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103379 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-20 23:34:31 +00:00
karnaze%netscape.com
2bed6f7a2b bug 68998 - added additional param to Paint, PaintChildren, PaintChild used by tables in standard mode. sr=waterson, r=alexsavulov.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103316 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-20 13:56:45 +00:00
rods%netscape.com
1db6f7b7c8 Make the default "submit"
Bug 59035 r=kmcclusk sr=attinasi


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103298 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-20 10:46:40 +00:00
srilatha%netscape.com
3ee4597b02 Fix for bug 95122 / 100668. part of the simple mapi UI checkin
sr=sspitzer. Fixing the js error and removing extra content from contents.rdf


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103278 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-20 05:15:19 +00:00
loadrunner%betak.net
a4a473d518 bug 97541, Enable multiple spellcheckers in mail/composer, r=cmanske, sr=kin, PDT+
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103274 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-20 04:40:24 +00:00
loadrunner%betak.net
6a6ab4e28f bug 97541, Enable multiple spellcheckers in mail/composer, r=cmanske, sr=kin, PDT+
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103272 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-20 04:31:53 +00:00
blakeross%telocity.com
a3e9b17f10 Turbo turns off if you go to the advanced panel and press ok without making any changes (99677). r=hewitt sr=ben everything+
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103269 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-20 04:01:01 +00:00
naving%netscape.com
253a49cd77 98391 r=bienvenu sr=sspitzer a=pdt. Made it so that the filtering still works to a local folder if
parent is renamed. The fix also includes the fix for 98470 because it is in the same code.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103267 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-20 03:53:07 +00:00
ccarlen%netscape.com
cd21c03664 Bug 99117 - account creation problems when using turbo mode. UnloadAccounts() resets some vars which needed to be reset and weren't. r=bhuvan,dp/sr=mscott/a=pdt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103260 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-20 02:20:08 +00:00
cltbld%netscape.com
cf126e08a2 #91990: changing default skin from 'classic/1.0' to 'modern/1.0' on MOZILLA_0_9_4_BRANCH (now owned by Netscape) r=jelwell, sr=sdagley.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103246 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-20 00:47:09 +00:00
ftang%netscape.com
d5205a0cbe move fix of 94319 from m92 branch to m94 branch per marek in pdt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103240 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-20 00:15:02 +00:00
kin%netscape.com
44f8952c2b Fix for bug #92215: [Table Printing] Mozilla crashes when printing the front page of slashdot
Modified nsBlockFrame::ReflowDirtyLines() so that it
removes any floaters on it's continuing frames list,
if they are on lines that are being pulled up.

r=dbaron@fas.harvard.edu  sr=waterson@netscape.com   a=pdt


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103235 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-19 23:10:21 +00:00
ducarroz%netscape.com
b4356e037d Fix for bug 96386. When a generic or unknown error occures while posting a message, we should report a post error instead of a send error. Also, the send unsent message listener should not display errors. Finally, the Display Send Report function should avoid displaying twice the same string. R=varada, sr=mscott
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103234 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-19 23:06:59 +00:00
gordon%netscape.com
dc98e60ad1 FIX bug 100216, crash in nsCacheService on shutdown. Added null pointer
check in nsCacheEntryDescriptor::RequestDataSizeChange(). r=gagan, sr=darin.

Also renamed cache directory preference per discussion in bug 78480. r=gagan
sr=darin.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103224 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-19 21:25:47 +00:00
jfrancis%netscape.com
12b282edd2 fixes 97797: empty solo list item won't indent. Changes to nsHTMLEditRules::WillMakeList() to not outsmart itself so badly. r=fm;sr=kin
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103223 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-19 20:57:12 +00:00
bnesse%netscape.com
9dc2508915 Landing fix for bug 92447 on branch. Internalize .cfg reading into prefs library. This also re-enables reading of the .cfg file which was broken by a checkin for bug 88844. r=miteh, sr=sfraser, a=PDT.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103209 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-19 18:47:32 +00:00
rpotts%netscape.com
913974ff70 bug #88229. moving patch from the 0.9.2 branch onto 0.9.4.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103186 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-19 06:58:34 +00:00
jst%netscape.com
a611c3fa27 Fixing bug 95840. Speeding up global property access in JS. r=mstoltz@netscape.com, sr=vidur@netscape.com, a=PDT
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103185 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-19 06:53:42 +00:00
mitesh%netscape.com
e2f91e0eef Fix for bug 99515 - AutoConfig event loop hangs during pref migration
r=danm and sr=alecf


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103182 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-19 05:08:18 +00:00
mitesh%netscape.com
e9812af9dd Fix for bug 97228 - Multiple appends of email addresses to the autoconfig URL
r=bnesse and sr=shaver


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103181 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-19 04:55:13 +00:00
kmcclusk%netscape.com
9391a7135e Protect against null view in nsViewManager::ProcessPendingUpdates. sr=mscott@netscape.com r=peterl@netscape.com a=jaimejr@netsca
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103166 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-19 01:33:20 +00:00
rangansen%netscape.com
ed6ff1f297 r=ddrinan sr=sr=kin@netscape.com PDT+=Jaime Rodriguez, Jr.
bug# 97719 - fixing broken crl expired warning dialog


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103165 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-19 00:56:23 +00:00
pinkerton%netscape.com
c8b90827ed work around bugs in CarbonLib's ::MenuSelect() with submenus. r=saari/sr=sfraser. bug#83639
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103163 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-19 00:42:07 +00:00
mscott%netscape.com
32e5e46df0 Landing 99491 onto the branch
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103152 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-19 00:09:14 +00:00
harishd%netscape.com
8f3d1f533b 98187 - Make sure that the end tag, inline element, does not close tags in the root tag list. r=heikki,sr-vidur,a=PDT.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103148 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-19 00:03:11 +00:00
mscott%netscape.com
68683e8186 Landing 91751 on the branch.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103144 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-18 23:59:30 +00:00
bienvenu%netscape.com
5226e443c4 fix regression in downloading messages for offline use and disabling commands when local message is loaded while offline r=naving, sr=sspitzer 99696 100124
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103143 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-18 23:49:51 +00:00
dp%netscape.com
1ffe13a4bb removing ^M at the end of line
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103141 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-18 23:47:34 +00:00
pchen%netscape.com
3aa4e8ee82 bugscape 8850, r=jag, sr=alecf, new mainWindow.dtd file that holds mainWindow* entities
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103140 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-18 23:44:24 +00:00
pchen%netscape.com
95fdb80ac3 bugscape 8850, r=jag, sr=alecf, bump minimum macos version to 8.6
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103139 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-18 23:43:39 +00:00
pchen%netscape.com
592d631348 buscape 8850, r=jag, sr=alecf, include mainWindow.dtd to get mainWindow entities
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103138 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-18 23:43:36 +00:00
pchen%netscape.com
5ad63473b5 buscape 8850, r=jag, sr=alecf, remove mainwindow entities from navigator.dtd (they're going into mainWindow.dtd)
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103137 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-18 23:43:33 +00:00
pchen%netscape.com
ca2930fef6 bugscape 8850, r=jag, sr=alecf, add mainWindow.dtd to jar file
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103136 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-18 23:43:29 +00:00
pchen%netscape.com
e042778097 bugscsape 8850, r=jag, sr=alecf, include mainwindow.dtd
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103135 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-18 23:43:26 +00:00
heikki%netscape.com
48e8dc3afe Bug 100106, XMLHttpRequest.responseText is empty if XML parser error. r=harishd, sr=vidur.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103134 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-18 23:43:08 +00:00
dp%netscape.com
ee5b88f504 bug 88844 preventing xpcom from double init on launch after turbo mode is enabled. Getting turbo mode initialized properly. r=law, sr=alec,seth
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103133 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-18 23:41:21 +00:00
heikki%netscape.com
da4c1220ad Bug 98597, second part, bogus events with XMLHttpRequest. Patch from vidur. r=heikki, sr=jst.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103132 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-18 23:37:22 +00:00
harishd%netscape.com
5d20e95a61 98645 - Added SELECT to the set of tags that cannot be crossed over when an end tag ( block-level ) tries to close it's matching open tag on the stack. r=heikki, sr=vidur,a=PDT
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103129 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-18 23:30:53 +00:00
harishd%netscape.com
1518265a7a 91744 - Avoid stack overflow by replacing recursion with a simple do-while. Removed unwanted assertions. r=heikki,sr=vidur,a=PDT
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103127 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-18 23:25:32 +00:00
yokoyama%netscape.com
8c85e4fcf1 bug 97224:Update UTF-8 for Unicode 3.01 conformance
maintaining a byte count.
/r=yokoyama, /sr=waterson


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103097 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-18 17:35:58 +00:00
bienvenu%netscape.com
e53aec46d1 checking in fix for 99510 from trunk
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103095 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-18 13:59:07 +00:00
(no author)
6887bc1966 This commit was manufactured by cvs2svn to create branch
'MOZILLA_0_9_4_BRANCH'.

git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103094 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-18 13:41:48 +00:00
peterv%netscape.com
9b5877a83a Fix for bug 99044 (Big memory leak in DOMHelper.cpp). r=Pike, sr=jst.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103085 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-18 10:12:28 +00:00
peterv%netscape.com
ba09c542b2 Fix for bug 85708 (Should support "text/xml" MIME media type). r=Pike, sr=jst.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103084 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-18 10:10:41 +00:00
srilatha%netscape.com
a66b153c53 Fix for bug # 95122. UI implementation for Simple MAPI.
r=rdayal, sr=sspitzer


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103081 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-18 05:48:42 +00:00
bienvenu%netscape.com
e65919336e checking in fix for 79245 from the trunk
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103077 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-18 04:52:24 +00:00
rpotts%netscape.com
e2f1a9bc9b bug #98844. Moving this patch over to 0.9.4 from 0.9.2...
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103076 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-18 04:33:15 +00:00
rpotts%netscape.com
c9465eb348 bug #98469 (r=pavlov@netscape.com, sr=jst@netscape.com, a=pdt). The _content window target does not always exist...
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103075 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-18 04:29:40 +00:00
jst%netscape.com
e45ffff2a7 Landing the fix for bug 98292 on the branch, implement image.x and .y. r=jrgm@netscape.com, sr=blizzard@mozilla.org
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103073 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-18 03:51:47 +00:00
bienvenu%netscape.com
c9bf14bd6f more landing of 81690 onto the branch
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103071 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-18 03:27:53 +00:00
waterson%netscape.com
2c7c8fa4ac Bug 97383. Include the float's max-element-width in computation of the line's max-element-width so that we're guaranteed to place content next to a left floater. Revert some of the NOWRAP changes that should no longer be necessary. r=dbaron, sr=attinasi, a=jaimejr
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103070 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-18 03:26:26 +00:00
mscott%netscape.com
7910b2e903 Landing XBL brutal sharing on the branch
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103066 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-18 02:30:04 +00:00
mscott%netscape.com
bda5786937 Landing XBL brutal sharing on the branch.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103065 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-18 02:29:29 +00:00
srilatha%netscape.com
bd8d4b80bc removing these old unused files
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103063 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-18 02:21:17 +00:00
oeschger%netscape.com
a9f8eb5255 updating some screenshots in the help content, bug=85925, pdt-stamped, author=jatin, r=oeschger
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103061 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-18 02:14:53 +00:00
heikki%netscape.com
a19dc671ba Bug 98597, bogus event with XMLHttpRequest, including crasher fix. Patch from vidur. r=heikki, sr=jst.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103053 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-18 01:00:22 +00:00
heikki%netscape.com
214d0bb707 Bug 78021, Copy Link Address broken for image maps (<area> elements), <link> elements and simple XLinks. r=harishd, sr=vidur.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103051 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-18 00:48:06 +00:00
attinasi%netscape.com
da71dddcd1 Fix for percentage-height images in shrink-wrapping containers. b=85016 r=karnaze sr=waterson a=pdt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103050 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-18 00:38:15 +00:00
ducarroz%netscape.com
c01dd3e2f6 Fix for bug 97256. Don't be case sensitive when checking for a RFC822 header!
Patch provided by Denis Antrushin <adu@sparc.spb.su>. R=ducarroz, SR=sspitzer


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103049 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-18 00:29:46 +00:00
kin%netscape.com
a1945a4b37 Fix for bug 98018: Impossible to delete text in textbox
nsEditor::CreateTxnForDeleteInsertionPoint() shouldn't
use count-1 when calculating isLast, in the non-text case.

r=jfrancis@netscape.com  sr=sfraser@netscape.com  a=pdt


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103047 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-18 00:18:34 +00:00
harishd%netscape.com
d6c7837d7e 98261 - Instead of throwing away the current tag close it's parent such that the stack level does not go beyond the reflow depth limit. This would allow leaf tags, that follow the current tag, to find the correct node. r=heikki, sr=attinasi.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103046 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-18 00:11:27 +00:00
harishd%netscape.com
7ab11a2910 98261 - reconcile the difference between the ContentSink's notion of depth and Layout's notion of depth. r=heikki, sr=attinasi.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103045 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-18 00:11:16 +00:00
sspitzer%netscape.com
918aedd742 fix for #98793. hack to pre-cache the unread / read / flagged / unflagged icons to work around a problem
between outliner and imagelib.  a=PDT/


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103037 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-17 23:41:16 +00:00
hewitt%netscape.com
3a6dcacb77 99102 - update skin versions in all contents.rdf, r=hyatt, sr=blake
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103036 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-17 23:40:50 +00:00
mscott%netscape.com
5d4c9c03c9 Landing 81690 on the branch for bienvenu.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103033 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-17 23:23:07 +00:00
mscott%netscape.com
1665532f16 Landing 84260 and 91352 onto the branch for bienvenu.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103031 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-17 23:20:33 +00:00
mscott%netscape.com
11f1c99c39 Landing Bug #96335 on the branch for bienvenu.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103030 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-17 23:17:34 +00:00
mscott%netscape.com
afd88479d3 Landing Bug #96631 on the branch for bienvenu.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103029 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-17 23:15:46 +00:00
attinasi%netscape.com
7168d1a8c3 Fixing erroneous addition to previously reviewed and approved patch: b=97619 r=bernd sr=waterson
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103028 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-17 23:14:43 +00:00
mscott%netscape.com
964dde1cad Landing Bug #99228 on the branch for bienvenu.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103027 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-17 23:13:44 +00:00
av%netscape.com
90e92c729e Fixing bug 98285 -- adding access to the service manager from plugins, r=beard, sr=vidur
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103024 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-17 23:02:32 +00:00
sspitzer%netscape.com
9c8e527cba fix for #98381. "Server:" -> "Account:" in subscribe UI. a=PDT,mcarlson
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103022 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-17 22:41:16 +00:00
tao%netscape.com
ccb1e2fd37 71517: Dynamically select platform jar in langxxxx.xpi. (r=jbetak,sr=mscott)
package en-{unix,win}.jar on mac, too.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103021 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-17 22:40:46 +00:00
gordon%netscape.com
d326ebbdba Fix bug 88768, [a=nisheeth], fixing unary operator usage.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103016 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-17 20:49:42 +00:00
mscott%netscape.com
5662ee8b97 Bug #99222 --> for compose auto complete, don't show the popup if we have an exact
match.
r=ducarroz
sr=sspitzer


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103013 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-17 20:36:29 +00:00
mscott%netscape.com
34fd65e72e Bug #99222 --> make the widget flexible enough to only show the popup if
there are  a certain # of results present in the list.
r=sspitzer
sr=hewitt


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103012 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-17 20:35:02 +00:00
mscott%netscape.com
1619de5a13 Bug #88315 --> select the first partial match when presented with multiple matches
r=ducarroz, sspitzer
sr=hewitt


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103009 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-17 20:32:31 +00:00
hyatt%netscape.com
cef8df4890 Fix for 96899, unable to see addresswes when scrolling up in mailcompose. r=mscott, sr=brendan
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103007 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-17 20:24:30 +00:00
sspitzer%netscape.com
c5d40fbb22 fix for #97585. if signature file pref points to a directory, don't hang
on msg compose. a=PDT


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103005 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-17 19:39:18 +00:00
sspitzer%netscape.com
c6e4cd4a0c fix for #98453. use "Mail & Newsgroups" consistently in the UI.
a=PDT,mcarlson


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@103002 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-17 19:25:33 +00:00
kaie%netscape.com
a0da673610 b=97614
Merging changes from NSS_CLIENT_TAG into MOZILLA_0_9_4_BRANCH for directory mozilla/security/nss.
a=pdt is covered by bug 96018


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102966 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-15 01:18:52 +00:00
cavin%netscape.com
6915c9b64f Bug #98294: In DiscoverChildren(), make sure we have a consistent server hierarchy delimiter. r=sspitzer, sr=mscott.
Bug #98433: In GetListOfFoldersWithPath(), if the folder path contains 'INBOX' of any forms, we need to convert it to uppercase before finding it under the root folder. r=naving, sr=mscott.
Bug #99101: In RenameLeaf(), unescape the folder name before searching for hierarchy delimiter (to figure out parent pathname). r=naving, sr=bienvenu.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102961 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-15 00:31:07 +00:00
pierre%netscape.com
d4ddf5b901 Bug 93371 "Treat classes case insensitively in quirks mode". Back out ianh's patch in nsCSSParser and nsHTMLAttributes. Implements case-insensitiveness in nsCSSStyleSheet as described in bug 35522. r=glazman (+dbaron/jst), sr=hyatt, a=grega for PDT/asa for drivers
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102959 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-14 23:52:15 +00:00
ssu%netscape.com
bec02d74b7 fixing bug 99340's part regarding turbo settings in installer not retained when running installer in silent/auto modes. r=dveditz,syd sr=mscott, a=pdt+ affects windows platforms only.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102938 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-14 20:54:54 +00:00
kaie%netscape.com
fbf8f97a35 b=96018 r=ddrinan sr=blake a=pdt
New "Reset Master Password" functionality, for users who have forgotten their password.

b=99525 r=ddrinan/morse/relyea sr=blizzard a=pdt
Completing feature added with bug 96018.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102931 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-14 20:36:20 +00:00
cotter%netscape.com
9f0ad3c850 privacy & security help updates per b=85925 (a=asa, r=oeschger) and b=96018 (PDT+)
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102930 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-14 20:34:02 +00:00
(no author)
7cb1660860 This commit was manufactured by cvs2svn to create branch
'MOZILLA_0_9_4_BRANCH'.

git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102925 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-14 20:19:30 +00:00
gerv%gerv.net
cb6a00d0dd Prevent problems with NS initial start page appearing, by renaming pref. Bug 99441. r=syd, gerv, sr=jband, a=asa. This will be backed out immediately after 0.9.4 ships.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102880 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-13 17:53:45 +00:00
gerv%gerv.net
19a5fead7d Prevent problems with NS initial start page appearing, by renaming pref. Bug 99441. r=syd, gerv, sr=jband. This will be backed out immediately after 0.9.4 ships.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102878 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-13 16:57:41 +00:00
law%netscape.com
62f334a0a2 Applying fixes for bug 88844 and bug 89532 to the mozilla0.9.4 branch.
These changes also fix some other minor turbo-mode bugs.
These changes have all been reviewed and super-reviewed prior to being
checked in on the trunk; see the bugs for details.

a=asa for applying the fix to the branch.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102867 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-13 12:01:25 +00:00
ssu%netscape.com
102a2724fa fixing bug 99340 - Installer dies with error 2 under Win9x. r=syd,dveditz sr=mscott a=asa. not part of tinderbox builds. affects windows installers only.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102833 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-12 20:59:48 +00:00
brendan%mozilla.org
a5cae88f2e Checking in bstell@netscape.com's patch for bug 95906, r=jag, sr=me, a=asa.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102826 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-12 20:36:53 +00:00
cmanske%netscape.com
e327210730 Fixing dataloss bug 98768, r=syd, sr=kin, a=roc+moz
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102817 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-12 19:21:33 +00:00
blizzard%redhat.com
80626e227e Fix bug #97620. Crash unloading -turbo mozilla from tray icon. r/sr=ben,rpotts,brendan,me
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102816 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-12 19:11:20 +00:00
kaie%netscape.com
adf70abbbb b=99052 r=nelsonb a=asa on irc
Fix crash in NSS during SSL handshake


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102806 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-12 16:17:01 +00:00
blakeross%telocity.com
498ce0aaf9 Committing a file I forgot yesterday in an r/sr/a'd checkin (caused an xml error when opening the addressbook sidebar panel).
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102780 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-12 01:00:14 +00:00
shanjian%netscape.com
5e0af0ccdd #90581 universal charset detector does not work in mail/news
r=yokoyama, sr=waterson, a=roc+moz


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102779 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-12 00:37:53 +00:00
waterson%netscape.com
de0910f6ee Bug 72152. Be sure to update the pres context's visible area after doing a resize reflow. r=dbaron, sr=attinasi, a=blizzard
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102765 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-11 22:24:01 +00:00
timeless%mac.com
b61fa5b60e Bugzilla Bug 85543 Extra blank box to the left of 'Done.' on mac classic skin.
r=ksosez sr=blake a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102753 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-11 08:52:58 +00:00
jaggernaut%netscape.com
8efa6975cc Bug 91884, 91788 & 91571: reverting code from 91884 and checking in the fix we had in NS 6.1 / 0.9.2.1. r=reverting code, sr=hyatt, a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102750 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-11 07:29:39 +00:00
peterlubczynski%netscape.com
9695eac077 Use memmove instead of strncpy bug 98705 r=av sr=attinasi a=roc+moz
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102735 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-11 03:28:00 +00:00
cmanske%netscape.com
fbb7e7472a New strings needed in case full fix for bug 72583 is approved, r=brade, sr=kin, a=grega
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102717 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-11 00:59:05 +00:00
leaf%mozilla.org
32f3806bf0 mac version update and user agent string update, bug 93164, sr=mscott, a,r=dbaron
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102710 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-11 00:28:38 +00:00
syd%netscape.com
3fbb2b5028 Fix typo in last checkin, wanted "Quick Launch", not "QuickLaunch"
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102709 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-11 00:17:32 +00:00
syd%netscape.com
373281325e Commercial addition for bug 97380. Looking at the bug, appropriate reviews and
such have been given for the mozilla version. Also, bug number 98594.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102707 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-11 00:04:56 +00:00
attinasi%netscape.com
07d3891457 Fix for image wrapping problems in table cells. b=97619 r=bernd sr=waterson
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102689 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-10 22:57:07 +00:00
blakeross%telocity.com
ce34146fa4 App sometimes hangs when scrolling addressbook panel (99121). r=hwaara,varada sr=sspitzer a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102677 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-10 22:03:47 +00:00
dbaron%fas.harvard.edu
2e1a9bce6d Null checks for topcrash 99056. r=jag sr=waterson a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102673 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-10 21:45:40 +00:00
dbaron%fas.harvard.edu
e68b30e16e Null check to fix topcrash 97226. r=hixie sr=waterson a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102672 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-10 21:43:32 +00:00
robinf%netscape.com
f75f2c964a routine help updates per bug 85923; r=oeschger@netscape.com, a=adot@netscape.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102660 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-10 20:29:07 +00:00
oeschger%netscape.com
3cc3b02e9f adding help key for content updates, a=asa, bug=85925, r=cotter
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102625 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-10 00:55:46 +00:00
cls%seawood.org
43082cc7d3 Replace cat<<EOF with echos to avoid potential security risk with predictable /tmp files.
Thanks to Ashu Kulkarni <ashuk@eng.sun.com> for the patch.
Bug #98723 r=cls a=blizzard


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102593 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-08 19:16:27 +00:00
yokoyama%netscape.com
84ca3e46fc Bug 91193
makefile.win change
renaming from universalautochrdet.dll to universalautochardet.dll
/r=ftang;/sr=waterson;/a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102557 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-07 23:06:12 +00:00
waterson%netscape.com
b71a0d4153 Bug 55086. Change nsContainerFrame::PositionFrameView() to position child views. Eliminate the |aView| parameter from that method, because the view can be retrieved from the frame and need not be done by the caller. Eliminate the NS_FRAME_NO_MOVE_CHILD_VIEWS flag, which was read-only; i.e., never set by anyone. r=dbaron, sr=attinasi, a=asa.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102541 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-07 21:21:25 +00:00
sspitzer%netscape.com
88232d9b3d fix for #98660. don't call PR_GetEnv("PARSE_MODE") a bunch of times if we don't have to.
r=dbaron, sr=sfraser, a=blizzard


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102537 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-07 20:36:15 +00:00
axel%pike.org
8532c1fd58 bug 94834, --without-png and --without-mng leads to DIRS=' ', r=pavlov, sr=jst, a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102523 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-07 10:16:49 +00:00
attinasi%netscape.com
18603b97ef two approved bugs:
1) prevent list item bullets from resizing in Quirks mode (IE compat). b=97351 r=pierre sr=waterson a=drivers
2) fix collapsing margins of empty elements in BODY and TD in Quirks mode. b=97361 r=pierre sr=hyatt a=drivers


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102513 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-07 04:10:39 +00:00
bstell%netscape.com
137b5e30b9 bug 97533, patch by dbaron@fas.harvard.edu, r=bstell, sr=blizzard
check return status from getIntPref


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102512 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-07 04:06:54 +00:00
kaie%netscape.com
574b31e2c7 b=87578 r=ddrinan sr=blizzard a=asa
Enable a user to use (or switch to) an empty security password, i.e. no password at all.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102490 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-07 00:05:22 +00:00
kaie%netscape.com
e127df6817 b=93103 r=ddrinan/relyea sr=blizzard a=asa
Enable display of complete chains when viewing certificates.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102488 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-06 23:54:06 +00:00
shanjian%netscape.com
1b9e0a9dbb #97516 crash in nsRenderingContextWin::GetWidth() in certain situation
r=rbs, sr=waterson, a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102482 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-06 23:12:42 +00:00
pinkerton%netscape.com
4c002b41db allow changing of the label of a submenu. r=saari/sr=smfr/a=asa. bug# 97549.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102476 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-06 22:49:55 +00:00
waterson%netscape.com
1b7655115b Bug 98456. Fix makefile so that meta-modules build. r=dp, sr=cls, a=asa.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102466 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-06 21:54:43 +00:00
gerv%gerv.net
3b9e749579 Set start page override and home page to be http://www.mozilla.org/start , a page encouraging people to get involved with Mozilla. r,a=asa.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102463 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-06 21:44:35 +00:00
jj%netscape.com
9ede8deaa5 #4830: turning traceback off in optimized builds on MOZILLA_0_9_4_BRANCH
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102462 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-06 21:43:19 +00:00
kin%netscape.com
c926a9ad82 Fix for bug #97387: WRMB:iframe with frameborder="no" does not work
Call ParseFrameborderValue() with value returned from InNavQuirksMode(),
instead of hardcoded PR_TRUE.

r=karnaze@netscape.com  sr=attinasi@netscape.com  a=asa@mozilla.org


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102439 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-06 20:13:46 +00:00
varada%netscape.com
d63d20c4e9 fix for bug#82120;disable editable fields during sending of mail;r=cmanske;sr=sspitzer;a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102432 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-06 19:22:37 +00:00
cotter%netscape.com
87a35d18c4 privacy & security help content update per b=85925, a=asa, r=oeschger
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102427 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-06 19:08:50 +00:00
cotter%netscape.com
58bb911f81 privacy & security help content updates per b=85925, a=asa, r=oeschger
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102426 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-06 19:01:41 +00:00
dbaron%fas.harvard.edu
1fc4f6cf6d Fix topcrash bug 96563 by reading only the number of characters of string that we have, rather than double that number. r=pavlov sr=blizzard a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102411 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-06 16:16:13 +00:00
karnaze%netscape.com
1322ba0abd bug 95688 - check for null base url, possibly fixing talkback reported errors, sr=kin, r=alexsavulov
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102408 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-06 14:13:17 +00:00
blizzard%redhat.com
276b070725 Bug #97851. Fix security permissions on temporary file created when doing file uploads. r=pete, sr=waterson, a=dbaron
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102389 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-06 06:09:09 +00:00
jst%netscape.com
d1ebb0777f Fixing bug 62613. Making CSSStyleDeclaration objects appear as arrays in JS. patch by Fabian <hidday@geocities.com>, r=harishd@netscape.com, sr=jst@netscape.com, a=asa@mozilla.org
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102387 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-06 05:30:42 +00:00
mkaply%us.ibm.com
c5fed3e06b No bug
r=mkaply, sr=blizzard, a=asa for drivers
OS/2 only - code from javier - more font improvements - better scaling and text zoom for bitmap fonts


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102382 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-06 03:59:10 +00:00
mkaply%us.ibm.com
19d0f57a0f No bug
r=mkaply, sr=blizzard, a=asa for drivers
OS/2 only - Got these reversed - on OS/2, NEWFRAME is used at the end of a page, not the beginning


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102381 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-06 03:58:24 +00:00
jband%netscape.com
93c47a625f fix bug 97444. It is not good to patch a different fun into the frame. Let's safely shunt aside the callee frame instead. This is already on in the trunk. r=rogerl sr=brendan a=asa.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102370 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-06 02:18:43 +00:00
brendan%mozilla.org
4892be5264 Don't cache chrome scripts unless their master document URL is chrome too (we need the prototype cache to root the script objects; 98207, sr=jband&waterson, a=asa).
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102368 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-06 02:01:40 +00:00
av%netscape.com
703d584111 Fix for bug 86642 -- crash in DOMMimeTypeImpl::DOMMimeTypeImpl() when plugin doesn't set some fields in its version stamp, r=peterl, sr=attinasi, a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102346 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-06 00:04:31 +00:00
yokoyama%netscape.com
65b6908093 Bug 96318:
Fixing accident removal of nsIFontPackageService
/ftang;/sr=waterson;/a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102345 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-06 00:01:37 +00:00
peterlubczynski%netscape.com
9e99e7738f Fix for not setting reflow state on object frame in printing case bug 97563 r=av sr=attinasi a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102298 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-05 14:51:43 +00:00
cls%seawood.org
055359c675 Updating module dependencies caused by checkin for bug 97380
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102290 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-05 08:41:48 +00:00
cls%seawood.org
7301a8096a Deactivate sidebar panels when the panel is not selected.
Special thanks to matt@netscape.com for providing this patch.
Bug #53239 r=cls sr=ben a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102286 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-05 07:58:16 +00:00
sspitzer%netscape.com
4c2fcd5edd fix for #88970. new thread pane icons. r,sr=sspitzer,hewitt, a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102280 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-05 07:04:32 +00:00
sspitzer%netscape.com
16f4fe9967 fix for #92429. new alert icons. sr=hewitt, a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102279 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-05 07:03:45 +00:00
edburns%acm.org
fda7a2186a bug=97930
r=peterl
sr=waterson
a=asa


modules/plugin/base/src/nsIPluginInstanceOwner.h
modules/plugin/base/src/nsPluginHostImpl.cpp
modules/plugin/base/src/nsPluginHostImpl.h
modules/plugin/base/src/nsPluginViewer.cpp
modules/oji/src/nsJVMManager.cpp
modules/oji/src/nsJVMManager.h
layout/html/base/src/nsObjectFrame.cpp
xpfe/global/resources/locale/en-US/region.properties


Here's what I did to fix this bug.

I pestered Rick Potts about the problem of
nsIWebBrowserChrome->SetStatus() not being synchronous. He fixed that
under bug 97227.

Taking advantage of Rick's fix to 97227, I modified
nsIPluginInstanceOwner to have new method, ShowStatus(const PRUnichar
*aStatusMsg). This is necessary to allow for localized messages to be
posted from the plugin, such as "Starting plugin for type
application/x-java-vm" or "Beginnen steckbar für Art
application/x-java-vm".

I modified all the implementations of nsIPluginInstanceOwner:

layout/html/base/src/nsObjectFrame.cpp
modules/plugin/base/src/nsPluginViewer.cpp

I inserted a call to nsIPluginInstanceOwner->ShowStatus() at the part
just before the big "whole damn app freezes when starting java" thing
happens.

I also modifed nsJVMManager.cpp ShowJavaConsole() to do the same. These
are the two places I know of now that can start java.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102274 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-05 06:40:01 +00:00
ftang%netscape.com
90bc0fe117 fix bug 98233. back out change to 56863
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102245 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-05 01:23:06 +00:00
leaf%mozilla.org
3f49f9c396 pull from the branch
git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102215 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-04 22:58:51 +00:00
(no author)
ab3d5d6cb7 This commit was manufactured by cvs2svn to create branch
'MOZILLA_0_9_4_BRANCH'.

git-svn-id: svn://10.0.0.236/branches/MOZILLA_0_9_4_BRANCH@102203 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-04 05:25:09 +00:00
54211 changed files with 6649 additions and 10722123 deletions

View File

@@ -1 +0,0 @@
CVSROOT/history

View File

@@ -1,4 +0,0 @@
If you change the modules file, you *MUST* run:
check-modules.pl modules
*before* cvs committing the new modules file.

View File

@@ -1,257 +0,0 @@
#!/usr/bin/env perl
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is this file as it was released upon February 25, 1999.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1999 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# check-modules.pl - Check cvs modules file for duplicates and syntax errors.
#
# TODO:
# - Parse output of 'cvs co -c' command in addition to the raw file.
#
# Send comments, improvements, bugs to Steve Lamm (slamm@netscape.com).
# $Id: check-modules.pl,v 1.1 2000-06-01 11:03:22 leaf%mozilla.org Exp $
require 5.004;
use Getopt::Std;
sub usage
{
my ($progname) = $0 =~ /([^\/]+)$/;
die "Usage: $progname [options] [<module_file>]
Reads from stdin if no file is given.
Options:
-v Verbose. Print the modules and what they include.
-h Print this usage message.
";
}
&usage if !getopts('hv');
&usage if defined($opt_h);
######################################################################
# begin main
# The subroutine &parse_input creates the globals @module_names,
# %module_tree, and %line_number (described below).
&parse_input;
foreach $module (@module_names)
{
&check_module($module);
}
# end main
######################################################################
# begin subroutines
sub parse_input
{
# Globals created:
# @module_names - List of module names in the order they are seen.
# %module_tree - Hash table of lists. Keys are module names.
# Values are lists of module names and diretories.
# %line_number - Hash indexed by module name and module item.
# Values are line numbers.
@module_names = ();
%module_tree = ();
%line_number = ();
while (<>)
{
next if /^\#/ || /^\s*$/;
# Check for a module definition
if (/^([_a-zA-Z0-9]+)\s+(?:-l\s+)?-a\s*(.*)$/)
{
my ($module_name) = $1;
my (@sub_items) = ();
my ($line) = $2;
push @module_names, $module_name;
# Read line continuations (i.e. lines with '\' on the end).
while ($line =~ /\\$/)
{
chomp $line;
$line =~ s/^\s*(.*?)\s*\\$/$1/;
if (length($line) > 0)
{
my (@line_items) = split(/\s+/, $line);
push @sub_items, @line_items;
&save_line_numbers($module_name, $., @line_items);
}
$line = <>;
}
chomp $line;
$line =~ s/^\s*(.*?)\s*$/$1/;
my (@line_items) = split(/\s+/, $line);
push @sub_items, @line_items;
&save_line_numbers($module_name, $., @line_items);
$module_tree{$module_name} = \@sub_items;
}
else
{
die "Unexpected input: line $.: $_\n";
}
}
}
sub check_module
{
my ($module) = $_[0];
my ($sub_module, $sub_dir, $prev_module);
# Globals created:
# %have_checked - List of modules already checked.
# %full_list - All the directories for a module.
# Indexed by module and sub directory.
# Values are the module that added the directory.
return if defined($have_checked{$module});
$full_list{$module} = {};
foreach $sub_module ( &get_modules($module) )
{
&check_module($sub_module);
# Add the directories of the sub_module to this module
while (($sub_dir, $prev_module) = each %{$full_list{$sub_module}})
{
$full_list{$module}{$sub_dir} = $prev_module;
}
}
foreach $sub_dir ( &get_directories($module) )
{
if (defined($full_list{$module}{$sub_dir}))
{
my ($previous_module) = $full_list{$module}{$sub_dir};
&warn_multiple($sub_dir, $module, $previous_module);
}
else
{
$full_list{$module}{$sub_dir} = $module;
# Check if parent or child of directory was previously added
#
&check_inclusion($sub_dir, $module);
}
}
if (defined($opt_v))
{
print "$module\n";
while (($sub_dir, $prev_module) = each %{$full_list{$module}})
{
print " $sub_dir, $prev_module\n";
}
}
$have_checked{$module} = 1;
}
sub get_modules
{
my ($module) = $_[0];
my (@output) = ();
my ($sub_item);
foreach $sub_item ( @{ $module_tree{$module} } )
{
push @output, $sub_item if defined($module_tree{$sub_item});
}
return @output;
}
sub get_directories
{
my ($module) = $_[0];
my (@output) = ();
my ($sub_item);
foreach $sub_item ( @{ $module_tree{$module} } )
{
push @output, $sub_item unless defined($module_tree{$sub_item});
}
return @output;
}
sub save_line_numbers
{
my ($module, $line_num, @sub_items) = @_;
my ($sub_item);
foreach $sub_item (@sub_items)
{
if (defined($line_number{$module}{$sub_item}))
{
$line_number{$module}{$sub_item} =
"$line_number{$module}{$sub_item}, $line_num";
}
else
{
$line_number{$module}{$sub_item} = $line_num;
}
}
}
sub warn_multiple
{
my ($sub_item, $module, $previous_module) = @_;
my ($line_txt) = '';
my (@lines) = split(', ', $line_number{$module}{$sub_item});
push(@lines, split(', ', $line_number{$previous_module}{$sub_item}))
unless $previous_module eq $module;
$line_txt = "lines ".join(', ', sort { $a <=> $b } @lines);
warn "Error: Multiple listing: $line_txt: $sub_item.\n";
}
sub check_inclusion
{
my ($sub_dir, $module) = @_;
my ($dir);
foreach $dir (keys %{$full_list{$module}})
{
next if $dir eq $sub_dir;
if (length($dir) < length($sub_dir))
{
my ($temp) = $sub_dir;
$sub_dir = $dir;
$dir = $temp;
}
if ($dir =~ /^$sub_dir\//)
{
warn "Warning: $dir (line "
.$line_number{$full_list{$module}{$dir}}{$dir}
.") pulled by $sub_dir (line "
.$line_number{$full_list{$module}{$sub_dir}}{$sub_dir}
.")\n";
}
}
}

View File

@@ -1,21 +0,0 @@
# The "checkoutlist" file is used to support additional version controlled
# administrative files in $CVSROOT/CVSROOT, such as template files.
#
# The first entry on a line is a filename which will be checked out from
# the corresponding RCS file in the $CVSROOT/CVSROOT directory.
# The remainder of the line is an error message to use if the file cannot
# be checked out.
#
# File format:
#
# [<whitespace>]<filename><whitespace><error message><end-of-line>
#
# comment lines begin with '#'
passwd
readers
commitcheck.pl
dolog.pl
FilesToNotExport
cvsmailfilter.pl
sendnotification.pl
readonlyusers.pl

View File

@@ -1,711 +0,0 @@
#!/usr/bin/perl --
# DO NOT EDIT THIS FILE! You must instead go to https://despot.mozilla.org/, and
# tweak things from there.
$mode{'180'} = 'Closed';
$branch{'180'} = 'HEAD';
$fullname{'180'} = 'accessibility';
$blessed{'180'} = ['aaronleventhal%moonset.net',];
$super{'180'} = ['marco.zehe%googlemail.com','ginn.chen%sun.com','dbolter%mozilla.com','surkov.alexander%gmail.com',];
$mode{'188'} = 'Open';
$branch{'188'} = 'HEAD';
$fullname{'188'} = 'Application Suite';
$mode{'190'} = 'Closed';
$branch{'190'} = 'HEAD';
$fullname{'190'} = 'Bugzilla';
$blessed{'190'} = ['wurblzap%gmail.com','olav%bkor.dhs.org','lpsolit%gmail.com','ghendricks%novell.com',];
$super{'190'} = ['bzrmirror%bugzilla.org','justdave%bugzilla.org',];
$mode{'204'} = 'Closed';
$branch{'204'} = 'BUGZILLA-2_18-BRANCH';
$fullname{'204'} = 'Bugzilla2.18';
$blessed{'204'} = [];
$super{'204'} = ['justdave%bugzilla.org',];
$mode{'191'} = 'Closed';
$branch{'191'} = 'BUGZILLA-2_20-BRANCH';
$fullname{'191'} = 'Bugzilla2.20';
$blessed{'191'} = ['myk%mozilla.org','wurblzap%gmail.com','vladd%bugzilla.org','olav%bkor.dhs.org','ghendricks%novell.com',];
$super{'191'} = ['mkanat%bugzilla.org','lpsolit%gmail.com','justdave%bugzilla.org',];
$mode{'203'} = 'Closed';
$branch{'203'} = 'BUGZILLA-2_22-BRANCH';
$fullname{'203'} = 'Bugzilla2.22';
$blessed{'203'} = ['wurblzap%gmail.com','vladd%bugzilla.org','reed%reedloden.com','olav%bkor.dhs.org','myk%mozilla.org','ghendricks%novell.com',];
$super{'203'} = ['mkanat%bugzilla.org','lpsolit%gmail.com','justdave%bugzilla.org',];
$mode{'212'} = 'Closed';
$branch{'212'} = 'BUGZILLA-3_0-BRANCH';
$fullname{'212'} = 'Bugzilla3.0';
$blessed{'212'} = ['wurblzap%gmail.com','vladd%bugzilla.org','olav%bkor.dhs.org','myk%mozilla.org','ghendricks%novell.com',];
$super{'212'} = ['mkanat%bugzilla.org','lpsolit%gmail.com','justdave%bugzilla.org',];
$mode{'217'} = 'Closed';
$branch{'217'} = 'BUGZILLA-3_2-BRANCH';
$fullname{'217'} = 'Bugzilla3.2';
$blessed{'217'} = ['wurblzap%gmail.com','vladd%bugzilla.org','olav%bkor.dhs.org','myk%mozilla.org','ghendricks%novell.com',];
$super{'217'} = ['mkanat%bugzilla.org','lpsolit%gmail.com','justdave%bugzilla.org',];
$mode{'220'} = 'Closed';
$branch{'220'} = 'BUGZILLA-3_4-BRANCH';
$fullname{'220'} = 'Bugzilla3.4';
$blessed{'220'} = ['wurblzap%gmail.com','olav%bkor.dhs.org','ghendricks%novell.com','dlawrence%mozilla.com',];
$super{'220'} = ['mkanat%bugzilla.org','lpsolit%gmail.com','justdave%bugzilla.org',];
$mode{'214'} = 'Open';
$branch{'214'} = 'HEAD';
$fullname{'214'} = 'Build and Release Tools';
$mode{'55'} = 'Open';
$branch{'55'} = 'HEAD';
$fullname{'55'} = 'Build Config';
$mode{'226'} = 'Open';
$branch{'226'} = 'HEAD';
$fullname{'226'} = 'Build Config: comm-central';
$mode{'183'} = 'Open';
$branch{'183'} = 'HEAD';
$fullname{'183'} = 'calendar';
$mode{'210'} = 'Open';
$branch{'210'} = 'HEAD';
$fullname{'210'} = 'camino';
$mode{'211'} = 'Open';
$branch{'211'} = 'HEAD';
$fullname{'211'} = 'ChatZilla';
$mode{'146'} = 'Restricted';
$branch{'146'} = 'NSPRPUB_PRE_4_2_CLIENT_BRANCH';
$fullname{'146'} = 'Client NSPR';
$blessed{'146'} = ['sgautherie.bz%free.fr','mozilla%weilbacher.org','kaie%kuix.de','julien.pierre.boogz%sun.com','gerv%gerv.net','alexei.volkov.bugs%sun.com','unai.gaston%sun.com',];
$super{'146'} = ['ted.mielczarek%gmail.com','wtc%google.com','nelson%bolyard.com',];
$mode{'213'} = 'Open';
$branch{'213'} = 'HEAD';
$fullname{'213'} = 'Code Analysis and Debugging Tools';
$mode{'56'} = 'Open';
$branch{'56'} = 'HEAD';
$fullname{'56'} = 'Composer';
$mode{'171'} = 'Open';
$branch{'171'} = 'HEAD';
$fullname{'171'} = 'Cookies and Permissions';
$mode{'4'} = 'Open';
$branch{'4'} = 'HEAD';
$fullname{'4'} = 'default';
$defaultid = '4';
$mode{'3'} = 'Closed';
$branch{'3'} = 'HEAD';
$fullname{'3'} = 'despotaccess';
$blessed{'3'} = [];
$super{'3'} = ['justdave%bugzilla.org','despotdaemon',];
$mode{'59'} = 'Open';
$branch{'59'} = 'HEAD';
$fullname{'59'} = 'Directory SDK';
$mode{'101'} = 'Open';
$branch{'101'} = 'HEAD';
$fullname{'101'} = 'docshell';
$mode{'103'} = 'Open';
$branch{'103'} = 'HEAD';
$fullname{'103'} = 'Document Object Model';
$mode{'184'} = 'Open';
$branch{'184'} = 'HEAD';
$fullname{'184'} = 'DOM Inspector';
$mode{'208'} = 'Open';
$branch{'208'} = 'HEAD';
$fullname{'208'} = 'Embedding';
$mode{'181'} = 'Open';
$branch{'181'} = 'HEAD';
$fullname{'181'} = 'Find As You Type';
$mode{'166'} = 'Open';
$branch{'166'} = 'HEAD';
$fullname{'166'} = 'Firefox';
$mode{'182'} = 'Open';
$branch{'182'} = 'HEAD';
$fullname{'182'} = 'Global Key Bindings';
$mode{'201'} = 'Open';
$branch{'201'} = 'HEAD';
$fullname{'201'} = 'Graphics';
$mode{'144'} = 'Open';
$branch{'144'} = 'HEAD';
$fullname{'144'} = 'GTK Embedding Widget';
$mode{'102'} = 'Open';
$branch{'102'} = 'HEAD';
$fullname{'102'} = 'HTML Parser';
$mode{'67'} = 'Open';
$branch{'67'} = 'HEAD';
$fullname{'67'} = 'I18N Library';
$mode{'63'} = 'Open';
$branch{'63'} = 'HEAD';
$fullname{'63'} = 'ImageLib';
$mode{'130'} = 'Open';
$branch{'130'} = 'HEAD';
$fullname{'130'} = 'Java APIs for DOM';
$mode{'127'} = 'Open';
$branch{'127'} = 'HEAD';
$fullname{'127'} = 'Java APIs to WebShell';
$mode{'68'} = 'Open';
$branch{'68'} = 'HEAD';
$fullname{'68'} = 'Java Stubs';
$mode{'128'} = 'Open';
$branch{'128'} = 'HEAD';
$fullname{'128'} = 'Java to XPCOM Bridge';
$mode{'133'} = 'Open';
$branch{'133'} = 'HEAD';
$fullname{'133'} = 'Java Utility Classes';
$mode{'129'} = 'Open';
$branch{'129'} = 'HEAD';
$fullname{'129'} = 'Java-Implemented Plugins';
$mode{'70'} = 'Restricted';
$branch{'70'} = 'HEAD';
$fullname{'70'} = 'JavaScript';
$blessed{'70'} = ['vladimir%pobox.com','timeless%mozdev.org','sayrer%gmail.com','reed%reedloden.com','peterv%propagandism.org','pavlov%pavlov.net','jst%mozilla.org','jruderman%hmc.edu','jag%tty.nl','gerv%gerv.net','gavin%gavinsharp.com','dveditz%cruzio.com','dbaron%dbaron.org','daumling%adobe.com','cls%seawood.org','bzbarsky%mit.edu','bryner%brianryner.com','benjamin%smedbergs.us','bclary%bclary.com',];
$super{'70'} = ['shaver%mozilla.org','mrbkap%gmail.com','lwagner%mozilla.com','jwalden%mit.edu','jorendorff%mozilla.com','igor%mir2.org','graydon%mozilla.com','crowder%fiverocks.com','brendan%mozilla.org',];
$mode{'207'} = 'Open';
$branch{'207'} = 'HEAD';
$fullname{'207'} = 'JavaScript Debugger Backend';
$mode{'223'} = 'Open';
$branch{'223'} = 'HEAD';
$fullname{'223'} = 'js-ctypes';
$mode{'114'} = 'Open';
$branch{'114'} = 'HEAD';
$fullname{'114'} = 'js-tests';
$mode{'98'} = 'Open';
$branch{'98'} = 'HEAD';
$fullname{'98'} = 'Layout Engine';
$mode{'221'} = 'Open';
$branch{'221'} = 'HEAD';
$fullname{'221'} = 'libjar';
$mode{'72'} = 'Open';
$branch{'72'} = 'HEAD';
$fullname{'72'} = 'LiveConnect';
$mode{'123'} = 'Open';
$branch{'123'} = 'HEAD';
$fullname{'123'} = 'Mail and News Backend';
$mode{'165'} = 'Open';
$branch{'165'} = 'HEAD';
$fullname{'165'} = 'MathML';
$mode{'124'} = 'Open';
$branch{'124'} = 'HEAD';
$fullname{'124'} = 'MIME';
$mode{'157'} = 'Open';
$branch{'157'} = 'HEAD';
$fullname{'157'} = 'Movemail';
$mode{'19'} = 'Open';
$branch{'19'} = 'HEAD';
$fullname{'19'} = 'mozilla-toplevel';
$mode{'77'} = 'Open';
$branch{'77'} = 'HEAD';
$fullname{'77'} = 'NetLib';
$mode{'78'} = 'Restricted';
$branch{'78'} = 'HEAD';
$fullname{'78'} = 'NSPR';
$blessed{'78'} = ['gerv%gerv.net','mozilla%weilbacher.org','kaie%kuix.de','christophe.ravel.bugs%sun.com','bsmith%mozilla.com','alexei.volkov.bugs%sun.com',];
$super{'78'} = ['ted.mielczarek%gmail.com','wtc%google.com','nelson%bolyard.com',];
$mode{'163'} = 'Restricted';
$branch{'163'} = 'NSS_3_11_BRANCH';
$fullname{'163'} = 'NSS Stable Release Branch';
$blessed{'163'} = ['gerv%gerv.net','douglas%stebila.ca',];
$super{'163'} = ['slavomir.katuscak%sun.com','kaie%kuix.de','glen.beasley%sun.com','emaldona%redhat.com','christophe.ravel.bugs%sun.com','alexei.volkov.bugs%sun.com','wtc%google.com','rrelyea%redhat.com','nelson%bolyard.com','julien.pierre.boogz%sun.com',];
$mode{'162'} = 'Open';
$branch{'162'} = 'HEAD';
$fullname{'162'} = 'P3P';
$mode{'209'} = 'Open';
$branch{'209'} = 'HEAD';
$fullname{'209'} = 'Party Tool';
$mode{'225'} = 'Open';
$branch{'225'} = 'HEAD';
$fullname{'225'} = 'Penelope';
$mode{'81'} = 'Open';
$branch{'81'} = 'HEAD';
$fullname{'81'} = 'Plugins';
$mode{'82'} = 'Open';
$branch{'82'} = 'HEAD';
$fullname{'82'} = 'Preferences';
$mode{'69'} = 'Open';
$branch{'69'} = 'HEAD';
$fullname{'69'} = 'Privilege Manager';
$mode{'219'} = 'Open';
$branch{'219'} = 'HEAD';
$fullname{'219'} = 'PyXPCOM';
$mode{'161'} = 'Open';
$branch{'161'} = 'HEAD';
$fullname{'161'} = 'Qt-based gfx and widget';
$mode{'52'} = 'Open';
$branch{'52'} = 'HEAD';
$fullname{'52'} = 'RDF';
$mode{'84'} = 'Open';
$branch{'84'} = 'HEAD';
$fullname{'84'} = 'Registry';
$mode{'113'} = 'Open';
$branch{'113'} = 'HEAD';
$fullname{'113'} = 'REMOVEME - Photon';
$mode{'121'} = 'Open';
$branch{'121'} = 'HEAD';
$fullname{'121'} = 'REMOVEME - Xlib-based gfx and widget';
$mode{'179'} = 'Open';
$branch{'179'} = 'HEAD';
$fullname{'179'} = 'REMOVEME - XPrint';
$mode{'138'} = 'Open';
$branch{'138'} = 'HEAD';
$fullname{'138'} = 'Rhino';
$mode{'145'} = 'Restricted';
$branch{'145'} = 'HEAD';
$fullname{'145'} = 'security';
$blessed{'145'} = ['gerv%gerv.net','cfu%redhat.com',];
$super{'145'} = ['ryan.sleevi%gmail.com','kaie%kuix.de','emaldona%redhat.com','bsmith%mozilla.com','wtc%google.com','rrelyea%redhat.com',];
$mode{'151'} = 'Open';
$branch{'151'} = 'HEAD';
$fullname{'151'} = 'Security - Mozilla PSM Glue';
$mode{'173'} = 'Open';
$branch{'173'} = 'HEAD';
$fullname{'173'} = 'Standalone Composer';
$mode{'216'} = 'Open';
$branch{'216'} = 'HEAD';
$fullname{'216'} = 'storage';
$mode{'160'} = 'Open';
$branch{'160'} = 'HEAD';
$fullname{'160'} = 'String';
$mode{'100'} = 'Open';
$branch{'100'} = 'HEAD';
$fullname{'100'} = 'Style System';
$mode{'187'} = 'Open';
$branch{'187'} = 'HEAD';
$fullname{'187'} = 'SVG';
$mode{'205'} = 'Restricted';
$branch{'205'} = 'HEAD';
$fullname{'205'} = 'Tamarin';
$blessed{'205'} = [];
$super{'205'} = ['treilly%adobe.com','tierney%adobe.com','stejohns%adobe.com','brendan%mozilla.org','jodyer%adobe.com','edwsmith%adobe.com',];
$mode{'215'} = 'Open';
$branch{'215'} = 'HEAD';
$fullname{'215'} = 'Test Harness';
$mode{'202'} = 'Open';
$branch{'202'} = 'HEAD';
$fullname{'202'} = 'Testing Infrastructure';
$mode{'170'} = 'Open';
$branch{'170'} = 'HEAD';
$fullname{'170'} = 'Thunderbird';
$mode{'169'} = 'Open';
$branch{'169'} = 'HEAD';
$fullname{'169'} = 'toolkit';
$mode{'185'} = 'Open';
$branch{'185'} = 'HEAD';
$fullname{'185'} = 'Update Service';
$mode{'71'} = 'Open';
$branch{'71'} = 'HEAD';
$fullname{'71'} = 'Venkman';
$mode{'96'} = 'Open';
$branch{'96'} = 'HEAD';
$fullname{'96'} = 'View System';
$mode{'177'} = 'Open';
$branch{'177'} = 'HEAD';
$fullname{'177'} = 'Widget';
$mode{'172'} = 'Open';
$branch{'172'} = 'HEAD';
$fullname{'172'} = 'Widget - BeOS';
$mode{'49'} = 'Open';
$branch{'49'} = 'HEAD';
$fullname{'49'} = 'Widget - GTK';
$mode{'178'} = 'Open';
$branch{'178'} = 'HEAD';
$fullname{'178'} = 'Widget - Mac OS X';
$mode{'175'} = 'Open';
$branch{'175'} = 'HEAD';
$fullname{'175'} = 'Widget - Windows';
$mode{'199'} = 'Open';
$branch{'199'} = 'HEAD';
$fullname{'199'} = 'XBL';
$mode{'88'} = 'Open';
$branch{'88'} = 'HEAD';
$fullname{'88'} = 'XML';
$mode{'137'} = 'Open';
$branch{'137'} = 'HEAD';
$fullname{'137'} = 'XPApps';
$mode{'89'} = 'Open';
$branch{'89'} = 'HEAD';
$fullname{'89'} = 'XPCOM';
$mode{'118'} = 'Open';
$branch{'118'} = 'HEAD';
$fullname{'118'} = 'XPConnect';
$mode{'117'} = 'Open';
$branch{'117'} = 'HEAD';
$fullname{'117'} = 'XPIDL';
$mode{'150'} = 'Open';
$branch{'150'} = 'HEAD';
$fullname{'150'} = 'XPInstall';
$mode{'206'} = 'Open';
$branch{'206'} = 'HEAD';
$fullname{'206'} = 'xptcall';
$mode{'106'} = 'Open';
$branch{'106'} = 'HEAD';
$fullname{'106'} = 'XPToolkit';
$mode{'140'} = 'Open';
$branch{'140'} = 'HEAD';
$fullname{'140'} = 'XSLT Processor';
$mode{'200'} = 'Open';
$branch{'200'} = 'HEAD';
$fullname{'200'} = 'XTF';
sub GetT {
($b,$_) = (@_);
if ($b eq 'BUGZILLA-2_18-BRANCH') {
if (m:^mozilla/webtools/bugzilla/.*$:) {return '204';}
}
if ($b eq 'BUGZILLA-2_20-BRANCH') {
if (m:^mozilla/webtools/bugzilla/.*$:) {return '191';}
}
if ($b eq 'BUGZILLA-2_22-BRANCH') {
if (m:^mozilla/webtools/bugzilla/.*$:) {return '203';}
}
if ($b eq 'BUGZILLA-3_0-BRANCH') {
if (m:^mozilla/webtools/bugzilla/.*$:) {return '212';}
}
if ($b eq 'BUGZILLA-3_2-BRANCH') {
if (m:^mozilla/webtools/bugzilla/.*$:) {return '217';}
}
if ($b eq 'BUGZILLA-3_4-BRANCH') {
if (m:^mozilla/webtools/bugzilla/.*$:) {return '220';}
}
if ($b eq 'HEAD') {
if (m:^mozilla/rdf/.*$:) {return '52';}
if (m:^mozilla/extensions/p3p/.*$:) {return '162';}
if (m:^mozilla/build/.*$:) {return '55';}
if (m:^mozilla/config/.*$:) {return '55';}
if (m:^mozilla/tools/cross-commit$:) {return '55';}
if (m:^mozilla/tools/cvs2hg-import\.py$:) {return '55';}
if (m:^mozilla/tools/cvsmgmt/.*$:) {return '55';}
if (m:^mozilla/tools/elf-dynstr-gc/.*$:) {return '55';}
if (m:^mozilla/tools/relic/.*$:) {return '55';}
if (m:^mozilla/tools/trees\.pl$:) {return '55';}
if (m:^mozilla/content/xslt/.*$:) {return '140';}
if (m:^mozilla/extensions/transformiix/.*$:) {return '140';}
if (m:^mozilla/layout/mathml/.*$:) {return '165';}
if (m:^mozilla/editor/.*$:) {return '56';}
if (m:^mozilla/calendar/.*$:) {return '183';}
if (m:^mozilla/browser/.*$:) {return '166';}
if (m:^mozilla/other-licenses/branding/firefox/.*$:) {return '166';}
if (m:^mozilla/directory/.*$:) {return '59';}
if (m:^mozilla/gfx/src/photon/.*$:) {return '113';}
if (m:^mozilla/widget/src/photon/.*$:) {return '113';}
if (m:^mozilla/chrome/.*$:) {return '169';}
if (m:^mozilla/profile/.*$:) {return '169';}
if (m:^mozilla/toolkit/.*$:) {return '169';}
if (m:^mozilla/xulrunner/.*$:) {return '169';}
if (m:^mozilla/jpeg/.*$:) {return '63';}
if (m:^mozilla/modules/libimg/png/.*$:) {return '63';}
if (m:^mozilla/modules/libpr0n/.*$:) {return '63';}
if (m:^mozilla/modules/zlib/.*$:) {return '63';}
if (m:^mozilla/content/xul/.*$:) {return '106';}
if (m:^mozilla/layout/xul/.*$:) {return '106';}
if (m:^mozilla/mail/.*$:) {return '170';}
if (m:^mozilla/other-licenses/branding/thunderbird/.*$:) {return '170';}
if (m:^mozilla/testing/.*$:) {return '202';}
if (m:^mozilla/tools/httptester/.*$:) {return '202';}
if (m:^mozilla/tools/page-loader/.*$:) {return '202';}
if (m:^mozilla/tools/test-harness/.*$:) {return '202';}
if (m:^mozilla/tools/tests/.*$:) {return '202';}
if (m:^mozilla/tools/testserver/.*$:) {return '202';}
if (m:^mozilla/tools/testy/.*$:) {return '202';}
if (m:^mozilla/extensions/cookie/.*$:) {return '171';}
if (m:^mozilla/netwerk/cookie/.*$:) {return '171';}
if (m:^mozilla/intl/.*$:) {return '67';}
if (m:^mozilla/extensions/irc/.*$:) {return '211';}
if (m:^mozilla/widget/src/beos/.*$:) {return '172';}
if (m:^mozilla/modules/oji/.*$:) {return '68';}
if (m:^mozilla/nav-java/.*$:) {return '68';}
if (m:^mozilla/sun-java/.*$:) {return '68';}
if (m:^mozilla/tools/botrunner\.py$:) {return '214';}
if (m:^mozilla/tools/build-environment/.*$:) {return '214';}
if (m:^mozilla/tools/build/.*$:) {return '214';}
if (m:^mozilla/tools/buildbot-configs/.*$:) {return '214';}
if (m:^mozilla/tools/buildbot/.*$:) {return '214';}
if (m:^mozilla/tools/buildbotcustom/.*$:) {return '214';}
if (m:^mozilla/tools/l10n/.*$:) {return '214';}
if (m:^mozilla/tools/MozBuild/.*$:) {return '214';}
if (m:^mozilla/tools/patcher-configs/.*$:) {return '214';}
if (m:^mozilla/tools/patcher/.*$:) {return '214';}
if (m:^mozilla/tools/release/.*$:) {return '214';}
if (m:^mozilla/tools/tinderbox-configs/.*$:) {return '214';}
if (m:^mozilla/tools/tinderbox/.*$:) {return '214';}
if (m:^mozilla/tools/update-packaging/.*$:) {return '214';}
if (m:^mozilla/caps/.*$:) {return '69';}
if (m:^mozilla/tools/codesighs/.*$:) {return '213';}
if (m:^mozilla/tools/debug/.*$:) {return '213';}
if (m:^mozilla/tools/dreftool/.*$:) {return '213';}
if (m:^mozilla/tools/dumpdeps/.*$:) {return '213';}
if (m:^mozilla/tools/footprint/.*$:) {return '213';}
if (m:^mozilla/tools/jprof/.*$:) {return '213';}
if (m:^mozilla/tools/leaky/.*$:) {return '213';}
if (m:^mozilla/tools/memory/.*$:) {return '213';}
if (m:^mozilla/tools/module-deps/.*$:) {return '213';}
if (m:^mozilla/tools/performance/.*$:) {return '213';}
if (m:^mozilla/tools/post_compile/.*$:) {return '213';}
if (m:^mozilla/tools/preloader/.*$:) {return '213';}
if (m:^mozilla/tools/rb/.*$:) {return '213';}
if (m:^mozilla/tools/reorder/.*$:) {return '213';}
if (m:^mozilla/tools/trace-malloc/.*$:) {return '213';}
if (m:^mozilla/tools/uuiddeps/.*$:) {return '213';}
if (m:^mozilla/widget/src/windows/.*$:) {return '175';}
if (m:^mozilla/js/src/[^/]*$:) {return '70';}
if (m:^mozilla/js/src/config/.*$:) {return '70';}
if (m:^mozilla/js/src/editline/.*$:) {return '70';}
if (m:^mozilla/js/src/fdlibm/.*$:) {return '70';}
if (m:^mozilla/xpcom/typelib/.*$:) {return '117';}
if (m:^mozilla/camino/.*$:) {return '210';}
if (m:^mozilla/extensions/venkman/.*$:) {return '71';}
if (m:^mozilla/js/src/xpconnect/.*$:) {return '118';}
if (m:^mozilla/widget/[^/]*$:) {return '177';}
if (m:^mozilla/widget/public/.*$:) {return '177';}
if (m:^mozilla/widget/src/[^/]*$:) {return '177';}
if (m:^mozilla/widget/src/xpwidgets/.*$:) {return '177';}
if (m:^mozilla/js/src/liveconnect/.*$:) {return '72';}
if (m:^mozilla/js/jsd/.*$:) {return '207';}
if (m:^mozilla/widget/src/cocoa/.*$:) {return '178';}
if (m:^mozilla/netwerk/[^/]*$:) {return '77';}
if (m:^mozilla/netwerk/base/.*$:) {return '77';}
if (m:^mozilla/netwerk/build/.*$:) {return '77';}
if (m:^mozilla/netwerk/cache/.*$:) {return '77';}
if (m:^mozilla/netwerk/dns/.*$:) {return '77';}
if (m:^mozilla/netwerk/locales/.*$:) {return '77';}
if (m:^mozilla/netwerk/mime/.*$:) {return '77';}
if (m:^mozilla/netwerk/protocol/.*$:) {return '77';}
if (m:^mozilla/netwerk/resources/.*$:) {return '77';}
if (m:^mozilla/netwerk/socket/.*$:) {return '77';}
if (m:^mozilla/netwerk/streamconv/.*$:) {return '77';}
if (m:^mozilla/netwerk/system/.*$:) {return '77';}
if (m:^mozilla/netwerk/test/.*$:) {return '77';}
if (m:^mozilla/netwerk/testserver/.*$:) {return '77';}
if (m:^mozilla/mailnews/[^/]*$:) {return '123';}
if (m:^mozilla/accessibility/.*$:) {return '180';}
if (m:^mozilla/nsprpub/.*$:) {return '78';}
if (m:^mozilla/mailnews/mime/[^/]*$:) {return '124';}
if (m:^mozilla/extensions/typeaheadfind/.*$:) {return '181';}
if (m:^mozilla/dom/plugins/.*$:) {return '81';}
if (m:^mozilla/modules/plugin/.*$:) {return '81';}
if (m:^mozilla/extensions/java$:) {return '128';}
if (m:^mozilla/content/xbl/builtin/.*$:) {return '182';}
if (m:^mozilla/modules/libpref/.*$:) {return '82';}
if (m:^mozilla/java/plugins/.*$:) {return '129';}
if (m:^mozilla/extensions/inspector/.*$:) {return '184';}
if (m:^mozilla/layout/inspector/.*$:) {return '184';}
if (m:^mozilla/modules/libreg/.*$:) {return '84';}
if (m:^mozilla/java/webclient/.*$:) {return '127';}
if (m:^mozilla/content/svg/.*$:) {return '187';}
if (m:^mozilla/layout/svg/.*$:) {return '187';}
if (m:^db/sqlite3/.*$:) {return '216';}
if (m:^storage/.*$:) {return '216';}
if (m:^mozilla/java/dom/.*$:) {return '130';}
if (m:^mozilla/extensions/help/.*$:) {return '188';}
if (m:^mozilla/suite/.*$:) {return '188';}
if (m:^mozilla/content/xml/.*$:) {return '88';}
if (m:^mozilla/extensions/xmlextras/.*$:) {return '88';}
if (m:^mozilla/parser/expat/.*$:) {return '88';}
if (m:^mozilla/java/util/.*$:) {return '133';}
if (m:^mozilla/startupcache/.*$:) {return '89';}
if (m:^mozilla/tools/wizards/.*$:) {return '89';}
if (m:^mozilla/xpcom/[^/]*$:) {return '89';}
if (m:^mozilla/xpcom/base/.*$:) {return '89';}
if (m:^mozilla/xpcom/build/.*$:) {return '89';}
if (m:^mozilla/xpcom/components/.*$:) {return '89';}
if (m:^mozilla/xpcom/ds/.*$:) {return '89';}
if (m:^mozilla/xpcom/glue/.*$:) {return '89';}
if (m:^mozilla/xpcom/proxy/.*$:) {return '89';}
if (m:^mozilla/xpcom/sample/.*$:) {return '89';}
if (m:^mozilla/xpcom/stub/.*$:) {return '89';}
if (m:^mozilla/xpcom/tests/.*$:) {return '89';}
if (m:^mozilla/xpcom/threads/.*$:) {return '89';}
if (m:^mozilla/xpcom/tools/.*$:) {return '89';}
if (m:^mozilla/xpcom/windbgdlg/.*$:) {return '89';}
if (m:^mozilla/content/xbl/[^/]*$:) {return '199';}
if (m:^mozilla/content/xbl/public/.*$:) {return '199';}
if (m:^mozilla/content/xbl/src/.*$:) {return '199';}
if (m:^mozilla/webtools/bugzilla/.*$:) {return '190';}
if (m:^mozilla/xpcom/reflect/xptcall/.*$:) {return '206';}
if (m:^mozilla/content/xtf/.*$:) {return '200';}
if (m:^mozilla/layout/xtf/.*$:) {return '200';}
if (m:^mozilla/gfx/src/xprint/.*$:) {return '179';}
if (m:^mozilla/gfx/[^/]*$:) {return '201';}
if (m:^mozilla/gfx/cairo/.*$:) {return '201';}
if (m:^mozilla/gfx/public/.*$:) {return '201';}
if (m:^mozilla/gfx/src/[^/]*$:) {return '201';}
if (m:^mozilla/gfx/src/gtk/.*$:) {return '201';}
if (m:^mozilla/gfx/src/mac/.*$:) {return '201';}
if (m:^mozilla/gfx/src/shared/.*$:) {return '201';}
if (m:^mozilla/gfx/src/thebes/.*$:) {return '201';}
if (m:^mozilla/gfx/src/windows/.*$:) {return '201';}
if (m:^mozilla/gfx/thebes/.*$:) {return '201';}
if (m:^mozilla/modules/lcms/.*$:) {return '201';}
if (m:^mozilla/view/.*$:) {return '96';}
if (m:^mozilla/layout/[^/]*$:) {return '98';}
if (m:^mozilla/layout/base/.*$:) {return '98';}
if (m:^mozilla/layout/build/.*$:) {return '98';}
if (m:^mozilla/layout/doc/.*$:) {return '98';}
if (m:^mozilla/layout/forms/.*$:) {return '98';}
if (m:^mozilla/layout/generic/.*$:) {return '98';}
if (m:^mozilla/layout/html/.*$:) {return '98';}
if (m:^mozilla/layout/macbuild/.*$:) {return '98';}
if (m:^mozilla/layout/printing/.*$:) {return '98';}
if (m:^mozilla/layout/tables/.*$:) {return '98';}
if (m:^mozilla/layout/tools/.*$:) {return '98';}
if (m:^mozilla/xpinstall/.*$:) {return '150';}
if (m:^CVSROOT/commitcheck\.pl$:) {return '3';}
if (m:^CVSROOT/passwd$:) {return '3';}
if (m:^modules/libjar$:) {return '221';}
if (m:^mozilla/security/manager/.*$:) {return '151';}
if (m:^mozilla/layout/style/.*$:) {return '100';}
if (m:^mozilla/webtools/addons/.*$:) {return '185';}
if (m:^mozilla/webtools/aus/.*$:) {return '185';}
if (m:^mozilla/webtools/update/.*$:) {return '185';}
if (m:^mozilla/js/src/ctypes/.*$:) {return '223';}
if (m:^mozilla/dbm/.*$:) {return '145';}
if (m:^mozilla/security/coreconf/.*$:) {return '145';}
if (m:^mozilla/security/dbm/.*$:) {return '145';}
if (m:^mozilla/security/jss/.*$:) {return '145';}
if (m:^mozilla/security/nss/.*$:) {return '145';}
if (m:^mozilla/security/tinderbox/.*$:) {return '145';}
if (m:^mozilla/security/tinderlight/.*$:) {return '145';}
if (m:^mozilla/docshell/.*$:) {return '101';}
if (m:^mozilla/uriloader/.*$:) {return '101';}
if (m:^mozilla/webshell/.*$:) {return '101';}
if (m:^mozilla/mailnews/local/src/nsMovemail.*$:) {return '157';}
if (m:^mozilla/penelope/$:) {return '225';}
if (m:^mozilla/composer/.*$:) {return '173';}
if (m:^mozilla/parser/htmlparser$:) {return '102';}
if (m:^mozilla/embedding/.*$:) {return '208';}
if (m:^mozilla/[^/]*$:) {return '19';}
if (m:^mozilla/tools/README$:) {return '19';}
if (m:^mozilla/content/base/.*$:) {return '103';}
if (m:^mozilla/content/events/.*$:) {return '103';}
if (m:^mozilla/content/html/content/.*$:) {return '103';}
if (m:^mozilla/content/html/document/.*$:) {return '103';}
if (m:^mozilla/dom/[^/]*$:) {return '103';}
if (m:^mozilla/dom/base/.*$:) {return '103';}
if (m:^mozilla/dom/interfaces/.*$:) {return '103';}
if (m:^mozilla/dom/locales/.*$:) {return '103';}
if (m:^mozilla/dom/public/.*$:) {return '103';}
if (m:^mozilla/dom/src/.*$:) {return '103';}
if (m:^mozilla/dom/tests/.*$:) {return '103';}
if (m:^extension/python$:) {return '219';}
if (m:^mozilla/gfx/src/xlib/.*$:) {return '121';}
if (m:^mozilla/widget/src/xlib/.*$:) {return '121';}
if (m:^mozilla/widget/src/xlibxtbin/.*$:) {return '121';}
if (m:^mozilla/js/rhino/.*$:) {return '138';}
if (m:^mozilla/string/.*$:) {return '160';}
if (m:^mozilla/xpcom/string/.*$:) {return '160';}
if (m:^mozilla/webtools/partytool/.*$:) {return '209';}
if (m:^mozilla/xpfe/.*$:) {return '137';}
if (m:^mozilla/widget/src/qt/.*$:) {return '161';}
if (m:^mozilla/widget/src/gtk/.*$:) {return '49';}
if (m:^mozilla/widget/src/gtk2/.*$:) {return '49';}
if (m:^mozilla/widget/src/gtksuperwin/.*$:) {return '49';}
if (m:^mozilla/widget/src/gtkxtbin/.*$:) {return '49';}
if (m:^mozilla/js/tests/.*$:) {return '114';}
}
if ($b eq 'NSPRPUB_PRE_4_2_CLIENT_BRANCH') {
if (m:^mozilla/nsprpub/.*$:) {return '146';}
}
if ($b eq 'NSS_3_11_BRANCH') {
if (m:^mozilla/dbm/.*$:) {return '163';}
if (m:^mozilla/security/coreconf/.*$:) {return '163';}
if (m:^mozilla/security/dbm/.*$:) {return '163';}
if (m:^mozilla/security/nss/.*$:) {return '163';}
}
return '';
}
$debug = 0;
$origrepository = shift(@ARGV);
@files = @ARGV;
$envcvsroot = $ENV{'CVSROOT'};
open( REP, "<CVS/Repository");
$repository = <REP>;
chop($repository);
close(REP);
$repository =~ s:^$envcvsroot/::;
$doit = 0;
$| = 1;
if( $debug){
print STDERR "----------------------------------------------\n";
print STDERR "files: @files\n";
print STDERR "origrepository: $origrepository\n";
print STDERR " repository: $repository\n";
print STDERR "----------------------------------------------\n";
}
open(ENT, "<CVS/Entries" );
while( <ENT> ){
chop;
($d,$fn,$rev,$mod_time,$sticky,$tag) = split(/\//);
if ($tag =~ /^T(.*)$/) {
$fbranch{$fn} = $1;
}
}
close ENT;
foreach $f (@files) {
$b = "";
if (defined $fbranch{$f}) {$b = $fbranch{$f};}
if ($b eq "") {$b = "HEAD";}
$t = GetT($b, "$repository/$f");
if ($debug) {
print STDERR "GetT returned '$t' for '$repository/$f' branch '$b'\n";
}
if ($t eq "") {
$t = $defaultid;
}
if (!defined $mode{$t} || $mode{$t} eq "Open") {
next;
}
if ($debug) {
print STDERR "Checking twig $t\n";
}
# OK, we have a match. See if we're allowed to checkin here.
if ($username eq "") {
$username = $ENV{"CVS_USER"} || getlogin || (getpwuid($<))[0] || "nobody";
if ($debug) {
print STDERR "Username is $username\n";
print STDERR "getlogin returns " . getlogin . "\n";
print STDERR '(getpwuid($<))[0] returns ' . (getpwuid($<))[0] . "\n";
print STDERR "Environment:\n";
foreach $key (sort(keys %ENV)) {
print STDERR $key, '=', $ENV{$key}, "\n";
}
}
}
$ok = 0;
$s = $super{$t};
foreach $u (@$s) {
if ($debug) {
print STDERR "Checking against super $u\n";
}
if ($u eq $username) {
$ok = 1;
break;
}
}
if ($mode{$t} eq "Restricted") {
my $b = $blessed{$t};
foreach $u (@$b) {
if ($debug) {
print STDERR "Checking against blessed $u\n";
}
if ($u eq $username) {
$ok = 1;
break;
}
}
}
if (!$ok) {
print STDERR "You may not check into partition $fullname{$t}\n";
print STDERR "the file $repository/$f on branch $b\n";
print STDERR "If you think you should be allowed to, send mail to\n";
print STDERR "one of the below people:\n";
$s = $super{$t};
foreach $u (@$s) {
$u =~ s/%/@/;
print STDERR " $u\n";
}
exit 1;
}
}
exit 0;

View File

@@ -1,18 +0,0 @@
# The "commitinfo" file is used to control pre-commit checks.
# The filter on the right is invoked with the repository and a list
# of files to check. A non-zero exit of the filter program will
# cause the commit to be aborted.
#
# The first entry on a line is a regular expression which is tested
# against the directory that the change is being committed to, relative
# to the $CVSROOT. For the first match that is found, then the remainder
# of the line is the name of the filter to run.
#
# If the repository name does not match any of the regular expressions in this
# file, the "DEFAULT" line is used, if it is specified.
#
# If the name "ALL" appears as a regular expression it is always used
# in addition to the first matching regex or "DEFAULT".
#ALL $CVSROOT/CVSROOT/commitcheck.pl
#ALL $CVSROOT/CVSROOT/readonlyusers.pl
ALL $CVSROOT/CVSROOT/readonly

View File

@@ -1,8 +0,0 @@
# Set this to "no" if pserver shouldn't check system users/passwords
#SystemAuth=no
# Set `PreservePermissions' to `yes' to save file status information
# in the repository.
#PreservePermissions=no
LockDir=/var/lock/cvsroot

View File

@@ -1,48 +0,0 @@
__.SYMDEF*
_gen
_jmc
_stubs
_xpidlgen
._.DS_Store
._.FBCIndex
._.FBCLockFolder
.*.timestamp
.d
.depends
.deps
.DS_Store
.FBCIndex
.FBCLockFolder
.gdbinit
.HSancillary
.makedepend
.Makedepend
.MCC_Cache_FAT
.MCC_Global_History
.md
.pure
*_DBG_EDT.OBJ
*_DBG.OBJ
*_DBG.OBJD
*_OPT_EDT.OBJ
*_OPT.OBJ
*.class
*.dll
*.dylib
*.exp
*.flc
*.lib
*.map
*.pdb
*.rc
*.res
*.rpo
depend.mk
made
make.dep
make.log
Makefile
manifest.mnw
nuke
so_locations
ti_files

View File

@@ -1,24 +0,0 @@
#!/bin/sh
PATH=/bin:/usr/bin:/sbin:/usr/sbin;export PATH
(
URL="subdir=`dirname $1`&files=`basename $1`"
echo "Subject: $1"
echo 'Content-Type: text/html; charset=us-ascii'
echo 'Content-Transfer-Encoding: 7bit'
echo 'Content-Disposition: inline'
TMP=/tmp/cvsmf.$$
trap "rm -f $TMP" 0 1 2 15
cat > $TMP
BRANCH=`sed -n 's@^Revision/Branch: \(.*\)@\1@p' $TMP`
if test -n "$BRANCH"; then
URL="$URL&branch=$BRANCH"
fi
echo '<A HREF="http://warp.netscape.com/webtools/bonsai/cvsview2.cgi?'$URL'&command=DIRECTORY">View differences</A><BR>\n'
) | mail $2

View File

@@ -1,134 +0,0 @@
#!/usr/bin/perl
# -*- Mode: perl; indent-tabs-mode: nil -*-
# Arguments:
#
# -a Only send checkin messages which contain added files. All other checkin
# messages will be ignored.
# -u <url> Base URL for the Bonsai directory; "/cvsview2.cgi" will get
# appended to this with appropriate args.
# -h <hostname> Host whose SMTP server we will contact to send mail.
# -s <string> String specifying dir and filenames. As generated by "%s"
# in a CVSROOT/loginfo file
# -f <file> A regexp. If present, then only checkins to files whose
# name (without the directory) matches the regexp will generate mail.
#
# The remaining args are email addresses of people who should get notified.
use strict;
use Mail::Mailer;
my $debug = 0;
my $addsonly = 0;
my $showcommitter = 0;
# Set use_sendmail = 0 to send mail via $mailhost using SMTP
my $use_sendmail = 0;
my $mailhost = "smtp.mozilla.org";
my $urlbase = "";
my $cvsargs = "";
my $cvsroot = "";
my @mailto;
my $fileregexp = "";
my $username = $ENV{"CVS_USER"} || getlogin || (getpwuid($<))[0] || "nobody";
while (@ARGV) {
my $arg = shift @ARGV;
if ($arg eq '-d') {
$debug = 1;
print STDERR "Debug turned on...\n";
} elsif ($arg eq '-c') {
$showcommitter = 1;
} elsif ($arg eq '-r') {
$cvsroot = shift @ARGV;
} elsif ($arg eq '-h') {
$mailhost = shift @ARGV;
} elsif ($arg eq '-u') {
$urlbase = shift @ARGV;
} elsif ($arg eq '-s') {
$cvsargs = shift @ARGV;
} elsif ($arg eq '-f') {
$fileregexp = shift @ARGV;
} elsif ($arg eq '-a') {
$addsonly = 1;
} else {
push(@mailto, $arg);
}
}
my $url = "";
if ($urlbase ne "" && $cvsargs ne "") {
my @list = split(/ /, $cvsargs);
my $dir = shift @list;
if ($fileregexp ne "") {
if (grep(m/$fileregexp/, @list) <= 0) {
exit;
}
}
$url = $urlbase . "/cvsview2.cgi?command=DIRECTORY&subdir=$dir&files=" .
join(':', @list);
}
my $message = "";
if ($showcommitter) {
$message .= "Changes committed by $username:\n\n";
}
my $filesadded = 0;
while (<>) {
my $line = $_;
if ($line =~ m@^ Tag: (.*)$@) {
if ($url ne "") {
$url .= "&branch=$1";
}
}
# if we see that files have been added on this checkin, remember that fact
#
if ($line =~ m@^Added Files:@) {
$filesadded = 1;
}
$message .= $line;
}
# bail out if this is an adds-only run and no files have been added
#
if ($addsonly == 1 && $filesadded == 0 ) {
exit 0;
}
if ($url ne "") {
if ($cvsroot ne "") {
$url .= "&root=$cvsroot";
}
$message = "Diffs: $url\n\n" . $message;
}
chop(my $hostname = `hostname --fqdn`);
my $mailer;
if ($use_sendmail) {
$mailer = Mail::Mailer->new("sendmail");
} else {
$mailer = Mail::Mailer->new("smtp", Server => $mailhost);
}
die("Failed to send mail notification\n") if !defined($mailer);
my %headers;
$headers{'From'} = "$username <cvsmailfilter\@$hostname>";
$headers{'To'} = \@mailto;
$headers{'Subject'} = $cvsargs;
$headers{'MIME-Version'} = '1.0';
$headers{'Content-Type'} = 'text/plain; charset=UTF-8'; # assume everything is UTF-8
$headers{'Content-Transfer-Encoding'} = '8bit';
$headers{'Content-Disposition'} = 'inline';
$mailer->open(\%headers);
print $mailer $message;
$mailer->close;

View File

@@ -1,27 +0,0 @@
# This file affects handling of files based on their names.
#
# The -t/-f options allow one to treat directories of files
# as a single file, or to transform a file in other ways on
# its way in and out of CVS.
#
# The -m option specifies whether CVS attempts to merge files.
#
# The -k option specifies keyword expansion (e.g. -kb for binary).
#
# Format of wrapper file ($CVSROOT/CVSROOT/cvswrappers or .cvswrappers)
#
# wildcard [option value][option value]...
#
# where option is one of
# -f from cvs filter value: path to filter
# -t to cvs filter value: path to filter
# -m update methodology value: MERGE or COPY
# -k expansion mode value: b, o, kkv, &c
#
# and value is a single-quote delimited value.
# For example:
#*.gif -k 'b'
*.png -k 'b'
*.gif -k 'b'
*.jpg -k 'b'
*.jpeg -k 'b'

View File

@@ -1,512 +0,0 @@
#! /usr/bin/perl
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bonsai CVS tool.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Mike Taylor <bear@code-bear.com>
# Christopher Seawood <cls@seawood.org>
# You need to put this in your CVSROOT directory, and check it in. (Change the
# first line above to point to a real live perl5.) Add "dolog.pl" to
# CVSROOT/checkoutlist, and check it in. Then, add a line to your
# CVSROOT/loginfo file that says something like:
#
# ALL $CVSROOT/CVSROOT/dolog.pl [-u ${USER}] -r /cvsroot bonsai-checkin-daemon@my.bonsai.machine
#
# or if you do not want to use SMTP at all, add:
#
# ALL ( $CVSROOT/CVSROOT/dolog.pl -r /cvsroot -n | /bonsai/handleCheckinMail.pl )
#
# Replace "/cvsroot" with the name of the CVS root directory, and
# "my.bonsai.machine" with the name of the machine Bonsai runs on.
# Now, on my.bonsai.machine, add a mail alias so that mail sent to
# "bonsai-checkin-daemon" will get piped to handleCheckinMail.pl.
use bytes;
use File::Basename;
use Mail::Mailer;
# Set use_sendmail = 0 to send mail via $mailhost using SMTP
$use_sendmail = 0;
$username = $ENV{"CVS_USER"} || getlogin || (getpwuid($<))[0] || "nobody";
$envcvsroot = $ENV{'CVSROOT'};
$cvsroot = $envcvsroot;
$flag_debug = 0;
$flag_tagcmd = 0;
$repository = '';
$repository_tag = '';
$mailhost = 'smtp.mozilla.org';
$rlogcommand = '/usr/bin/rlog';
$output2mail = 1;
@mailto = ();
@changed_files = ();
@added_files = ();
@removed_files = ();
@log_lines = ();
@outlist = ();
@import_tags = ();
@import_new_files = ();
@import_changed_files = ();
$STATE_NONE = 0;
$STATE_CHANGED = 1;
$STATE_ADDED = 2;
$STATE_REMOVED = 3;
$STATE_LOG = 4;
$STATE_IMPORT_STATUS = 5;
$STATE_IMPORT_TAGS = 6;
$STATE_IMPORT_FILES = 7;
&process_args;
if ($flag_debug) {
print STDERR "----------------------------------------------\n";
print STDERR "LOGINFO:\n";
print STDERR " pwd:" . `pwd` . "\n";
print STDERR " Args @ARGV\n";
print STDERR " CVSROOT: $cvsroot\n";
print STDERR " who: $username\n";
print STDERR " Repository: $repository\n";
print STDERR " mailto: @mailto\n";
print STDERR "----------------------------------------------\n";
}
if ($flag_tagcmd) {
&process_tag_command;
} else {
&get_loginfo;
&process_cvs_info;
}
if ($flag_debug) {
print STDERR "----------------------------------------------\n";
print STDERR "OUTLIST:\n";
print STDERR @outlist;
print STDERR "----------------------------------------------\n";
}
if ($output2mail) {
&mail_notification;
} else {
&stdout_notification;
}
0;
sub process_args {
while (@ARGV) {
$arg = shift @ARGV;
if ($arg eq '-d') {
$flag_debug = 1;
print STDERR "Debug turned on...\n";
} elsif ($arg eq '-r') {
$cvsroot = shift @ARGV;
} elsif ($arg eq '-u') {
$username = shift @ARGV;
} elsif ($arg eq '-t') {
$flag_tagcmd = 1;
last; # Keep the rest in ARGV; they're handled later.
} elsif ($arg eq '-h') {
$mailhost = shift @ARGV;
} elsif ($arg eq '-n') {
$output2mail = 0;
} else {
push(@mailto, $arg);
}
}
if ($repository eq '') {
open(REP, "<CVS/Repository");
$repository = <REP>;
chop($repository);
close(REP);
}
$repository =~ s:^$cvsroot/::;
$repository =~ s:^$envcvsroot/::;
}
sub get_loginfo {
if ($flag_debug) {
print STDERR "----------------------------------------------\n";
}
# Iterate over the body of the message collecting information.
#
$state = $STATE_NONE;
while (<STDIN>) {
chop; # Drop the newline
if ($flag_debug) {
print STDERR "$_\n";
}
if (/^In directory/) {
next;
}
if (/^Modified Files/) { $state = $STATE_CHANGED; next; }
if (/^Added Files/) { $state = $STATE_ADDED; next; }
if (/^Removed Files/) { $state = $STATE_REMOVED; next; }
if (/^Log Message/) { $state = $STATE_LOG; next; }
s/^[ \t\n]+//; # delete leading whitespace
s/[ \t\n]+$//; # delete trailing whitespace
if ($state != $STATE_LOG && /^Tag:/) { ($repository_tag = $_) =~ s/^Tag:\s*(\S+).*/$1/; }
if ($state == $STATE_CHANGED && !(/^Tag:/)) { push(@changed_files, split); }
if ($state == $STATE_ADDED && !(/^Tag:/)) { push(@added_files, split); }
if ($state == $STATE_REMOVED && !(/^Tag:/)) { push(@removed_files, split); }
if ($state == $STATE_LOG && (m/^Status:$/)) {
push(@log_lines, $_);
$state = $STATE_IMPORT_STATUS;
next;
}
if ($state == $STATE_IMPORT_STATUS) {
my ($itag, $istat, @rest);
while (<STDIN>) {
chomp;
print STDERR "$_\n" if ($flag_debug);
push(@log_lines, $_);
if ($state == $STATE_IMPORT_STATUS) {
next if (m/^\s*$/);
if (m/^Vendor Tag:/) {
($vendor_tag = $_) =~ s/^Vendor Tag:\s+([\w-]+).*/$1/;
$state = $STATE_IMPORT_TAGS;
next;
} else {
$state = $STATE_LOG;
last;
}
}
if ($state == $STATE_IMPORT_TAGS) {
if (m/^\s*$/) {
$state = $STATE_IMPORT_FILES;
} else {
($itag = $_) =~ s/^(Release Tags:)?\s+([\w-]+).*/$2/;
push(@import_tags, $itag);
}
next;
}
if ($state == $STATE_IMPORT_FILES) {
if (m/^\s*$/) {
$state = $STATE_LOG;
last;
}
($istat, @rest) = split(/ /, $_, 2);
if ($istat eq 'N') {
push(@import_new_files, @rest);
} elsif ($istat eq 'U') {
push(@import_changed_files, @rest);
}
# Ignore everything else
next;
}
}
}
if ($state == $STATE_LOG) { push(@log_lines, $_); }
}
# If any of the filenames in the arrays below contain spaces,
# things get broken later on in the code.
# fix the filename array by using the get_filename sub.
@fixed_changed_files = @{&get_filename("C", @changed_files)};
@fixed_added_files = @{&get_filename("A", @added_files)};
@fixed_removed_files = @{&get_filename("R", @removed_files)};
@fixed_import_new_files = @{&get_filename("I", @import_new_files)};
@fixed_import_changed_files = @{&get_filename("I", @import_changed_files)};
# now replace the old broken arrays with the new fixed arrays and
# carry on.
@changed_files = @fixed_changed_files;
@added_files = @fixed_added_files;
@removed_files = @fixed_removed_files;
@import_new_files = @fixed_import_new_files;
@import_changed_files = @fixed_import_changed_files;
if ($flag_debug) {
print STDERR "----------------------------------------------\n"
. "changed files: @changed_files\n"
. "added files: @added_files\n"
. "removed files: @removed_files\n"
. "new imported files: @import_new_files\n"
. "changed imported files: @import_changed_files\n";
print STDERR "----------------------------------------------\n";
}
}
sub get_filename {
my ($state, @files) = @_;
my @fixed_files;
my $FILE_EXIST = 0;
my $FILE_CHECKED = 0;
my $file;
my $partial_file;
my $path, $apath;
if ($flag_debug) {
print STDERR "\n-- get_filename ------------------------\n";
}
foreach my $scalar (@files) {
if ($FILE_CHECKED && ! $FILE_EXISTS) {
$file = "$partial_file $scalar";
} else{
$file = $scalar;
}
if ($state eq "I") {
$path = "$envcvsroot/$file";
$apath = "$envcvsroot/Attic/$file";
} else {
$path = "$envcvsroot/$repository/$file";
$apath = "$envcvsroot/$repository/Attic/$file";
}
if ($flag_debug) {
print STDERR "changed file: $file\n";
print STDERR "path: $path\n";
}
if (-r "$path,v" || -r "$apath,v") {
push(@fixed_files, $file);
$FILE_EXISTS = 1;
$FILE_CHECKED = 1;
if ($flag_debug){
print STDERR "file exists\n";
}
} else {
$partial_file = $file;
$FILE_EXISTS = 0;
$FILE_CHECKED = 1;
if ($flag_debug) {
print STDERR "file does not exist\n";
}
}
}
if ($flag_debug) {
print STDERR "\@fixed_files: @fixed_files\n";
print STDERR "-------------------------------------------\n\n";
}
return \@fixed_files;
}
sub process_cvs_info {
local($d,$fn,$rev,$mod_time,$sticky,$tag,$stat,@d,$rcsfile);
if (!open(ENT, "<CVS/Entries.Log")) {
open(ENT, "<CVS/Entries");
}
$time = time;
while (<ENT>) {
chop;
($d,$fn,$rev,$mod_time,$sticky,$tag) = split(/\//);
$stat = 'C';
for $i (@changed_files, "BEATME.NOW", @added_files) {
if ($i eq "BEATME.NOW") { $stat = 'A'; }
if ($i eq $fn) {
$rcsfile = "$envcvsroot/$repository/$fn,v";
if (! -r $rcsfile) {
$rcsfile = "$envcvsroot/$repository/Attic/$fn,v";
}
$rlogcmd = "$rlogcommand -N -r$rev " . shell_escape($rcsfile);
open(LOG, "$rlogcmd |")
|| print STDERR "dolog.pl: Couldn't run rlog\n";
while (<LOG>) {
if (/^date:.* author: ([^;]*);.*/) {
$username = $1;
if (/lines: \+([0-9]*) -([0-9]*)/) {
$lines_added = $1;
$lines_removed = $2;
}
}
}
close(LOG);
push(@outlist,
("$stat|$time|$username|$cvsroot|$repository|$fn|$rev|$sticky|$tag|$lines_added|$lines_removed\n"));
}
}
}
close(ENT);
for $i (@removed_files) {
push(@outlist,
("R|$time|$username|$cvsroot|$repository|$i|||$repository_tag\n"));
}
my $headrev;
my $found_desc;
# Process new imported files
foreach $fn (@import_new_files) {
my ($file, $dir, $suffix) = &fileparse($fn, ",v");
$dir =~ s@/$@@;
$found_desc = 0;
$headrev = 0;
$lines_added = 0;
$lines_removed = 0;
$rcsfile = "$envcvsroot/$dir/${file},v";
if (! -r $rcsfile) {
$rcsfile = "$envcvsroot/$dir/Attic/${file},v";
}
$rlogcmd = "$rlogcommand -N " . &shell_escape($rcsfile);
open(LOG, "$rlogcmd |") ||
print STDERR "dolog.pl: Couldn't run import rlog\n";
while (<LOG>) {
$found_desc++, next if (m/^description:$/);
$headrev = $1 if (!$found_desc && m/^head: (\d+[\.\d+]+)$/);
$rev = $1 if (m/^revision (\d+[\.\d+]+)$/);
if (m/^date:.* author: ([^;]*);.*/) {
$username = $1;
if (m/lines: \+([0-9]*) -([0-9]*)/) {
$lines_added = $1;
$lines_removed = $2;
}
# Add the head revision entry
if ($headrev eq $rev) {
push(@outlist,
("A|$time|$username|$cvsroot|$dir|$file|$headrev|" .
"||$lines_added|$lines_removed\n"));
last;
}
}
}
close(LOG);
}
# Process changed imported files
my $search_tag = $import_tags[0];
my ($search_rev, $found_rev, $found_srev);
foreach $fn (@import_changed_files) {
my ($file, $dir, $suffix) = &fileparse($fn, ",v");
$dir =~ s@/$@@;
$found_desc = 0;
$found_rev = 0;
$found_srev = 0;
$search_rev = '';
$lines_added = 0;
$lines_removed = 0;
last if (!defined($search_tag));
$rcsfile = "$envcvsroot/$dir/${file},v";
if (! -r $rcsfile) {
$rcsfile = "$envcvsroot/$dir/Attic/${file},v";
}
$rlogcmd = "$rlogcommand " . &shell_escape($rcsfile);
open(LOG, "$rlogcmd |") ||
print STDERR "dolog.pl: Couldn't run import rlog\n";
while (<LOG>) {
$found_desc++, next if (m/^description:$/);
if (!$found_desc && m/^\s*$search_tag: (\d+[\.\d+]+)$/) {
$search_rev = $1;
$found_srev++;
next;
}
if (!$found_desc && $found_srev && m/^\s*[\w-]+: $search_rev$/) {
# Revision already exists so no actual changes
# were made during this import, so do nothing
last;
}
$found_rev++, next if ($found_srev && m/^revision $search_rev$/);
if ($found_rev && m/^date:.* author: ([^;]*);.*/) {
$username = $1;
if (m/lines: \+([0-9]*) -([0-9]*)/) {
$lines_added = $1;
$lines_removed = $2;
}
push(@outlist,
("C|$time|$username|$cvsroot|$dir|$file|$search_rev|" .
"$search_tag||$lines_added|$lines_removed\n"));
last;
}
}
close(LOG);
}
# make sure dolog has something to parse when it sends its load off
if (!scalar(@log_lines)) {
push @log_lines, "EMPTY LOG MESSAGE";
}
push(@outlist, "LOGCOMMENT\n");
push(@outlist, join("\n",@log_lines));
push(@outlist, "\n:ENDLOGCOMMENT\n");
}
sub process_tag_command {
local($str,$part,$time);
$time = time;
$str = "Tag|$cvsroot|$time";
while (@ARGV) {
$part = shift @ARGV;
$str .= "|" . $part;
}
push(@outlist, ("$str\n"));
}
sub do_commitinfo {
}
sub mail_notification {
chop(my $hostname = `hostname --fqdn`);
my $mailer;
if ($use_sendmail) {
$mailer = Mail::Mailer->new("sendmail");
} else {
$mailer = Mail::Mailer->new("smtp", Server => $mailhost);
}
die("Failed to send mail notification\n") if !defined($mailer);
my %headers;
$headers{'From'} = "bonsai-daemon\@$hostname";
$headers{'To'} = \@mailto;
if ($flag_tagcmd) {
$headers{'Subject'} = "cvs tag in $repository";
} else {
$headers{'Subject'} = "cvs commit to $repository";
}
$mailer->open(\%headers);
print $mailer @outlist;
$mailer->close;
}
sub stdout_notification {
chop(my $hostname = `hostname`);
print "MAIL FROM: bonsai-daemon\@$hostname\n";
print "RCPT TO: root\@localhost\n";
print "DATA\n";
if ($flag_tagcmd) {
print "Subject: cvs tag in $repository\n";
} else {
print "Subject: cvs commit to $repository\n";
}
print "\n";
print @outlist, "\n";
print ".\n";
}
# Quotify a string, suitable for invoking a shell process
sub shell_escape {
my ($file) = @_;
$file =~ s/([ \"\'\?\$\&\|\!<>\(\)\[\]\;\:])/\\$1/g;
return $file;
}

View File

@@ -1,21 +0,0 @@
# The "editinfo" file is used to allow verification of logging
# information. It works best when a template (as specified in the
# rcsinfo file) is provided for the logging procedure. Given a
# template with locations for, a bug-id number, a list of people who
# reviewed the code before it can be checked in, and an external
# process to catalog the differences that were code reviewed, the
# following test can be applied to the code:
#
# Making sure that the entered bug-id number is correct.
# Validating that the code that was reviewed is indeed the code being
# checked in (using the bug-id number or a seperate review
# number to identify this particular code set.).
#
# If any of the above test failed, then the commit would be aborted.
#
# Actions such as mailing a copy of the report to each reviewer are
# better handled by an entry in the loginfo file.
#
# One thing that should be noted is the the ALL keyword is not
# supported. There can be only one entry that matches a given
# repository.

View File

@@ -1,40 +0,0 @@
# The "loginfo" file controls where "cvs commit" log information
# is sent. The first entry on a line is a regular expression which must match
# the directory that the change is being made to, relative to the
# $CVSROOT. If a match is found, then the remainder of the line is a filter
# program that should expect log information on its standard input.
#
# If the repository name does not match any of the regular expressions in this
# file, the "DEFAULT" line is used, if it is specified.
#
# If the name ALL appears as a regular expression it is always used
# in addition to the first matching regex or DEFAULT.
#
# You may specify a format string as part of the
# filter. The string is composed of a `%' followed
# by a single format character, or followed by a set of format
# characters surrounded by `{' and `}' as separators. The format
# characters are:
#
# s = file name
# V = old version number (pre-checkin)
# v = new version number (post-checkin)
#
ALL $CVSROOT/CVSROOT/dolog.pl -h 127.0.0.1 -r /cvsroot bonsai-checkin-daemon@bonsai.mozilla.org
# send mail for new files added
ALL $CVSROOT/CVSROOT/cvsmailfilter.pl -a -u http://bonsai.mozilla.org -r /cvsroot -s %s cvs-adds@mozilla.org
# crypto checkins deserve more attention
mozilla/security $CVSROOT/CVSROOT/cvsmailfilter.pl -c -u http://bonsai.mozilla.org -r /cvsroot -s %s dev-tech-crypto-checkins@lists.mozilla.org
mozilla/extensions/psm-glue $CVSROOT/CVSROOT/cvsmailfilter.pl -c -u http://bonsai.mozilla.org -r /cvsroot -s %s dev-tech-crypto-checkins@lists.mozilla.org
mozilla/netwerk/security $CVSROOT/CVSROOT/cvsmailfilter.pl -c -u http://bonsai.mozilla.org -r /cvsroot -s %s dev-tech-crypto-checkins@lists.mozilla.org
mozilla/netwerk/protocol/http/src $CVSROOT/CVSROOT/cvsmailfilter.pl -c -u http://bonsai.mozilla.org -r /cvsroot -s %s dev-tech-crypto-checkins@lists.mozilla.org
mozilla/netwerk/socket/ssl $CVSROOT/CVSROOT/cvsmailfilter.pl -c -u http://bonsai.mozilla.org -r /cvsroot -s %s dev-tech-crypto-checkins@lists.mozilla.org
mozilla/netwerk/socket/tests $CVSROOT/CVSROOT/cvsmailfilter.pl -c -u http://bonsai.mozilla.org -r /cvsroot -s %s dev-tech-crypto-checkins@lists.mozilla.org
mozilla/dbm $CVSROOT/CVSROOT/cvsmailfilter.pl -c -u http://bonsai.mozilla.org -r /cvsroot -s %s dev-tech-crypto-checkins@lists.mozilla.org
# misc modules
mozilla/webtools/bugzilla $CVSROOT/CVSROOT/cvsmailfilter.pl -c -u http://bonsai.mozilla.org -r /cvsroot -s %s cvs-checkins@bugzilla.org
mozilla/testing/performance/talos $CVSROOT/CVSROOT/cvsmailfilter.pl -c -u http://bonsai.mozilla.org -r /cvsroot -s %s dev-tree-management@lists.mozilla.org
CVSROOT $CVSROOT/CVSROOT/cvsmailfilter.pl -c -u http://bonsai.mozilla.org -r /cvsroot -s %s -f modules sysalerts@mozilla.org

View File

@@ -1,866 +0,0 @@
# Three different line formats are valid:
# key -a aliases...
# key [options] directory
# key [options] directory files...
#
# Where "options" are composed of:
# -i prog Run "prog" on "cvs commit" from top-level of module.
# -o prog Run "prog" on "cvs checkout" of module.
# -e prog Run "prog" on "cvs export" of module.
# -t prog Run "prog" on "cvs rtag" of module.
# -u prog Run "prog" on "cvs update" of module.
# -d dir Place module in directory "dir" instead of module name.
# -l Top-level directory only -- do not recurse.
#
# NOTE: If you change any of the "Run" options above, you'll have to
# release and re-checkout any working directories of these modules.
#
# And "directory" is a path to a directory relative to $CVSROOT.
#
# The "-a" option specifies an alias. An alias is interpreted as if
# everything on the right of the "-a" had been typed on the command line.
#
# You can encode a module within a module by using the special '&'
# character to interpose another module into the current module. This
# can be useful for creating a module that consists of many directories
# spread out over the entire source repository.
######################################################################
#
# Module that contains the LEGAL and the LICENSE file. This should be
# a part of every logical source pull for a component. Care should
# be given so that this module is not specified twice for a given
# source pull.
#
MozillaLicense -a \
mozilla/LEGAL \
mozilla/LICENSE
Grendel -a \
MozillaLicense \
mozilla/grendel
######################################################################
#
# Modules for the MozillaClassic Browser, based on the original
# layout engine. If you wish to develop on the Mozilla Classic
# codebase, pull using these modules and using the branch tag
# MozillaSourceClassic_19981026_BRANCH.
# These modules should be considered obsolete.
#
MozillaSource -a \
MozillaSourceWin \
MozillaSourceMac \
MozillaSourceUnix
MozillaSourceWin -a \
MozillaSourceCommon \
MozillaSourceWinOnly
MozillaSourceMac -a \
MozillaSourceCommon \
MozillaSourceMacOnly
MozillaSourceUnix -a \
MozillaSourceCommon \
MozillaSourceUnixOnly \
mozilla/cmd/xfe \
mozilla/cmd/gnomefe \
mozilla/cmd/qtfe \
mozilla/cmd/ybfe
MozillaSourceMotif -a \
MozillaSourceCommon \
mozilla/cmd/xfe \
MozillaSourceUnixOnly
MozillaSourceQtfe -a \
MozillaSourceCommon \
mozilla/cmd/qtfe \
MozillaSourceUnixOnly
MozillaSourceGnomefe -a \
MozillaSourceCommon \
mozilla/cmd/gnomefe \
MozillaSourceUnixOnly
MozillaSourceYbfe -a \
MozillaSourceCommon \
mozilla/cmd/ybfe \
MozillaSourceUnixOnly
MozillaSourceCommon -a \
mozilla/LEGAL \
mozilla/LICENSE \
mozilla/base \
mozilla/build \
!mozilla/build/mac/client.mac \
mozilla/include \
mozilla/caps \
mozilla/jpeg \
mozilla/js \
mozilla/lib/htmldlgs \
mozilla/lib/layout \
mozilla/lib/libcnv \
mozilla/lib/libdom \
mozilla/lib/libi18n \
mozilla/lib/liblayer \
mozilla/lib/libmisc \
mozilla/lib/libmime \
mozilla/lib/libmocha \
mozilla/lib/libnet \
mozilla/lib/libparse \
mozilla/lib/libpics \
mozilla/lib/libpwcac \
mozilla/lib/libstyle \
mozilla/lib/mailto \
mozilla/lib/plugin \
mozilla/lib/xlate \
mozilla/lib/xp \
mozilla/modules/calendar \
mozilla/modules/edtplug/classes \
mozilla/modules/edtplug/src \
mozilla/modules/edtplug/include \
mozilla/modules/libfont/classes \
mozilla/modules/libfont/public \
mozilla/modules/libfont/src \
mozilla/modules/libhook \
mozilla/modules/libimg \
mozilla/modules/libnls \
mozilla/modules/libpref \
mozilla/modules/libreg \
mozilla/modules/libutil \
mozilla/modules/oji \
mozilla/modules/plugin \
mozilla/modules/progress/src \
mozilla/modules/rdf \
mozilla/modules/schedulr \
mozilla/modules/security/freenav \
mozilla/modules/softupdt/classes \
mozilla/modules/softupdt/include \
mozilla/modules/softupdt/src \
mozilla/modules/xml \
mozilla/modules/zlib/src \
mozilla/nav-java/stubs \
mozilla/network \
mozilla/nsprpub \
mozilla/privacy \
mozilla/xpcom \
mozilla/l10n \
mozilla/dbm \
mozilla/README
MozillaSourceWinOnly -a \
mozilla/client.mak \
mozilla/cmd/makefile.win \
mozilla/cmd/wincom \
mozilla/cmd/winfe \
mozilla/config \
mozilla/lib/makefile.win \
mozilla/modules/coreincl \
mozilla/modules/edtplug/makefile.win \
mozilla/makefile.win \
mozilla/modules/libfont/jmcgen \
mozilla/modules/libfont/makefile.win \
mozilla/modules/libfont/producers/makefile.win \
mozilla/modules/libfont/producers/win \
mozilla/modules/libfont/producers/win/classes \
mozilla/modules/libfont/producers/win/classes/netscape \
mozilla/modules/libfont/producers/win/src \
mozilla/modules/makefile.win \
mozilla/modules/progress/makefile.win \
mozilla/modules/progress/public \
mozilla/modules/security/makefile.win \
mozilla/modules/softupdt/makefile.win \
mozilla/modules/zlib/makefile.win \
mozilla/nav-java/makefile.win \
JavaStubWin
MozillaSourceUnixOnly -a \
mozilla/.cvsignore \
mozilla/Makefile \
mozilla/Makefile.in \
mozilla/configure \
mozilla/configure.in \
mozilla/allmakefiles.sh \
mozilla/cmd/Makefile \
mozilla/cmd/Makefile.in \
mozilla/cmd/stubfe \
mozilla/cmd/unixfe \
mozilla/config/.cvsignore \
mozilla/config/AIX.mk \
mozilla/config/BSD_OS.mk \
mozilla/config/DGUX.mk \
mozilla/config/FreeBSD.mk \
mozilla/config/HP-UX.mk \
mozilla/config/IRIX.mk \
mozilla/config/Linux.mk \
mozilla/config/NCR.mk \
mozilla/config/NEC.mk \
mozilla/config/NEWS-OS.mk \
mozilla/config/NEXTSTEP.mk \
mozilla/config/NetBSD.mk \
mozilla/config/OSF1.mk \
mozilla/config/OpenBSD.mk \
mozilla/config/QNX.mk \
mozilla/config/Rhapsody.mk \
mozilla/config/SCOOS.mk \
mozilla/config/SINIX.mk \
mozilla/config/SunOS.mk \
mozilla/config/SunOS4.mk \
mozilla/config/SunOS5.mk \
mozilla/config/UNIXWARE.mk \
mozilla/config/common.mk \
mozilla/config/config.mk \
mozilla/config/coreconf.mk \
mozilla/config/rules.mk \
mozilla/config/Makefile \
mozilla/config/Makefile.in \
mozilla/config/autoconf.mk.in \
mozilla/config/bdate.c \
mozilla/config/bdate.pl \
mozilla/config/aboutime.pl \
mozilla/config/bsdecho.c \
mozilla/config/clobber_miss.pl \
mozilla/config/config.guess \
mozilla/config/cvsco.pl \
mozilla/config/fastcwd.pl \
mozilla/config/gtscc.c \
mozilla/config/makecopy.c \
mozilla/config/mangle.c \
mozilla/config/mantomak.c \
mozilla/config/mkdepend \
mozilla/config/mkdetect \
mozilla/config/nfspwd.pl \
mozilla/config/nodl.pl \
mozilla/config/nsinstall.c \
mozilla/config/outofdate.pl \
mozilla/config/pathsub.c \
mozilla/config/pathsub.h \
mozilla/config/pkg2dpth.pl \
mozilla/config/ports \
mozilla/config/revdepth.pl \
mozilla/config/set-timebomb.pl \
mozilla/config/sj.pl \
mozilla/lib/Makefile \
mozilla/lib/Makefile.in \
mozilla/modules/edtplug/Makefile \
mozilla/modules/edtplug/Makefile.in \
mozilla/modules/libfont/jmcgen \
mozilla/modules/libfont/Makefile \
mozilla/modules/libfont/Makefile.in \
mozilla/modules/libfont/producers/Makefile \
mozilla/modules/libfont/producers/Makefile.in \
mozilla/modules/Makefile \
mozilla/modules/Makefile.in \
mozilla/modules/progress/Makefile \
mozilla/modules/progress/Makefile.in \
mozilla/modules/progress/public \
mozilla/modules/security/Makefile \
mozilla/modules/security/Makefile.in \
mozilla/modules/softupdt/Makefile \
mozilla/modules/softupdt/Makefile.in \
mozilla/modules/zlib/Makefile \
mozilla/modules/zlib/Makefile.in \
mozilla/nav-java/Makefile \
mozilla/nav-java/Makefile.in \
mozilla/lib/mariner \
JavaStubUnix
MozillaSourceMacOnly -a \
mozilla/config/mac \
mozilla/config/bdate.pl \
mozilla/config/aboutime.pl \
mozilla/config/mac-set-timebomb.pl \
mozilla/cmd/macfe \
mozilla/lib/mac/AutoAdmin \
mozilla/lib/mac/Includes \
mozilla/lib/mac/MacMemoryAllocator \
mozilla/lib/mac/Misc \
mozilla/lib/mac/MoreFiles \
mozilla/lib/mac/NSRuntime \
mozilla/lib/mac/NSStdLib \
mozilla/lib/mac/patches \
mozilla/lib/mac/PowerPlant \
mozilla/lib/mac/UserInterface \
mozilla/modules/coreincl \
mozilla/modules/edtplug/macbuild \
mozilla/modules/libfont \
mozilla/modules/progress/macbuild \
mozilla/modules/progress/public \
mozilla/modules/softupdt/macbuild \
mozilla/modules/zlib/macbuild \
mozilla/lib/mariner \
JavaStubMac
JavaStubAll -a \
JavaStubWin \
JavaStubMac \
JavaStubUnix
JavaStubCore -a \
mozilla/sun-java/stubs/include \
mozilla/sun-java/stubs/src
JavaStubMac -a \
JavaStubCore \
mozilla/sun-java/stubs/macbuild \
mozilla/sun-java/stubs/macjri
JavaStubUnix -a \
JavaStubCore \
mozilla/sun-java/Makefile \
mozilla/sun-java/Makefile.in \
mozilla/sun-java/stubs/jri \
mozilla/sun-java/stubs/Makefile \
mozilla/sun-java/stubs/Makefile.in
JavaStubWin -a \
JavaStubCore \
mozilla/sun-java/makefile.win \
mozilla/sun-java/stubs/jri \
mozilla/sun-java/stubs/makefile.win
######################################################################
#
# Modules for the raptor layout effort. Note that raptor dist is temporary
# until raptor is integrated into the mainline build.
#
RaptorDoc -a \
mozilla/LICENSE \
mozilla/LEGAL \
mozilla/README/nglayout
RaptorDist -a \
mozilla/configure.in \
mozilla/allmakefiles.sh \
mozilla/Makefile.in \
mozilla/makefile.win \
mozilla/build \
!mozilla/build/mac/client.mac \
mozilla/caps \
mozilla/config \
mozilla/dbm \
mozilla/editor \
mozilla/include \
mozilla/intl \
mozilla/jpeg \
JSClient \
mozilla/lib/liblayer \
mozilla/lib/libpwcac \
mozilla/lib/xp \
mozilla/modules/libimg \
mozilla/modules/libjar \
mozilla/modules/libpref \
mozilla/modules/libreg \
mozilla/modules/libutil \
mozilla/modules/oji \
mozilla/modules/plugin \
mozilla/modules/security/freenav \
mozilla/modules/zlib \
mozilla/nav-java \
mozilla/network \
mozilla/nsprpub \
mozilla/rdf \
mozilla/silentdl \
mozilla/sun-java \
mozilla/xpcom
RaptorLayout -a \
mozilla/base \
mozilla/dom \
mozilla/gfx \
mozilla/expat \
mozilla/htmlparser \
mozilla/layout \
mozilla/view \
mozilla/webshell \
mozilla/widget
Raptor -a \
RaptorDoc \
RaptorDist \
RaptorLayout
RaptorWin -a \
Raptor
RaptorUnix -a \
Raptor \
mozilla/aclocal.m4 \
mozilla/nglayout.mk
RaptorMac -a \
Raptor \
mozilla/build/mac \
mozilla/cmd/macfe/applevnt \
mozilla/cmd/macfe/central \
mozilla/cmd/macfe/gui \
mozilla/cmd/macfe/include \
mozilla/cmd/macfe/pch \
mozilla/cmd/macfe/projects \
mozilla/cmd/macfe/utility \
mozilla/lib/mac/MacMemoryAllocator \
mozilla/lib/mac/Misc \
mozilla/lib/mac/MoreFiles \
mozilla/lib/mac/NSRuntime \
mozilla/lib/mac/NSStdLib \
mozilla/lib/mac/PowerPlant
#####################
# An all inclusive modules for tinderbox to use
#####################
RaptorAll -a \
RaptorWin \
RaptorUnix \
RaptorMac
#####################
# Transformiix module (xslt processor)
#####################
TransformiixStandalone -a \
mozilla/config \
mozilla/expat \
mozilla/extensions/transformiix
#######################################################################
# Modules for the Directory SDK. There are two users of the libldap
# Mozilla and the DirectorySDK. Maintained by Chuck Boatwright
# cboatwri@netscape.com
#
DirectorySDKSource -a \
DirectorySDKSourceCommon \
DirectorySDKSourceBuild
DirectorySDKSourceC -a \
mozilla/directory/ldapsdk.mak \
mozilla/directory/ldapsdk.mk \
mozilla/directory/buildsdk.txt \
mozilla/directory/Makefile \
mozilla/directory/c-sdk
DirectorySDKSourceJava -a \
mozilla/directory/buildjsdk.txt \
mozilla/directory/java-sdk
DirectorySDKSourceCommon -a \
DirectorySDKSourceC \
DirectorySDKSourceJava
DirectorySDKSourceBuild -a \
mozilla/config \
mozilla/nsprpub
PerLDAP -a \
mozilla/directory/perldap
#######################################################################
# Modules for the Messenging Server SDK. Code maintained by Prasad Yendluri
# (prasad@netscape.com)
#
MessagingSDK -a \
mozilla/msgsdk
#######################################################################
# Modules for Calendar client.
# (spider@netscape.com)
#
CalendarClient -a \
mozilla/calendar \
mozilla/modules/calendar \
mozilla/htmlparser \
mozilla/gconfig \
mozilla/gfx \
mozilla/widget \
mozilla/xpfc \
mozilla/view
#######################################################################
# Modules for the JavaScript
# (fur@netscape.com)
#
JSRef -a \
mozilla/js/src
#
# Can't pull all of js/src, because the server-style config filenames
# are illegal on some operating systems.
#
JSClient -a \
mozilla/js/Makefile.in \
mozilla/js/makefile.win \
mozilla/js/macbuild \
mozilla/js/src \
mozilla/js/.cvsignore \
!mozilla/js/src/config \
!mozilla/js/src/editline \
!mozilla/js/src/liveconnect/config \
!mozilla/js/src/mininspr \
!mozilla/js/src/os \
!mozilla/js/src/perlconnect \
!mozilla/js/src/sh \
!mozilla/js/src/xpcom
#######################################################################
# Modules for SeaMonkey
# (5.0 Browser and 5.0 Mail/News based on nglayout)
#
# Initial wild ass guess: cyeh@netscape.com
# Second guess: mcafee@netscape.com
#
# We might want to do the platform-specific stuff like:
# SeaMonkeyCoreFoo = SeaMonkeyCore + <stuff for platform Foo>
# and so on, for each module.
#
NSPR -a \
mozilla/nsprpub
SeaMonkeyCore -a \
mozilla/.cvsignore \
mozilla/README \
mozilla/README.txt \
mozilla/client.mk \
mozilla/client.mak \
mozilla/configure \
mozilla/configure.in \
mozilla/allmakefiles.sh \
mozilla/Makefile.in \
mozilla/makefile.win \
mozilla/aclocal.m4 \
mozilla/build \
!mozilla/build/mac/client.mac \
mozilla/caps \
mozilla/config \
mozilla/dbm \
mozilla/db/.cvsignore \
mozilla/db/Makefile.in \
mozilla/db/makefile.win \
mozilla/db/mork \
mozilla/db/mdb \
mozilla/docshell \
mozilla/embedding \
mozilla/gc/boehm \
mozilla/include \
mozilla/intl \
mozilla/jpeg \
mozilla/js/jsd \
!mozilla/js/jsd/jsdb \
!mozilla/js/jsd/classes \
!mozilla/js/jsd/corba \
!mozilla/js/jsd/java \
!mozilla/js/jsd/javawrap \
JSClient \
mozilla/lib/mac/MacMemoryAllocator \
mozilla/lib/mac/Misc \
mozilla/lib/mac/MoreFiles \
mozilla/lib/mac/NSRuntime \
mozilla/lib/mac/NSStdLib \
mozilla/lib/mac/NSStartup \
mozilla/lib/mac/PowerPlant \
mozilla/lib/mac/InterfaceLib \
mozilla/lib/mac/embedding \
mozilla/modules/appfilelocprovider \
mozilla/modules/libimg \
mozilla/modules/libjar \
mozilla/modules/libpref \
mozilla/modules/libreg \
mozilla/modules/libutil \
mozilla/modules/mpfilelocprovider \
mozilla/modules/oji \
mozilla/modules/plugin \
mozilla/modules/security/freenav \
mozilla/modules/staticmod \
mozilla/modules/zlib \
mozilla/nav-java \
mozilla/network \
mozilla/netwerk \
mozilla/nglayout.mk \
mozilla/plugin/oji \
mozilla/profile \
mozilla/rdf \
mozilla/string \
mozilla/sun-java \
mozilla/tools/leaky \
mozilla/tools/preloader \
mozilla/tools/elf-dynstr-gc \
mozilla/uriloader \
mozilla/xpcom \
mozilla/xpinstall \
MozillaLicense
SeaMonkeyLayout -a \
SeaMonkeyCore \
mozilla/content \
mozilla/dom \
mozilla/gfx \
mozilla/htmlparser \
mozilla/parser \
mozilla/layout \
mozilla/view \
mozilla/webshell \
mozilla/widget \
mozilla/expat
SeaMonkeyXPToolKit -a \
SeaMonkeyLayout \
mozilla/themes \
mozilla/xpfe
SeaMonkeyBrowser -a \
mozilla/directory/xpcom \
mozilla/editor/Makefile.in \
mozilla/editor/public \
mozilla/extensions \
SeaMonkeyXPToolKit
# This needs work!
SeaMonkeyMailNews -a \
SeaMonkeyLayout \
mozilla/mailnews \
!mozilla/mailnews/db/mdb \
!mozilla/mailnews/db/mork \
SeaMonkeyEditor -a \
SeaMonkeyBrowser \
mozilla/editor \
mozilla/mailnews
SeaMonkeyL10n -a \
mozilla/l10n/makefile.win \
mozilla/l10n/makefiles.all \
mozilla/l10n/Makefile.in \
mozilla/l10n/langpacks/makefile.win \
mozilla/l10n/langpacks/Makefile.in \
mozilla/l10n/langpacks/en-DE \
mozilla/l10n/langpacks/en-GB
#############################################################
# This module is the whole banana, and this
# is the module that tinderbox and bonsai should
# track.
#
# Right now Editor pulls Browser which pulls XPToolKit
# which pulls Layout which pulls Core. But eventually,
# there will be more differentiation and uniqueness so
# All will need to contain more than Editor. Perhaps it
# will contain SeaMonkeyUnix, SeaMonkeyMac, SeaMonkeyWin
# et cetera, et cetera, et cetera. But that is in the
# future. --sarah
#
SeaMonkeyAll -a \
SeaMonkeyEditor \
SeaMonkeyL10n
Blackwood -a \
mozilla/java
SeaMonkeyBlackwood -a \
SeaMonkeyAll \
Blackwood
#############################################################
#
# Alexander Larsson's GTK+ widget for embedding mozilla into
# gtk applications.
#
#############################################################
GtkMozilla -a \
mozilla/webshell/embed/gtk
############################################################
#
# Module for Chimera, the embedded MacOSX browser.
# Because this project is mixing a branched SeaMonkeyAll
# with a trunk mozilla/chimera, we need a small module here
# for tinderbox to track mozilla/chimera. This module
# should be temporary until mozilla/chimera joins another
# major module. -mcafee
#
# 3/3/03: Chimera -> Camino name change. Temporarily adding
# new camino directory to Chimera, also adding new Camino
# module. -mcafee
#############################################################
Chimera -a \
mozilla/chimera \
mozilla/camino \
SeaMonkeyAll
Camino -a \
mozilla/camino \
SeaMonkeyAll
#############################################################
#
# Modules For Webtools
#
#############################################################
Bugzilla -a \
mozilla/webtools/bugzilla
Bonsai -a \
mozilla/webtools/bonsai
LXR -a \
mozilla/webtools/lxr
Tinderbox -a \
mozilla/webtools/tinderbox
Testopia -a \
mozilla/webtools/testopia
Webtools -a \
Bugzilla \
Bonsai \
LXR \
Tinderbox
#############################################################
#
# Module for the java webclient (edburns)
#
#############################################################
Webclient -a \
mozilla/java/Makefile.in \
mozilla/java/build.xml \
mozilla/java/README \
mozilla/java/config \
mozilla/java/dom/README \
mozilla/java/dom/build.xml \
mozilla/java/dom/classes \
mozilla/java/dom/jni \
mozilla/java/dom/src \
mozilla/java/external \
mozilla/java/makefiles \
mozilla/java/util \
mozilla/java/webclient \
mozilla/java/webclient/README \
mozilla/java/webclient/build-tests.xml \
mozilla/java/webclient/build.xml \
mozilla/java/webclient/classes_spec \
mozilla/java/webclient/config \
mozilla/java/webclient/src_ie \
mozilla/java/webclient/src_moz \
mozilla/java/webclient/src_share \
mozilla/java/webclient/test/automated \
mozilla/java/webclient/test/manual \
mozilla/java/dist
#############################################################
#
# Modules for Network Security Services
# Java Security Services
#
#############################################################
NSS -a \
mozilla/dbm \
mozilla/security/dbm \
mozilla/security/nss \
mozilla/security/coreconf
JSS -a \
mozilla/security/jss
SecurityServices -a \
mozilla/security/tinderbox \
NSPR \
NSS \
JSS
#############################################################
#
# Module for Mozilla Tinderbox
#
#############################################################
CoreTinderboxAll -a \
SeaMonkeyAll \
mozilla/security/psm \
mozilla/accessible \
mozilla/ipc/ipcd \
mozilla/security/manager \
mozilla/tools/trace-malloc \
mozilla/modules/lcms \
mozilla/modules/libpr0n \
mozilla/modules/libmar \
mozilla/modules/libbz2 \
mozilla/toolkit \
mozilla/storage \
mozilla/db/morkreader \
mozilla/db/sqlite3 \
mozilla/memory/jemalloc \
TestHarness
# should this be called SuiteTinderboxAll ?
MozillaTinderboxAll -a \
CoreTinderboxAll \
mozilla/suite \
mozilla/xulrunner
# mozilla uses mozilla/security/manager from
# the tip, not the nss branch
#
# commenting out NSS because the client uses a static tag so watching
# checkins as they happen is of no use to us
# NSS \
# commenting out NSPR because tinderbox is broken in such a way that
# checkins to the branch (which we care about) do not show up but
# checkins do the tip (which we don't care about) do. Getting rid of
# this so its not 100% false positives.
# NSPR \
# same with ldap
# mozilla/directory/c-sdk
# This module will let us track branches where all the subcomponents
# are on the same tag
CoreBranchTinderboxAll -a \
CoreTinderboxAll \
NSS \
NSPR \
mozilla/directory/c-sdk
# should this be called SuiteBranchTinderboxAll ?
MozillaBranchTinderboxAll -a \
CoreBranchTinderboxAll \
mozilla/suite
AviaryBranchTinderbox -a \
CoreBranchTinderboxAll \
mozilla/browser \
mozilla/chrome \
mozilla/mail
# thunderbird's tinderbox module
ThunderbirdTinderbox -a \
CoreTinderboxAll \
mozilla/mail \
mozilla/chrome
# this is for the phoenix tinderbox
PhoenixTinderbox -a \
CoreTinderboxAll \
mozilla/browser \
mozilla/chrome \
!mozilla/extensions/irc
# For special trees like Mozilla 1.8 --chase
AviarySuiteBranchTinderbox -a \
CoreBranchTinderboxAll \
mozilla/browser \
mozilla/chrome \
mozilla/mail \
mozilla/suite
# Test Harness code
TestHarness -a \
mozilla/tools/test-harness/xpcshell-simple \
mozilla/testing/crashtest \
mozilla/testing/mochitest

View File

@@ -1,14 +0,0 @@
# The "notify" file controls where notifications from watches set by
# "cvs watch add" or "cvs edit" are sent. The first entry on a line is
# a regular expression which is tested against the directory that the
# change is being made to, relative to the $CVSROOT. If it matches,
# then the remainder of the line is a filter program that should contain
# one occurrence of %s for the user to notify, and information on its
# standard input.
#
# "ALL" or "DEFAULT" can be used in place of the regular expression.
#
# For example:
#ALL mail %s -s "CVS notification"
ALL $CVSROOT/CVSROOT/sendnotification.pl %s

View File

@@ -1,338 +0,0 @@
# DO NOT EDIT THIS FILE! You must instead go to https://despot.mozilla.org/, and
# tweak things from there.
aaronleventhal%moonset.net:S0MUPohMWfaMo:cvsuser
aaronr%us.ibm.com:Fk/Gm8/Pavt5E:cvsuser
ajschult%verizon.net:586bcad8BLjJ.:cvsuser
akkzilla%shallowsky.com:LyPNKDRAkCEfM:cvsuser
alecf%flett.org:xY/EzwiSEg43U:cvsuser
alex%croczilla.com:.qnz.iJA.rUaQ:cvsuser
alexei.volkov.bugs%sun.com:4kk40jCYel.cQ:cvsuser
alfred.peng%sun.com:XeuD7j8pQQlfU:cvsuser
allan%beaufour.dk:HqCPQ9INvQHOk:cvsuser
alqahira%ardisson.org:/Q09uNupx65ko:cvsuser
amardare%qnx.com:.nnbfi3s/6pLw:cvsuser
andreas.otte%debitel.net:kydQ2aAIGwhkA:cvsuser
annie.sullivan%gmail.com:udBz8JbukFZ8I:cvsuser
anodelman%mozilla.com:GbVxnw5oI8qDM:cvsuser
anton.bobrov%sun.com:I/GPt4WI84v2s:cvsuser
antonio.gomes%indt.org.br:5Th4Q/mTAB6fg:cvsuser
aravind%mozilla.com:QBQ7ZP8fvKCk2:cvsuser
asa%mozilla.org:KwQFH5YHrDGVw:cvsuser
asac%jwsdot.com:5Ttz4cO1tOAUI:cvsuser
asasaki%mozilla.com:OvcxjU43UXiZU:cvsuser
asqueella%gmail.com:.UwhPbirT2aic:cvsuser
atremon%elansoftware.com:W3ra7Lu0bCR92:cvsuser
ause%sun.com:J7sS6Z5BS4BsA:cvsuser
axel%pike.org:J0ntXH8PN.yTA:cvsuser
bbaetz%acm.org:JhmLaLDTsT/h2:cvsuser
bclary%bclary.com:TYy8zRTOlkZWU:cvsuser
bear%mozilla.com:QPUD827Visics:cvsuser
beckley%qualcomm.com:oqzqNk6Hm.K52:cvsuser
benc%meer.net:.mc9O4VQuREws:cvsuser
beng%bengoodger.com:qP3ON3NucalGw:cvsuser
benjamin%smedbergs.us:dvB/veJh3IxkM:cvsuser
bent.mozilla%gmail.com:VTFl7s.ZNXBIc:cvsuser
bhearsum%mozilla.com:bc9sC.7gLvhWA:cvsuser
bienvenu%nventure.com:dzcEj09V1HQLg:cvsuser
biswatosh.chakraborty%sun.com:Cj89QwJpG0/hc:cvsuser
blassey%mozilla.com:gIEKQwXOhM9z2:cvsuser
blizzard%mozilla.com:qNva3X2geFCuY:cvsuser
bmlk%gmx.de:diOpGSeH3syIs:cvsuser
bobbyholley%gmail.com:UEdaVxj7BVsMY:cvsuser
brade%comcast.net:ouetdVzWLzsWs:cvsuser
BradleyJunk%cinci.rr.com:EOOl4wp9MNcU6:cvsuser
brendan%mozilla.org:N7wZcaY7Bs9nw:cvsadm
brettw%gmail.com:Jm1XbKZwUGoHs:cvsuser
browning%uwalumni.com:MgeOzDk/xxhD6:cvsuser
bryner%brianryner.com:gy5stVpStoVNw:cvsuser
bugreport%peshkin.net:PgnY246SzUcHk:cvsuser
bugzilla%babylonsounds.com:/Cu/c717IBD1w:cvsuser
bugzilla%glob.com.au:O.LFwfIctGxh6:cvsuser
bugzilla%standard8.plus.com:lmzqmqShGzGYs:cvsuser
burnus%gmx.de:RBozBY9sekJRM:cvsuser
bz%barnson.org:hRMbA3bW5q6Ak:cvsuser
bzbarsky%mit.edu:YySJ0ECW0UqcM:cvsuser
bzrmirror%bugzilla.org:do0ZvZ/z.1YQM:cvsuser
caillon%redhat.com:S5LpV7HM4OOzo:cvsuser
callek%gmail.com:7c0ZoYCqNF3qk:cvsuser
catlee%mozilla.com:eY4mh1o1mljjg:cvsuser
cbarrett%mozilla.com:TFDyorFt/0ICk:cvsuser
cbiesinger%gmail.com:SmMxtOg6tGNJg:cvsuser
ccooper%deadsquid.com:.a8HcC8mM7pks:cvsuser
Chris.Yeh%nokia.com:98WX9EeAZIt/6:cvsuser
christophe.ravel.bugs%sun.com:m72kIhpCT13sg:cvsuser
cls%seawood.org:YLAr7ajnaXezg:cvsuser
cltbld%netscape.com:mla4CZgCloBSU:cvsuser
cmp%mozilla.org:N6s8fO4X.RRV.:cvsuser
cpeyer%adobe.com:/J3KHO2IWNqBk:cvsuser
crowder%fiverocks.com:nTJiASZEqtksI:cvsuser
cst%yecc.com:FsXA0AnQhG/kg:cvsuser
ctalbert%mozilla.com:9UNADg/pEZyzA:cvsuser
daniel%glazman.org:voZRrCYpgF9AU:cvsuser
danm-moz%comcast.net:3h6FdkzmMqnyA:cvsuser
dansmith%adobe.com:XXuMiHbfmTlRQ:cvsuser
dao%mozilla.com:s.1QwzYPRMD5c:cvsuser
darin%meer.net:BFlqb/kSuCdKo:cvsuser
daumling%adobe.com:PZxEWCXipcjEI:cvsuser
david%bozemanpass.com:CSVK8gML2ph9c:cvsuser
db48x%yahoo.com:WOXgUg7VfNR2s:cvsuser
dbaron%dbaron.org:Ufu45S7XqztOY:cvsuser
dbolter%mozilla.com:Pj95SMWINbfQY:cvsuser
dcamp%mozilla.com:8J1lYA6aDXWgI:cvsuser
dean_tessman%hotmail.com:AM2BZ7M0nDhlM:cvsuser
deb%dria.org:tevrBpdIX/IAw:cvsuser
despotdaemon:gNFxPV183TGDc:cvsadm
dholbert%cs.stanford.edu:DP/HW2hXEZoDg:cvsuser
diegohcg%gmail.com:Vs/1h.ZP6RmZg:cvsuser
dietrich%mozilla.com:V5GbjeqBWgCQc:cvsuser
dlawrence%mozilla.com:Jb37f1UZbg4g2:cvsuser
dmandelin%mozilla.com:omKcEsk6wjg9s:cvsuser
dmose%mozilla.org:sTIo1zYddteQc:cvsadm
dolske%mozilla.com:yYw1gOmZMtaAM:cvsuser
doronr%us.ibm.com:BntrR9DKOvfRw:cvsuser
douglas%stebila.ca:FtOKWYCG./BN6:cvsuser
dougt%meer.net:QzucPi4akyAvo:cvsuser
driehuis%playbeing.org:BbR6IahGk6yGc:cvsuser
dschaffe%adobe.com:IVaq/BhZhOKOc:cvsuser
dtownsend%oxymoronical.com:nN8k.deZPkAY6:cvsuser
dveditz%cruzio.com:S1X7iuOVZr0tI:cvsuser
dwitte%mozilla.com:atobJ8YkJm/x.:cvsuser
edburns%acm.org:z7zqfOtPH9oic:cvsuser
edward.lee%engineering.uiuc.edu:JQQPKcRtozeJY:cvsuser
ehsan.akhgari%gmail.com:ZAquXcDKuPuNk:cvsuser
emaijala%kolumbus.fi:HlHx6Z2VwOLeg:cvsuser
emaldona%redhat.com:E.pBgfrTvGowM:cvsuser
enndeakin%gmail.com:gQGH2TE1LSHR.:cvsuser
erhyuan%pacbell.net:b6.iRP5wVeO1s:cvsuser
erik%dasbistro.com:RleOQJ5O4vqSI:cvsuser
erik%vanderpoel.org:UIUlMPWTelYIE:cvsuser
Evan.Yan%Sun.COM:y6fet2ZQuQjxw:cvsuser
fantasai.cvs%inkedblade.net:.wuTh0oK1y23M:cvsuser
firefox%blakeross.com:iecsxCayirMQw:cvsuser
flamingice%sourmilk.net:9xh1/DFw2ODOU:cvsuser
florian%queze.net:fYk7exIMhk3I.:cvsuser
gandalf%firefox.pl:gag9.o44ly07A:cvsuser
gavin%gavinsharp.com:pMMNzxf5m93DM:cvsuser
gavin%picsel.com:3fMXVt7Cqmgo.:cvsuser
gerv%gerv.net:/3awrKKpfLPvQ:cvsuser
ghendricks%novell.com:EHmq1PZa1a00s:cvsuser
gijskruitbosch%gmail.com:9n2/iwbsnMyiw:cvsuser
ginn.chen%sun.com:.yE1Sk2DszKf2:cvsuser
glen.beasley%sun.com:Bg3n.ccr13OvI:cvsuser
gozer%mozillamessaging.com:Qbfiaq/6nsg6s:cvsuser
graydon%mozilla.com:oifQirJbZia3U:cvsuser
guy.pyrzak%gmail.com:aCVt2H8vDraHM:cvsuser
hannes%helma.at:kf..K/fIFAHks:cvsuser
hjtoi%comcast.net:52AbDkgxmkRfY:cvsuser
honzab.moz%firemni.cz:r0fsdafA2Nd2M:cvsuser
hpradhan%hotpop.com:Z9A47ej9QDVYc:cvsuser
hwaara%gmail.com:74eCB7AZi/Bm2:cvsuser
ian%hixie.ch:nibu2mA5/kgco:cvsuser
iann_cvs%blueyonder.co.uk:bVhEvG7dtzxWg:cvsuser
igor%mir2.org:MM9XCaPQ9hSyA:cvsuser
inonit%inonit.com:Om4RcBfTOXpSw:cvsuser
ispiked%gmail.com:fIoVRIBQ9Yf26:cvsuser
jag%tty.nl:JfxrrkZerNZv.:cvsuser
jake%bugzilla.org:mjldF4ES.KxbI:cvsuser
Jan.Varga%gmail.com:itS5ZJXFiEJC2:cvsuser
jasone%canonware.com:Oe69thka5Drg2:cvsuser
jay%mozilla.org:./8ppoCBU7xKE:cvsuser
jdrew%mozilla.com:H94cmzCtc22L6:cvsuser
jeff.hedlund%matrixsi.com:dUxvk4HDbIrkA:cvsuser
jgmyers%speakeasy.net:tj/q7ALULIlLM:cvsuser
jhopkins%mozillamessaging.com:F3Gyejh.h.L3I:cvsuser
jim_nance%yahoo.com:MW2pItooimXQc:cvsuser
jmathies%mozilla.com:JMun7n79fcZrE:cvsuser
jminta%gmail.com:xECVGDTSeqbz2:cvsuser
jodyer%adobe.com:RSXkcpr/Wp4VE:cvsuser
joe%retrovirus.com:qUSVkAd/h8mko:cvsuser
john%johnkeiser.com:UEgKBivGIzptw:cvsuser
johnath%mozilla.com:kyyPyUgFhqYjQ:cvsuser
jonas%sicking.cc:HmAX9bYyCA47k:cvsuser
jorendorff%mozilla.com:E.PR9.l6FO.0I:cvsuser
joshmoz%gmail.com:X9Pi3H9iwCIb2:cvsuser
jouni%heikniemi.net:ykttS9UKWXc9E:cvsuser
jresig%mozilla.com:6cSYi6oRTWDoE:cvsuser
jruderman%hmc.edu:mwr0yF3PJ5H2g:cvsuser
jscott%mozilla.com:PcwAYdu4UOrto:cvsuser
jshin1987%gmail.com:j6/TcPcy/KYgg:cvsuser
jst%mozilla.org:ry1WSdsxrYVhg:cvsuser
julien.pierre.boogz%sun.com:2ebjC0cACURyU:cvsuser
justdave%bugzilla.org:Xi4EgN7Xvi7z6:cvsadm
justin%mozilla.com:44P/1lpTCFMo.:cvsadm
jwalden%mit.edu:DYcaTEuBX5WEA:cvsuser
jwatt%jwatt.org:rQgtjD.FtjqWY:cvsuser
kaie%kuix.de:.hgVIsvtes.Fw:cvsuser
kairo%kairo.at:P3GfvvKlerCks:cvsuser
karl.kornel%mindspeed.com:9Vq/LWyYItegs:cvsuser
karlt+%karlt.net:w1Gi9UP1A0i4Y:cvsuser
katakai%japan.sun.com:qJPfrx26UNm2.:cvsuser
kerz%mozillazine.org:PrxCfYo5gxNi.:cvsuser
kestesisme%yahoo.com:5Ld0f8MhzQggw:cvsuser
kevin.heart%gmail.com:8lliOE5JWdETk:cvsuser
kherron%fmailbox.com:rRN9eQFLs3af6:cvsuser
kieran%eternal.undonet.com:gVVzTaNHTa3HE:cvsuser
kiko%async.com.br:Uz8pBMTzv6gpo:cvsuser
kinmoz%netscape.net:RexUJ7MbhHOeE:cvsuser
klibby%mozilla.com:bQPoQ04OC8s.6:cvsadm
Kurt.Zenker%sun.com:PxXscXmcBiCWY:cvsuser
kyle.yuan%sun.com:4pSzbqjeADpcc:cvsuser
lars%mozilla.com:OIS1qjX2A4hPY:cvsuser
lars%trolltech.com:sGvT16I8vdbYY:cvsuser
leaf%mozilla.org:yDi7DUMDdLeDk:cvsuser
leif%ogre.com:NSpnZ.4teg8CA:cvsuser
leon.sha%sun.com:VfiWfb3UX3.Iw:cvsuser
lianliming%gmail.com:q1NmFx6CiR/cE:cvsuser
light%rathedg.com:G9NscomPqxBJg:cvsuser
locka%iol.ie:Odt22ztoqh7Pc:cvsuser
longsonr%gmail.com:n0H6qvTySWbsY:cvsuser
lordpixel%mac.com:pBoWsz5/W/1/o:cvsuser
louie.zhao%sun.com:ajsxRr.217rWY:cvsuser
lpsolit%gmail.com:s2V0JuW2d3qG.:cvsuser
lwagner%mozilla.com:nn8UYSg1EVCR6:cvsuser
marco.zehe%googlemail.com:/.MEQU1hGEtlE:cvsuser
marco%gnome.org:zKqukw72.KsUw:cvsuser
mark.finkle%gmail.com:.CMOa5pzz2ey6:cvsuser
mark%lussumo.com:dNKgwl4OUxxHY:cvsuser
mark%moxienet.com:xXj.wmda2UrCM:cvsuser
mark%plogs.net:9a8m5d2zmZBzA:cvsuser
marria%gmail.com:UXJ8PJcEKNij2:cvsuser
martijn.martijn%gmail.com:dQsvqxjujoE9g:cvsuser
masayuki%d-toybox.com:Px8OA0y98uKTY:cvsuser
mats.palmgren%bredband.net:xBfocrUUc/wis:cvsuser
mattwillis%gmail.com:TiZNJlJ.RHoBs:cvsuser
mattyt%tpg.com.au:c/z7/vNQ/Vv1I:cvsuser
mcafee%mocha.com:Y/0zK7Dff2W8.:cvsuser
mcharleb%qualcomm.com:Uyg8fRoqDJSPE:cvsuser
mconnor%steelgryphon.com:KLpr7Zj8uPkes:cvsuser
mcs%pearlcrescent.com:1K9aYq1ivwd6s:cvsuser
mcsmurf%mcsmurf.de:zYsbEuLO7wm76:cvsuser
mgalli%geckonnection.com:Myf1X1IRZtvK6:cvsuser
mhammond%skippinet.com.au:T1kpFNZuhvQ0I:cvsuser
michael.buettner%sun.com:NkL7l4mYwuirs:cvsuser
mike%meer.net:3rKv1ZMBpeR36:cvsuser
mkanat%bugzilla.org:UsNXKY7u6ozDw:cvsuser
mkaply%us.ibm.com:1Ui2NF/0U00sI:cvsuser
mkmelin+mozilla%iki.fi:6koUOtAKdEXB2:cvsuser
mnyromyr%tprac.de:8JwFnN3UC8w.w:cvsuser
morgamic%mozilla.com:oMf2l.pEwcLAc:cvsuser
mostafah%oeone.com:DaYs.xDcUaa72:cvsuser
mozilla.BenB%bucksch.org:7/oOTh8e41HmY:cvsuser
mozilla.mano%sent.com:rXnDyx.hnVKyk:cvsuser
mozilla%boelzle.org:IhnkPcmU2aaTM:cvsuser
mozilla%colinogilvie.co.uk:JlBNqlkELDhhI:cvsuser
mozilla%justcameron.com:eCz/XDzlP8Cwg:cvsuser
mozilla%kewis.ch:K/pXr12MlfCWc:cvsuser
mozilla%weilbacher.org:eoZapDeWw57LY:cvsuser
mozmail%daveliebreich.com:P3fSEyqi8O9S2yba:cvsuser
mozpreed%sigkill.com:BvqmKaKN1qcNE:cvsadm
mrbkap%gmail.com:UMeeFwmDqd7II:cvsuser
mschroeder%mozilla.x-home.org:iWrL1IFBbV/sw:cvsuser
mstange%themasta.com:xXppy8/VqgZYk:cvsuser
mvl%exedo.nl:kpiBYLuZnAosE:cvsuser
myk%mozilla.org:UPia1WceZof6E:cvsadm
m_kato%ga2.so-net.ne.jp:FoloD5kECUuTo:cvsuser
nboyd%atg.com:hbKSEw6zIzn8A:cvsuser
neil.williams%sun.com:5demyASX0XQLE:cvsuser
neil%parkwaycc.co.uk:dIqJP4XsRGQIw:cvsuser
nelson%bolyard.com:AVyk3HXWf.ujs:cvsuser
nhosoi%redhat.com:Kc7DN3G6DWNVc:cvsuser
nick.kreeger%park.edu:8w9jrG44s9v9o:cvsuser
nkwan%redhat.com:Evx20xUpj8Gk2:cvsuser
nrthomas%gmail.com:39NAPUEFnNHP.:cvsuser
olav%bkor.dhs.org:fuDFH7wT/SfrM:cvsuser
Olli.Pettay%helsinki.fi:JNyNghF5OJ9Xo:cvsuser
oremj%mozilla.com:Vu3lChH7COMLs:cvsadm
pamg.bugs%gmail.com:t.cstj7r1wyFo:cvsuser
paper%animecity.nu:zZz20Ze5U4roc:cvsuser
pavlov%pavlov.net:Wm/3gCaQhXNLo:cvsuser
pcbeard%mac.com:2Eed7KIBNPtL6:cvsuser
pedemont%us.ibm.com:yXrIQ7nPbCytE:cvsuser
pete%mozdevgroup.com:8I2QCUKNKooqA:cvsuser
peterv%propagandism.org:tknmYRfnctNHY:cvsuser
philringnalda%gmail.com:QfBdPW0n3i/vE:cvsuser
Pidgeot18%gmail.com:3AKyGBnLGhuQk:cvsuser
pinkerton%aol.net:SXjRJmDJDtb1U:cvsuser
pkasting%google.com:LyTm7xG6RxIAo:cvsuser
pkw%us.ibm.com:8b/bmWBPVi2ug:cvsuser
prasad%medhas.org:UFVpNiIq80k0w:cvsuser
psychoticwolf%carolina.rr.com:utvOR5.5Us.kU:cvsuser
ptran%mozilla.com:.vSQA1Tg/CD9.:cvsadm
p_ch%verizon.net:9sotrJUSTkw2o:cvsuser
rbs%maths.uq.edu.au:2urVlBcTziPaA:cvsuser
rcampbell%mozilla.com:/T/10DQgIOWm6:cvsuser
redfive%acm.org:bwZbPN1gYEnPo:cvsuser
reed%reedloden.com:hTsN0cuIWUQL2:cvsadm
rflint%ryanflint.com:6jZQWQz6aMM6E:cvsuser
rginda%hacksrus.com:TRTBrAIOV/zck:cvsuser
richard.freedman%sun.com:8SW/naR5ntHSs:cvsuser
richm%stanfordalumni.org:CMqOc556cwVPA:cvsuser
rick.ju%sun.com:O/OoCMTnW5sUE:cvsuser
rj.keller%beonex.com:Kg0SscFg1bZfw:cvsuser
rjesup%wgate.com:5Ccmc2hO67zAk:cvsuser
robarnold%cmu.edu:ID9AnqMmrJIH2:cvsuser
robert%accettura.com:ofCq6Xe9Mdsk6:cvsuser
robert%roberthelmer.com:8wnUosvUV2zI.:cvsuser
robin.lu%sun.com:QX/01AXloHL0A:cvsuser
rob_strong%exchangecode.com:QcQeM1Fhopr1A:cvsuser
roc+%cs.cmu.edu:7yP.3Z8FERo/.:cvsuser
romaxa%gmail.com:ERMq0/01GM3DU:cvsuser
rrelyea%redhat.com:SnAaVLpexLWKw:cvsuser
samuel%sieb.net:UyA4IG.2.LceA:cvsuser
sancus%off.net:Z1FCTZbwRr8xI:cvsuser
sayrer%gmail.com:Bi0wR2pc2rfyE:cvsuser
scc%mozilla.org:rSANuSFML82vc:cvsuser
schrep%mozilla.com:HOyCtawx2RMLg:cvsuser
scootermorris%comcast.net:wQk4tagONTuMg:cvsuser
scott%scott-macgregor.org:/iUxoWYhl45Gw:cvsuser
sdwilsh%shawnwilsher.com:vlJz/BjeP89rw:cvsuser
sebo.moz%googlemail.com:lC8mJxyQ4sjDA:cvsuser
sergei_d%fi.tartu.ee:2pMVH6CMfBao6:cvsuser
sgautherie.bz%free.fr:zRDfcZjqityUw:cvsuser
sharparrow1%yahoo.com:.ksEGiKJj1sdU:cvsuser
shaver%mozilla.org:I4.grysVnENVM:cvsadm
silver%warwickcompsoc.co.uk:jn1zaL3oWEYT6:cvsuser
simford%yahoo.com:fV41vy16txOL6:cvsuser
slavomir.katuscak%sun.com:zzZvFAbWtnVt6:cvsuser
smfr%smfr.org:2mFWUaEqjN7lE:cvsuser
smichaud%pobox.com:LVTaYwQdcsyLA:cvsuser
smontagu%smontagu.org:GR7KUGsPjdY/6:cvsuser
sparkins%redhat.com:v47uXV/9jevOo:cvsuser
sspitzer%mozilla.org:6pWx3PlzU0tYQ:cvsuser
ssu0262%aol.com:cfNlpxCKVXQtQ:cvsuser
Stefan.Borggraefe%gmx.de:h788WO/3xUGRc:cvsuser
stefanh%inbox.com:hWmK3E9KdRisc:cvsuser
steffen.wilberg%web.de:Sj/Ybb7X9aaRI:cvsuser
stephen%noved.org:eUTehPWJZ96oI:cvsuser
stridey%gmail.com:1dIxxxcOFboTM:cvsuser
stuart.morgan%alumni.case.edu:osIW3RwEUQsgM:cvsuser
surkov.alexander%gmail.com:j7fhI7d42nVNU:cvsuser
szegedia%freemail.hu:wnmu1pi.2s982:cvsuser
ted.mielczarek%gmail.com:RZ395urzBvt8Q:cvsuser
tglek%mozilla.com:WvBRjnHMP9ZTU:cvsuser
thomas.benisch%sun.com:VS9sGUhKBH37s:cvsuser
tierney%adobe.com:/l37fMGOOoRuA:cvsuser
timeless%mozdev.org:/rmja24l1sOYs:cvsuser
toddw%activestate.com:7bfDWjDX3IqGk:cvsuser
tony%ponderer.org:I25wmbIx2NMV.:cvsuser
tor%cs.brown.edu:.GLVprG/lOpjM:cvsuser
travis%sedsystems.ca:GeYiqvJTK4qvM:cvsuser
treilly%adobe.com:.NcUbzHumfIHE:cvsuser
treydrake%yahoo.com:Y6aSEsZf.GcP2:cvsuser
ulf%loop.to:nyAdDm7URuxog:cvsuser
uriber%gmail.com:UbuwPpUMiAJGI:cvsuser
vitaly%rathedg.com:gCpWN92cgp7aU:cvsuser
vladimir%pobox.com:ZcFYwCPC7dvjE:cvsuser
wclouser%mozilla.com:7kMqx9pigCvx2:cvsuser
webmail%kmgerich.com:K7U1HCAoxFv2E:cvsuser
wildriding%gmail.com:C5sZHT45QR.ks:cvsuser
wolfe%lobo.us:lv89GmGhY7/16:cvsuser
wr%rosenauer.org:ZfCN63R6WKPWc:cvsuser
wsharp%adobe.com:k/vjPPnrjMKsQ:cvsuser
wtc%google.com:qv4XOpmSQjJG2:cvsuser
wurblzap%gmail.com:pto2PHYncXBQY:cvsuser
Xiaobin.Lu%eng.Sun.com:MrrYDdtVNWvV6:cvsuser
yinbolian%gmail.com:SXDI.XmKRDr7s:cvsuser
zach%zachlipton.com:GLozolSujiqSo:cvsuser
zack%kde.org:OcOf3QFUvN/v2:cvsuser
zhayupeng%gmail.com:rXMiOKAkMlQts:cvsuser

View File

@@ -1,13 +0,0 @@
# The "rcsinfo" file is used to control templates with which the editor
# is invoked on commit and import.
#
# The first entry on a line is a regular expression which is tested
# against the directory that the change is being made to, relative to the
# $CVSROOT. For the first match that is found, then the remainder of the
# line is the name of the file that contains the template.
#
# If the repository name does not match any of the regular expressions in this
# file, the "DEFAULT" line is used, if it is specified.
#
# If the name "ALL" appears as a regular expression it is always used
# in addition to the first matching regex or "DEFAULT".

View File

View File

@@ -1,47 +0,0 @@
#!/usr/bin/perl
#
# This is a simple script that forces specified users to
# have read-only access to the CVS repository when using SSH.
# This must be done in a pre-commit check script, as SSH users
# must have an account on the server with access to the repository.
# Returning "0" means the account is allowed to check-in. Any other
# return type will stop the commit from occurring.
#
# Authors: Reed Loden <reed@mozilla.com>
# Aravind Gottipati <aravind@mozilla.com>
#
# To make it work, you need to add the script name to
# CVSROOT/checkoutlist so that the script is checked out correctly
# on the CVS server.
# Also, you need to add a line to your
# CVSROOT/commitinfo file that says something like:
#
# ALL $CVSROOT/CVSROOT/readonlyusers.pl
use strict;
use warnings;
# Hash of read-only users
my %read_only_users = (
'calbld' => 1,
'caminobld' => 1,
'ffxbld' => 1,
'l10nbld' => 1,
'nobody' => 1,
'stgbld' => 1,
'qabld' => 1,
'unittest' => 1,
'trybld' => 1,
'xrbld' => 1
);
my $username = $ENV{'CVS_USER'} || getlogin || (getpwuid($<))[0] || 'nobody';
if (exists $read_only_users{$username}) {
print STDERR "The $username account is not permitted to check-in to this CVS repository.\n";
print STDERR "If you think it should be allowed to do so, please contact\n";
print STDERR "the system administrators at sysadmins\@mozilla.org.\n";
exit 1;
}
exit 0;

View File

@@ -1,78 +0,0 @@
#!/usr/bin/perl
use Socket;
sub get_response_code {
my ($expecting) = @_;
# if ($flag_debug) {
# print STDERR "SMTP: Waiting for code $expecting\n";
# }
while (1) {
my $line = <S>;
# if ($flag_debug) {
# print STDERR "SMTP: $line";
# }
if ($line =~ /^[0-9]*-/) {
next;
}
if ($line =~ /(^[0-9]*) /) {
my $code = $1;
if ($code == $expecting) {
# if ($flag_debug) {
# print STDERR "SMTP: got it.\n";
# }
return;
}
die "Bad response from SMTP -- $line";
}
}
}
my @mailto;
my $i;
foreach $i (@ARGV) {
# Deal with our "%" encoding of email addresses.
if ($i !~ /\@/) {
$i =~ s/%/\@/;
}
push(@mailto, $i);
}
chop(my $hostname = `/bin/hostname`);
my ($remote,$port, $iaddr, $paddr, $proto, $line);
$remote = "localhost";
$port = 25;
if ($port =~ /\D/) { $port = getservbyname($port, 'tcp') }
die "No port" unless $port;
$iaddr = inet_aton($remote) || die "no host: $remote";
$paddr = sockaddr_in($port, $iaddr);
$proto = getprotobyname('tcp');
socket(S, PF_INET, SOCK_STREAM, $proto) || die "socket: $!";
connect(S, $paddr) || die "connect: $!";
select(S); $| = 1; select(STDOUT);
get_response_code(220);
print S "EHLO $hostname\n";
get_response_code(250);
print S "MAIL FROM: cvs-notify-daemon\@$hostname\n";
get_response_code(250);
foreach $i (@mailto) {
print S "RCPT TO: $i\n";
get_response_code(250);
}
print S "DATA\n";
get_response_code(354);
# Get one line starting with "354 ".
print S "Subject: CVS notification\n";
print S "To: " . join(',', @mailto) . "\n";
print S "\n";
while (<STDIN>) {
print S $_;
}
print S ".\n";
get_response_code(250);
print S "QUIT\n";
close(S);

View File

@@ -1,20 +0,0 @@
# The "taginfo" file is used to control pre-tag checks.
# The filter on the right is invoked with the following arguments:
#
# $1 -- tagname
# $2 -- operation "add" for tag, "mov" for tag -F, and "del" for tag -d
# $3 -- repository
# $4-> file revision [file revision ...]
#
# A non-zero exit of the filter program will cause the tag to be aborted.
#
# The first entry on a line is a regular expression which is tested
# against the directory that the change is being committed to, relative
# to the $CVSROOT. For the first match that is found, then the remainder
# of the line is the name of the filter to run.
#
# If the repository name does not match any of the regular expressions in this
# file, the "DEFAULT" line is used, if it is specified.
#
# If the name "ALL" appears as a regular expression it is always used
# in addition to the first matching regex or "DEFAULT".

View File

@@ -1,21 +0,0 @@
# The "verifymsg" file is used to allow verification of logging
# information. It works best when a template (as specified in the
# rcsinfo file) is provided for the logging procedure. Given a
# template with locations for, a bug-id number, a list of people who
# reviewed the code before it can be checked in, and an external
# process to catalog the differences that were code reviewed, the
# following test can be applied to the code:
#
# Making sure that the entered bug-id number is correct.
# Validating that the code that was reviewed is indeed the code being
# checked in (using the bug-id number or a seperate review
# number to identify this particular code set.).
#
# If any of the above test failed, then the commit would be aborted.
#
# Actions such as mailing a copy of the report to each reviewer are
# better handled by an entry in the loginfo file.
#
# One thing that should be noted is the the ALL keyword is not
# supported. There can be only one entry that matches a given
# repository.

View File

@@ -1,2 +0,0 @@

View File

@@ -1,744 +0,0 @@
/*
* The nsinstall command for OS/2
*
* Our gmake makefiles use the nsinstall command to create the
* object directories or installing headers and libs to ns/dist.
* The shmsdos shell has nsinstall as a built-in command. However,
* if we use another shell like MKS toolkit's sh, we need to have
* the nsinstall command separately.
*
* This file was generated by modifying the Windows nsinstall.c.
*
* To build, say
* icc nsinstall.c
*/
#include <direct.h>
#include <stdio.h>
#include <string.h>
#include <assert.h>
#define INCL_DOSFILEMGR
#define INCL_DOSERRORS
#define INCL_WINERRORS
#include <os2.h>
#pragma hdrstop
/*
* sh_FileFcn --
*
* A function that operates on a file. The pathname is either
* absolute or relative to the current directory, and contains
* no wildcard characters such as * and ?. Additional arguments
* can be passed to the function via the arg pointer.
*/
typedef BOOL (*sh_FileFcn)(
char *pathName,
FILEFINDBUF3 *fileData,
void *arg);
static int shellCp (char **pArgv);
static int shellNsinstall (char **pArgv);
static int shellMkdir (char **pArgv);
static BOOL sh_EnumerateFiles(const char *pattern, const char *where,
sh_FileFcn fileFcn, void *arg, int *nFiles);
static const char *sh_GetLastErrorMessage(void);
static BOOL sh_DoCopy(char *srcFileName, ULONG srcFileAttributes,
char *dstFileName, ULONG dstFileAttributes,
int force, int recursive);
static ULONG GetFileAttributes(PSZ pszFileName);
static APIRET SetFileAttributes(PSZ pszFileName, ULONG ulFileAttributes);
/* changes all forward slashes in token to back slashes */
void changeForwardSlashesTpBackSlashes ( char *arg )
{
if ( arg == NULL )
return;
while ( *arg ) {
if ( *arg == '/' )
*arg = '\\';
arg++;
}
}
int main(int argc, char *argv[ ])
{
return shellNsinstall ( argv + 1 );
}
static int
shellNsinstall (char **pArgv)
{
int retVal = 0; /* exit status */
int dirOnly = 0; /* 1 if and only if -D is specified */
char **pSrc;
char **pDst;
int len;
/*
* Process the command-line options. We ignore the
* options except for -D. Some options, such as -m,
* are followed by an argument. We need to skip the
* argument too.
*/
while ( *pArgv && **pArgv == '-' ) {
char c = (*pArgv)[1]; /* The char after '-' */
if ( c == 'D' ) {
dirOnly = 1;
} else if ( c == 'm' ) {
pArgv++; /* skip the next argument */
}
pArgv++;
}
if ( !dirOnly ) {
/* There are files to install. Get source files */
if ( *pArgv ) {
pSrc = pArgv++;
} else {
fprintf( stderr, "nsinstall: not enough arguments\n");
return 3;
}
}
/* Get to last token to find destination directory */
if ( *pArgv ) {
pDst = pArgv++;
if ( dirOnly && *pArgv ) {
fprintf( stderr, "nsinstall: too many arguments with -D\n");
return 3;
}
} else {
fprintf( stderr, "nsinstall: not enough arguments\n");
return 3;
}
while ( *pArgv )
pDst = pArgv++;
/* remove trailing slash from desination directory */
len = strlen( *pDst );
if ( pDst[0][len-1] == '/' )
pDst[0][len-1] = '\0';
retVal = shellMkdir ( pDst );
if ( retVal )
return retVal;
if ( !dirOnly )
retVal = shellCp ( pSrc );
return retVal;
}
static int
shellMkdir (char **pArgv)
{
int retVal = 0; /* assume valid return */
char *arg;
char *pArg;
char path[CCHMAXPATH];
char tmpPath[CCHMAXPATH];
char *pTmpPath = tmpPath;
/* All the options are simply ignored in this implementation */
while ( *pArgv && **pArgv == '-' ) {
if ( (*pArgv)[1] == 'm' ) {
pArgv++; /* skip the next argument (mode) */
}
pArgv++;
}
while ( *pArgv ) {
arg = *pArgv;
changeForwardSlashesTpBackSlashes ( arg );
pArg = arg;
pTmpPath = tmpPath;
while ( 1 ) {
/* create part of path */
while ( *pArg ) {
*pTmpPath++ = *pArg++;
if ( *pArg == '\\' )
break;
}
*pTmpPath = '\0';
/* check if directory alreay exists */
_getcwd ( path, sizeof (path) );
if (( _chdir ( tmpPath ) != -1 ) || ((tmpPath[1] == ':') && (tmpPath[2] == '\0'))) {
_chdir ( path );
} else {
if ( _mkdir ( tmpPath ) == -1 ) {
// while ( waitForDebug );
printf ( "%s: ", tmpPath );
perror ( "Could not create the directory" );
retVal = 3;
break;
}
}
if ( *pArg == '\0' ) /* complete path? */
break;
/* loop for next directory */
}
pArgv++;
}
return retVal;
}
static const char *
sh_GetLastErrorMessage()
{
static char buf[128];
ERRORID error = WinGetLastError(0);
switch (ERRORIDSEV(error))
{
case SEVERITY_ERROR:
{
sprintf( buf, "error %d", ERRORIDERROR(error));
break;
}
case SEVERITY_SEVERE:
{
sprintf( buf, "severe error %d", ERRORIDERROR(error));
break;
}
case SEVERITY_UNRECOVERABLE:
{
sprintf( buf, "unrecoverable error %d", ERRORIDERROR(error));
break;
}
}
return buf;
}
/*
* struct sh_FileData --
*
* A pointer to the sh_FileData structure is passed into sh_RecordFileData,
* which will fill in the fields.
*/
struct sh_FileData {
char pathName[CCHMAXPATH];
ULONG attrFile;
};
/*
* sh_RecordFileData --
*
* Record the pathname and attributes of the file in
* the sh_FileData structure pointed to by arg.
*
* Always return TRUE (successful completion).
*
* This function is intended to be passed into sh_EnumerateFiles
* to see if a certain pattern expands to exactly one file/directory,
* and if so, record its pathname and attributes.
*/
static BOOL
sh_RecordFileData(char *pathName, FILEFINDBUF3 *findData, void *arg)
{
struct sh_FileData *fData = (struct sh_FileData *) arg;
strcpy(fData->pathName, pathName);
fData->attrFile = findData->attrFile;
return TRUE;
}
static BOOL
sh_DoCopy(char *srcFileName,
ULONG srcFileAttributes,
char *dstFileName,
ULONG dstFileAttributes,
int force,
int recursive
)
{
if (dstFileAttributes != 0xFFFFFFFF) {
if ((dstFileAttributes & FILE_READONLY) && force) {
dstFileAttributes &= ~FILE_READONLY;
SetFileAttributes(dstFileName, dstFileAttributes);
}
}
if (srcFileAttributes & FILE_DIRECTORY) {
fprintf(stderr, "nsinstall: %s is a directory\n",
srcFileName);
return FALSE;
} else {
if (DosCopy(srcFileName, dstFileName, DCPY_EXISTING) != NO_ERROR) {
fprintf(stderr, "nsinstall: cannot copy %s to %s: %s\n",
srcFileName, dstFileName, sh_GetLastErrorMessage());
return FALSE;
}
}
return TRUE;
}
/*
* struct sh_CpCmdArg --
*
* A pointer to the sh_CpCmdArg structure is passed into sh_CpFileCmd.
* The sh_CpCmdArg contains information about the cp command, and
* provide a buffer for constructing the destination file name.
*/
struct sh_CpCmdArg {
int force; /* -f option, ok to overwrite an existing
* read-only destination file */
int recursive; /* -r or -R option, recursively copy
* directories. Note: this field is not used
* by nsinstall and should always be 0. */
char *dstFileName; /* a buffer for constructing the destination
* file name */
char *dstFileNameMarker; /* points to where in the dstFileName buffer
* we should write the file component of the
* destination file */
};
/*
* sh_CpFileCmd --
*
* Copy a file to the destination directory
*
* This function is intended to be passed into sh_EnumerateFiles to
* copy all the files specified by the pattern to the destination
* directory.
*
* Return TRUE if the file is successfully copied, and FALSE otherwise.
*/
static BOOL
sh_CpFileCmd(char *pathName, FILEFINDBUF3 *findData, void *cpArg)
{
BOOL retVal = TRUE;
struct sh_CpCmdArg *arg = (struct sh_CpCmdArg *) cpArg;
strcpy(arg->dstFileNameMarker, findData->achName);
return sh_DoCopy(pathName, findData->attrFile,
arg->dstFileName, GetFileAttributes(arg->dstFileName),
arg->force, arg->recursive);
}
static int
shellCp (char **pArgv)
{
int retVal = 0;
char **pSrc;
char **pDst;
struct sh_CpCmdArg arg;
struct sh_FileData dstData;
int dstIsDir = 0;
int n;
arg.force = 0;
arg.recursive = 0;
arg.dstFileName = dstData.pathName;
arg.dstFileNameMarker = 0;
while (*pArgv && **pArgv == '-') {
char *p = *pArgv;
while (*(++p)) {
if (*p == 'f') {
arg.force = 1;
}
}
pArgv++;
}
/* the first source file */
if (*pArgv) {
pSrc = pArgv++;
} else {
fprintf(stderr, "nsinstall: not enough arguments\n");
return 3;
}
/* get to the last token to find destination */
if (*pArgv) {
pDst = pArgv++;
} else {
fprintf(stderr, "nsinstall: not enough arguments\n");
return 3;
}
while (*pArgv) {
pDst = pArgv++;
}
/*
* The destination pattern must unambiguously expand to exactly
* one file or directory.
*/
changeForwardSlashesTpBackSlashes(*pDst);
sh_EnumerateFiles(*pDst, *pDst, sh_RecordFileData, &dstData, &n);
assert(n >= 0);
if (n == 1) {
/*
* Is the destination a file or directory?
*/
if (dstData.attrFile & FILE_DIRECTORY) {
dstIsDir = 1;
}
} else if (n > 1) {
fprintf(stderr, "nsinstall: %s: ambiguous destination file "
"or directory\n", *pDst);
return 3;
} else {
/*
* n == 0, meaning that destination file or directory does
* not exist. In this case the destination file directory
* name must be fully specified.
*/
char *p;
for (p = *pDst; *p; p++) {
if (*p == '*' || *p == '?') {
fprintf(stderr, "nsinstall: %s: No such file or directory\n",
*pDst);
return 3;
}
}
/*
* Do not include the trailing \, if any, unless it is a root
* directory (\ or X:\).
*/
if (p > *pDst && p[-1] == '\\' && p != *pDst + 1 && p[-2] != ':') {
p[-1] = '\0';
}
strcpy(dstData.pathName, *pDst);
dstData.attrFile = 0xFFFFFFFF;
}
/*
* If there are two or more source files, the destination has
* to be a directory.
*/
if (pDst - pSrc > 1 && !dstIsDir) {
fprintf(stderr, "nsinstall: cannot copy more than"
" one file to the same destination file\n");
return 3;
}
if (dstIsDir) {
arg.dstFileNameMarker = arg.dstFileName + strlen(arg.dstFileName);
/*
* Now arg.dstFileNameMarker is pointing to the null byte at the
* end of string. We want to make sure that there is a \ at the
* end of string, and arg.dstFileNameMarker should point right
* after that \.
*/
if (arg.dstFileNameMarker[-1] != '\\') {
*(arg.dstFileNameMarker++) = '\\';
}
}
if (!dstIsDir) {
struct sh_FileData srcData;
assert(pDst - pSrc == 1);
changeForwardSlashesTpBackSlashes(*pSrc);
sh_EnumerateFiles(*pSrc, *pSrc, sh_RecordFileData, &srcData, &n);
if (n == 0) {
fprintf(stderr, "nsinstall: %s: No such file or directory\n",
*pSrc);
retVal = 3;
} else if (n > 1) {
fprintf(stderr, "nsinstall: cannot copy more than one file or "
"directory to the same destination\n");
retVal = 3;
} else {
assert(n == 1);
if (sh_DoCopy(srcData.pathName, srcData.attrFile,
dstData.pathName, dstData.attrFile,
arg.force, arg.recursive) == FALSE) {
retVal = 3;
}
}
return retVal;
}
for ( ; *pSrc != *pDst; pSrc++) {
BOOL rv;
changeForwardSlashesTpBackSlashes(*pSrc);
rv = sh_EnumerateFiles(*pSrc, *pSrc, sh_CpFileCmd, &arg, &n);
if (rv == FALSE) {
retVal = 3;
} else {
if (n == 0) {
fprintf(stderr, "nsinstall: %s: No such file or directory\n",
*pSrc);
retVal = 3;
}
}
}
return retVal;
}
/*
* sh_EnumerateFiles --
*
* Enumerate all the files in the specified pattern, which is a pathname
* containing possibly wildcard characters such as * and ?. fileFcn
* is called on each file, passing the expanded file name, a pointer
* to the file's FILEFINDBUF3, and the arg pointer.
*
* It is assumed that there are no wildcard characters before the
* character pointed to by 'where'.
*
* On return, *nFiles stores the number of files enumerated. *nFiles is
* set to this number whether sh_EnumerateFiles or 'fileFcn' succeeds
* or not.
*
* Return TRUE if the files are successfully enumerated and all
* 'fileFcn' invocations succeeded. Return FALSE if something went
* wrong.
*/
static BOOL sh_EnumerateFiles(
const char *pattern,
const char *where,
sh_FileFcn fileFcn,
void *arg,
int *nFiles
)
{
FILEFINDBUF3 fileData = {0};
HDIR hSearch;
APIRET ulrc;
ULONG ulFindCount = 1;
const char *src;
char *dst;
char fileName[CCHMAXPATH];
char *fileNameMarker = fileName;
char *oldFileNameMarker;
BOOL hasWildcard = FALSE;
BOOL retVal = TRUE;
BOOL patternEndsInDotStar = FALSE;
BOOL patternEndsInDot = FALSE; /* a special case of
* patternEndsInDotStar */
int numDotsInPattern;
int len;
/*
* Windows expands patterns ending in ".", ".*", ".**", etc.
* differently from the glob expansion on Unix. For example,
* both "foo." and "foo.*" match "foo", and "*.*" matches
* everything, including filenames with no dots. So we need
* to throw away extra files returned by the FindNextFile()
* function. We require that a matched filename have at least
* the number of dots in the pattern.
*/
len = strlen(pattern);
if (len >= 2) {
/* Start from the end of pattern and go backward */
const char *p = &pattern[len - 1];
/* We can have zero or more *'s */
while (p >= pattern && *p == '*') {
p--;
}
if (p >= pattern && *p == '.') {
patternEndsInDotStar = TRUE;
if (p == &pattern[len - 1]) {
patternEndsInDot = TRUE;
}
p--;
numDotsInPattern = 1;
while (p >= pattern && *p != '\\') {
if (*p == '.') {
numDotsInPattern++;
}
p--;
}
}
}
*nFiles = 0;
/*
* Copy pattern to fileName, but only up to and not including
* the first \ after the first wildcard letter.
*
* Make fileNameMarker point to one of the following:
* - the start of fileName, if fileName does not contain any \.
* - right after the \ before the first wildcard letter, if there is
* a wildcard character.
* - right after the last \, if there is no wildcard character.
*/
dst = fileName;
src = pattern;
while (src < where) {
if (*src == '\\') {
oldFileNameMarker = fileNameMarker;
fileNameMarker = dst + 1;
}
*(dst++) = *(src++);
}
while (*src && *src != '*' && *src != '?') {
if (*src == '\\') {
oldFileNameMarker = fileNameMarker;
fileNameMarker = dst + 1;
}
*(dst++) = *(src++);
}
if (*src) {
/*
* Must have seen the first wildcard letter
*/
hasWildcard = TRUE;
while (*src && *src != '\\') {
*(dst++) = *(src++);
}
}
/* Now src points to either null or \ */
assert(*src == '\0' || *src == '\\');
assert(hasWildcard || *src == '\0');
*dst = '\0';
/*
* If the pattern does not contain any wildcard characters, then
* we don't need to go the FindFirstFile route.
*/
if (!hasWildcard) {
/*
* See if it is the root directory, \, or X:\.
*/
assert(!strcmp(fileName, pattern));
assert(strlen(fileName) >= 1);
if (dst[-1] == '\\' && (dst == fileName + 1 || dst[-2] == ':')) {
fileData.achName[0] = '\0';
} else {
/*
* Do not include the trailing \, if any
*/
if (dst[-1] == '\\') {
assert(*fileNameMarker == '\0');
dst[-1] = '\0';
fileNameMarker = oldFileNameMarker;
}
strcpy(fileData.achName, fileNameMarker);
}
fileData.attrFile = GetFileAttributes(fileName);
if (fileData.attrFile == 0xFFFFFFFF) {
return TRUE;
}
*nFiles = 1;
return (*fileFcn)(fileName, &fileData, arg);
}
hSearch = HDIR_CREATE;
ulrc = DosFindFirst(fileName, &hSearch, FILE_NORMAL, &fileData, sizeof(fileData),
&ulFindCount, FIL_STANDARD);
if (ulrc == ERROR_INVALID_HANDLE) {
return retVal;
}
do {
if (!strcmp(fileData.achName, ".")
|| !strcmp(fileData.achName, "..")) {
/*
* Skip over . and ..
*/
continue;
}
if (patternEndsInDotStar) {
int nDots = 0;
char *p = fileData.achName;
while (*p) {
if (*p == '.') {
nDots++;
}
p++;
}
/* Now p points to the null byte at the end of file name */
if (patternEndsInDot && (p == fileData.achName
|| p[-1] != '.')) {
/*
* File name does not end in dot. Skip this file.
* Note: windows file name probably cannot end in dot,
* but we do this check anyway.
*/
continue;
}
if (nDots < numDotsInPattern) {
/*
* Not enough dots in file name. Must be an extra
* file in matching .* pattern. Skip this file.
*/
continue;
}
}
strcpy(fileNameMarker, fileData.achName);
if (*src && *(src + 1)) {
/*
* More to go. Recurse.
*/
int n;
assert(*src == '\\');
where = fileName + strlen(fileName);
strcat(fileName, src);
sh_EnumerateFiles(fileName, where, fileFcn, arg, &n);
*nFiles += n;
} else {
assert(strchr(fileName, '*') == NULL);
assert(strchr(fileName, '?') == NULL);
(*nFiles)++;
if ((*fileFcn)(fileName, &fileData, arg) == FALSE) {
retVal = FALSE;
}
}
} while (DosFindNext(hSearch, &fileData, sizeof(fileData), &ulFindCount) == NO_ERROR);
DosFindClose(hSearch);
return retVal;
}
static ULONG GetFileAttributes(PSZ pszFileName)
{
FILESTATUS3 fsts3;
APIRET rc;
rc = DosQueryPathInfo(pszFileName,
FIL_STANDARD,
&fsts3,
sizeof(FILESTATUS3));
if (rc != NO_ERROR) {
return -1;
} /* endif */
return fsts3.attrFile;
}
static APIRET SetFileAttributes(PSZ pszFileName, ULONG ulFileAttributes)
{
return NULL;
}

View File

@@ -1,107 +0,0 @@
/* GLIB - Library of useful routines for C programming
* Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
/* acconfig.h
This file is in the public domain.
Descriptive text for the C preprocessor macros that
the distributed Autoconf macros can define.
No software package will use all of them; autoheader copies the ones
your configure.in uses into your configuration header file templates.
The entries are in sort -df order: alphabetical, case insensitive,
ignoring punctuation (such as underscores). Although this order
can split up related entries, it makes it easier to check whether
a given entry is in the file.
Leave the following blank line there!! Autoheader needs it. */
/* Other stuff */
#undef ENABLE_MEM_CHECK
#undef ENABLE_MEM_PROFILE
#undef G_COMPILED_WITH_DEBUGGING
#undef G_THREADS_ENABLED
#undef GLIB_SIZEOF_GMUTEX
#undef GLIB_BYTE_CONTENTS_GMUTEX
#undef HAVE_BROKEN_WCTYPE
#undef HAVE_DOPRNT
#undef HAVE_FLOAT_H
#undef HAVE_GETPWUID_R
#undef HAVE_GETPWUID_R_POSIX
#undef HAVE_LIMITS_H
#undef HAVE_LONG_DOUBLE
#undef HAVE_POLL
#undef HAVE_PTHREAD_GETSPECIFIC_POSIX
#undef HAVE_PWD_H
#undef HAVE_SYS_PARAM_H
#undef HAVE_SYS_POLL_H
#undef HAVE_SYS_SELECT_H
#undef HAVE_SYS_TIME_H
#undef HAVE_SYS_TIMES_H
#undef HAVE_STRERROR
#undef HAVE_STRSIGNAL
#undef HAVE_UNISTD_H
#undef HAVE_VALUES_H
#undef HAVE_WCHAR_H
#undef HAVE_WCTYPE_H
#undef NO_FD_SET
#undef NO_SYS_ERRLIST
#undef NO_SYS_SIGLIST
#undef NO_SYS_SIGLIST_DECL
#undef WITH_SYMBOL_UNDERSCORE
#undef SIZEOF_CHAR
#undef SIZEOF_SHORT
#undef SIZEOF_LONG
#undef SIZEOF_INT
#undef SIZEOF_VOID_P
#undef G_VA_COPY
#undef G_VA_COPY_AS_ARRAY
#undef G_HAVE___INLINE
#undef G_HAVE___INLINE__
#undef G_HAVE_INLINE
#undef GLIB_MAJOR_VERSION
#undef GLIB_MINOR_VERSION
#undef GLIB_MICRO_VERSION
#undef GLIB_INTERFACE_AGE
#undef GLIB_BINARY_AGE
#undef WIN32
#undef NATIVE_WIN32
#undef G_THREAD_SOURCE
/* #undef PACKAGE */
/* #undef VERSION */
/* Leave that blank line there!! Autoheader needs it.
If you're adding to this file, keep in mind:
The entries are in sort -df order: alphabetical, case insensitive,
ignoring punctuation (such as underscores). */

View File

@@ -1,138 +0,0 @@
/* config.h.win32. Handcrafted for Microsoft C */
/* Define to empty if the keyword does not work. */
/* #undef const */
/* Define if you don't have vprintf but do have _doprnt. */
/* #undef HAVE_DOPRNT */
/* Define if you have <unistd.h>. */
/* #undef HAVE_UNISTD_H */
/* Define if you have the vprintf function. */
#define HAVE_VPRINTF 1
/* Define if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Define if your processor stores words with the most significant
byte first (like Motorola and SPARC, unlike Intel and VAX). */
/* #undef WORDS_BIGENDIAN */
/* #undef ENABLE_MEM_CHECK */
/* #undef ENABLE_MEM_PROFILE */
#define G_COMPILED_WITH_DEBUGGING "minimum"
/* #undef HAVE_BROKEN_WCTYPE */
/* #undef HAVE_DOPRNT */
#define HAVE_FLOAT_H 1
#define HAVE_LIMITS_H 1
/* #undef HAVE_LOCALTIME_R */
/* #undef HAVE_LONG_DOUBLE */
/* #undef HAVE_POLL */
/* #undef HAVE_PWD_H */
/* #undef HAVE_SYS_PARAM_H */
/* #undef HAVE_SYS_POLL_H */
/* #undef HAVE_SYS_SELECT_H */
/* #undef HAVE_SYS_TIME_H */
/* #undef HAVE_SYS_TIMES_H */
#define HAVE_STRERROR 1
/* #undef HAVE_STRSIGNAL */
/* #undef HAVE_UNISTD_H */
/* #undef HAVE_VSNPRINTF */
/* #undef HAVE_VALUES_H */
#define HAVE_VPRINTF 1
#define HAVE_WCHAR_H 1
#define HAVE_WCTYPE_H 1
/* #undef NO_FD_SET */
/* #undef NO_SYS_ERRLIST */
#define NO_SYS_SIGLIST 1
/* #undef G_VA_COPY */
/* #undef G_VA_COPY_AS_ARRAY */
#define G_HAVE___INLINE 1
#define GLIB_MAJOR_VERSION 1
#define GLIB_MINOR_VERSION 2
#define GLIB_MICRO_VERSION 0
#define GLIB_INTERFACE_AGE 0
#define GLIB_BINARY_AGE 0
#define G_THREAD_SOURCE "gthread-posix.c"
#define G_THREADS_IMPL_POSIX
#define HAVE_PTHREAD_GETSPECIFIC_POSIX 1
/* The number of bytes in a char. */
#define SIZEOF_CHAR 1
/* The number of bytes in a int. */
#define SIZEOF_INT 4
/* The number of bytes in a long. */
#define SIZEOF_LONG 4
/* The number of bytes in a long long. */
#define SIZEOF_LONG_LONG 8
/* The number of bytes in a short. */
#define SIZEOF_SHORT 2
/* The number of bytes in a void *. */
#define SIZEOF_VOID_P 4
/* Define if you have the atexit function. */
#define HAVE_ATEXIT 1
/* Define if you have the lstat function. */
/* #undef HAVE_LSTAT */
/* Define if you have the memmove function. */
#define HAVE_MEMMOVE 1
/* Define if you have the on_exit function. */
/* #undef HAVE_ON_EXIT */
/* Define if you have the strcasecmp function. */
/* #undef HAVE_STRCASECMP ^*/
/* Define if you have the strerror function. */
#define HAVE_STRERROR 1
/* Define if you have the strsignal function. */
/* #undef HAVE_STRSIGNAL */
/* Define if you have the vsnprintf function. */
/* #undef HAVE_VSNPRINTF */
/* Define if you have the <float.h> header file. */
#define HAVE_FLOAT_H 1
/* Define if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define if you have the <pwd.h> header file. */
/* #undef HAVE_PWD_H */
/* Define if you have the <sys/param.h> header file. */
/* #undef HAVE_SYS_PARAM_H */
/* Define if you have the <sys/select.h> header file. */
/* #undef HAVE_SYS_SELECT_H */
/* Define if you have the <sys/time.h> header file. */
/* #undef HAVE_SYS_TIME_H */
/* Define if you have the <sys/times.h> header file. */
/* #undef HAVE_SYS_TIMES_H */
/* Define if you have the <unistd.h> header file. */
/* #undef HAVE_UNISTD_H */
/* Define if you have the <values.h> header file. */
/* #undef HAVE_VALUES_H */
/* Define if you have the w library (-lw). */
/* #undef HAVE_LIBW */

File diff suppressed because it is too large Load Diff

View File

@@ -1,173 +0,0 @@
/* glibconfig.h.win32 */
/* Handcrafted for Microsoft C. */
#ifndef GLIBCONFIG_H
#define GLIBCONFIG_H
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
#ifdef _MSC_VER
/* Make MSVC more pedantic, this is a recommended pragma list
* from _Win32_Programming_ by Rector and Newcomer.
*/
#pragma warning(error:4002)
#pragma warning(error:4003)
#pragma warning(1:4010)
#pragma warning(error:4013)
#pragma warning(1:4016)
#pragma warning(error:4020)
#pragma warning(error:4021)
#pragma warning(error:4027)
#pragma warning(error:4029)
#pragma warning(error:4033)
#pragma warning(error:4035)
#pragma warning(error:4045)
#pragma warning(error:4047)
#pragma warning(error:4049)
#pragma warning(error:4053)
#pragma warning(error:4071)
#pragma warning(disable:4101)
#pragma warning(error:4150)
#pragma warning(disable:4244) /* No possible loss of data warnings */
#pragma warning(disable:4305) /* No truncation from int to char warnings */
#endif /* _MSC_VER */
#include <limits.h>
#include <float.h>
#define G_MINFLOAT FLT_MIN
#define G_MAXFLOAT FLT_MAX
#define G_MINDOUBLE DBL_MIN
#define G_MAXDOUBLE DBL_MAX
#define G_MINSHORT SHRT_MIN
#define G_MAXSHORT SHRT_MAX
#define G_MININT INT_MIN
#define G_MAXINT INT_MAX
#define G_MINLONG LONG_MIN
#define G_MAXLONG LONG_MAX
typedef signed char gint8;
typedef unsigned char guint8;
typedef signed short gint16;
typedef unsigned short guint16;
typedef signed int gint32;
typedef unsigned int guint32;
#define G_HAVE_GINT64 1
typedef __int64 gint64;
typedef unsigned __int64 guint64;
#define G_GINT64_CONSTANT(val) (val##i64)
#define GPOINTER_TO_INT(p) ((gint)(p))
#define GPOINTER_TO_UINT(p) ((guint)(p))
#define GINT_TO_POINTER(i) ((gpointer)(i))
#define GUINT_TO_POINTER(u) ((gpointer)(u))
#define g_ATEXIT(proc) (atexit (proc))
#define g_memmove(d,s,n) G_STMT_START { memmove ((d), (s), (n)); } G_STMT_END
#define G_HAVE_ALLOCA 1
#define alloca _alloca
#define GLIB_MAJOR_VERSION 1
#define GLIB_MINOR_VERSION 2
#define GLIB_MICRO_VERSION 0
#ifdef __cplusplus
#define G_HAVE_INLINE 1
#else /* !__cplusplus */
#define G_HAVE___INLINE 1
#endif
#define G_THREADS_ENABLED
/*
* The following program can be used to determine the magic values below:
* #include <stdio.h>
* #include <pthread.h>
* main(int argc, char **argv)
* {
* int i;
* pthread_mutex_t m = PTHREAD_MUTEX_INITIALIZER;
* printf ("sizeof (pthread_mutex_t) = %d\n", sizeof (pthread_mutex_t));
* printf ("PTHREAD_MUTEX_INITIALIZER = ");
* for (i = 0; i < sizeof (pthread_mutex_t); i++)
* printf ("%u, ", (unsigned) ((char *) &m)[i]);
* printf ("\n");
* exit(0);
* }
*/
typedef struct _GStaticMutex GStaticMutex;
struct _GStaticMutex
{
struct _GMutex *runtime_mutex;
union {
/* The size of the pad array should be sizeof (pthread_mutext_t) */
/* This value corresponds to the 1999-01-24 version of pthreads-win32 */
char pad[36];
double dummy_double;
void *dummy_pointer;
long dummy_long;
} aligned_pad_u;
};
/* This should be NULL followed by the bytes in PTHREAD_MUTEX_INITIALIZER */
#define G_STATIC_MUTEX_INIT { NULL, { { 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }
#define g_static_mutex_get_mutex(mutex) \
(g_thread_use_default_impl ? ((GMutex*) &((mutex)->aligned_pad_u)) : \
g_static_mutex_get_mutex_impl (&((mutex)->runtime_mutex)))
#define G_BYTE_ORDER G_LITTLE_ENDIAN
#define GINT16_TO_LE(val) ((gint16) (val))
#define GUINT16_TO_LE(val) ((guint16) (val))
#define GINT16_TO_BE(val) ((gint16) GUINT16_SWAP_LE_BE (val))
#define GUINT16_TO_BE(val) (GUINT16_SWAP_LE_BE (val))
#define GINT32_TO_LE(val) ((gint32) (val))
#define GUINT32_TO_LE(val) ((guint32) (val))
#define GINT32_TO_BE(val) ((gint32) GUINT32_SWAP_LE_BE (val))
#define GUINT32_TO_BE(val) (GUINT32_SWAP_LE_BE (val))
#define GINT64_TO_LE(val) ((gint64) (val))
#define GUINT64_TO_LE(val) ((guint64) (val))
#define GINT64_TO_BE(val) ((gint64) GUINT64_SWAP_LE_BE (val))
#define GUINT64_TO_BE(val) (GUINT64_SWAP_LE_BE (val))
#define GLONG_TO_LE(val) ((glong) GINT32_TO_LE (val))
#define GULONG_TO_LE(val) ((gulong) GUINT32_TO_LE (val))
#define GLONG_TO_BE(val) ((glong) GINT32_TO_BE (val))
#define GULONG_TO_BE(val) ((gulong) GUINT32_TO_BE (val))
#define GINT_TO_LE(val) ((gint) GINT32_TO_LE (val))
#define GUINT_TO_LE(val) ((guint) GUINT32_TO_LE (val))
#define GINT_TO_BE(val) ((gint) GINT32_TO_BE (val))
#define GUINT_TO_BE(val) ((guint) GUINT32_TO_BE (val))
#define GLIB_SYSDEF_POLLIN = 1
#define GLIB_SYSDEF_POLLOUT = 4
#define GLIB_SYSDEF_POLLPRI = 2
#define GLIB_SYSDEF_POLLERR = 8
#define GLIB_SYSDEF_POLLHUP = 16
#define GLIB_SYSDEF_POLLNVAL = 32
#define G_HAVE_WCHAR_H 1
#define G_HAVE_WCTYPE_H 1
/* Define if this is Win32, possibly using the Cygwin emulation layer. */
#define WIN32 1
/* Define if this is Win32 without Cygwin. */
#define NATIVE_WIN32 1
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* GLIBCONFIG_H */

View File

@@ -1,827 +0,0 @@
/**************************************************************************
IDL.h (IDL parse tree and namespace components)
Include wide character support before this, if necessary.
Copyright (C) 1998, 1999 Andrew T. Veliath
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: IDL.h,v 1.1 1999-04-08 20:04:26 mccabe%netscape.com Exp $
***************************************************************************/
#ifndef __IDL_H
#define __IDL_H
#include <glib.h>
#ifdef __cplusplus
extern "C" {
#endif
/* version */
#define LIBIDL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
#define LIBIDL_MAJOR_VERSION 0
#define LIBIDL_MINOR_VERSION 6
#define LIBIDL_MICRO_VERSION 3
#define LIBIDL_VERSION_CODE LIBIDL_VERSION(0,6,3)
/* miscellaneous constants */
#define IDL_SUCCESS 0
#define IDL_ERROR 1
#define IDL_WARNING1 2
#define IDL_WARNING2 3
#define IDL_WARNING3 4
#define IDL_WARNINGMAX IDL_WARNING3
/* general parse flags */
#define IDLF_VERBOSE (1UL << 0)
#define IDLF_NO_EVAL_CONST (1UL << 1)
#define IDLF_COMBINE_REOPENED_MODULES (1UL << 2)
#define IDLF_PREFIX_FILENAME (1UL << 3)
#define IDLF_IGNORE_FORWARDS (1UL << 4)
#define IDLF_PEDANTIC (1UL << 5)
/* syntax extension parse flags */
#define IDLF_TYPECODES (1UL << 16)
#define IDLF_XPIDL (1UL << 17)
/* declaration specification flags */
#define IDLF_DECLSPEC_EXIST (1UL << 0)
#define IDLF_DECLSPEC_INHIBIT (1UL << 1)
/* output flags */
#define IDLF_OUTPUT_NO_NEWLINES (1UL << 0)
#define IDLF_OUTPUT_NO_QUALIFY_IDENTS (1UL << 1)
#define IDLF_OUTPUT_PROPERTIES (1UL << 2)
#define IDLF_OUTPUT_CODEFRAGS (1UL << 3)
#ifdef _WIN32
# define IDL_EXPORT __declspec (dllexport)
# define IDL_IMPORT __declspec (dllimport)
#else
# define IDL_EXPORT /* empty */
# define IDL_IMPORT extern
#endif
/* type casting checks */
#define IDL_check_cast_enable(boolean) do { \
IDL_IMPORT int __IDL_check_type_casts; \
__IDL_check_type_casts = (boolean); \
} while (0)
#define IDL_CHECK_CAST(tree, thetype, name) \
(IDL_check_type_cast(tree, thetype, \
__FILE__, __LINE__, \
G_GNUC_PRETTY_FUNCTION)->u.name)
#ifdef G_HAVE_GINT64
# if G_MAXLONG > 0xffffffffUL
# define IDL_LL "l"
# else
# define IDL_LL "ll"
# endif
typedef gint64 IDL_longlong_t;
typedef guint64 IDL_ulonglong_t;
#else
# define IDL_LL "l"
typedef long IDL_longlong_t;
typedef unsigned long IDL_ulonglong_t;
# warning 64-bit integer type not available, using 32-bit instead
#endif /* G_HAVE_GINT64 */
typedef unsigned int IDL_declspec_t;
typedef struct _IDL_tree_node IDL_tree_node;
typedef struct _IDL_tree_node * IDL_tree;
struct _IDL_LIST {
IDL_tree data;
IDL_tree prev;
IDL_tree next;
IDL_tree _tail; /* Internal use, may not be valid */
};
#define IDL_LIST(a) IDL_CHECK_CAST(a, IDLN_LIST, idl_list)
extern IDL_tree IDL_list_new (IDL_tree data);
extern IDL_tree IDL_list_concat (IDL_tree orig,
IDL_tree append);
extern IDL_tree IDL_list_remove (IDL_tree list,
IDL_tree p);
extern int IDL_list_length (IDL_tree list);
extern IDL_tree IDL_list_nth (IDL_tree list,
int n);
struct _IDL_GENTREE {
IDL_tree data;
GHashTable *siblings;
GHashTable *children;
GHashFunc hash_func;
GCompareFunc key_compare_func;
IDL_tree _import; /* Internal use, do not recurse */
char *_cur_prefix; /* Internal use */
};
#define IDL_GENTREE(a) IDL_CHECK_CAST(a, IDLN_GENTREE, idl_gentree)
extern IDL_tree IDL_gentree_new (GHashFunc hash_func,
GCompareFunc key_compare_func,
IDL_tree data);
extern IDL_tree IDL_gentree_new_sibling (IDL_tree from,
IDL_tree data);
extern IDL_tree IDL_gentree_chain_sibling (IDL_tree from,
IDL_tree data);
extern IDL_tree IDL_gentree_chain_child (IDL_tree from,
IDL_tree data);
struct _IDL_INTEGER {
IDL_longlong_t value;
};
#define IDL_INTEGER(a) IDL_CHECK_CAST(a, IDLN_INTEGER, idl_integer)
extern IDL_tree IDL_integer_new (IDL_longlong_t value);
struct _IDL_STRING {
char *value;
};
#define IDL_STRING(a) IDL_CHECK_CAST(a, IDLN_STRING, idl_string)
extern IDL_tree IDL_string_new (char *value);
struct _IDL_WIDE_STRING {
wchar_t *value;
};
#define IDL_WIDE_STRING(a) IDL_CHECK_CAST(a, IDLN_WIDE_STRING, idl_wide_string)
extern IDL_tree IDL_wide_string_new (wchar_t *value);
struct _IDL_CHAR {
char *value;
};
#define IDL_CHAR(a) IDL_CHECK_CAST(a, IDLN_CHAR, idl_char)
extern IDL_tree IDL_char_new (char *value);
struct _IDL_WIDE_CHAR {
wchar_t *value;
};
#define IDL_WIDE_CHAR(a) IDL_CHECK_CAST(a, IDLN_WIDE_CHAR, idl_wide_char)
extern IDL_tree IDL_wide_char_new (wchar_t *value);
struct _IDL_FIXED {
char *value;
};
#define IDL_FIXED(a) IDL_CHECK_CAST(a, IDLN_FIXED, idl_fixed)
extern IDL_tree IDL_fixed_new (char *value);
struct _IDL_FLOAT {
double value;
};
#define IDL_FLOAT(a) IDL_CHECK_CAST(a, IDLN_FLOAT, idl_float)
extern IDL_tree IDL_float_new (double value);
struct _IDL_BOOLEAN {
unsigned value;
};
#define IDL_BOOLEAN(a) IDL_CHECK_CAST(a, IDLN_BOOLEAN, idl_boolean)
extern IDL_tree IDL_boolean_new (unsigned value);
struct _IDL_IDENT {
char *str;
char *repo_id;
GSList *comments;
IDL_tree _ns_ref; /* Internal use, do not recurse */
unsigned _flags; /* Internal use */
#define IDLF_IDENT_CASE_MISMATCH_HIT (1UL << 0)
};
#define IDL_IDENT(a) IDL_CHECK_CAST(a, IDLN_IDENT, idl_ident)
#define IDL_IDENT_TO_NS(a) IDL_CHECK_CAST(a, IDLN_IDENT, idl_ident._ns_ref)
#define IDL_IDENT_REPO_ID(a) IDL_CHECK_CAST(a, IDLN_IDENT, idl_ident.repo_id)
extern IDL_tree IDL_ident_new (char *str);
extern void IDL_queue_new_ident_comment (const char *str);
enum IDL_float_type {
IDL_FLOAT_TYPE_FLOAT,
IDL_FLOAT_TYPE_DOUBLE,
IDL_FLOAT_TYPE_LONGDOUBLE
};
struct _IDL_TYPE_FLOAT {
enum IDL_float_type f_type;
};
#define IDL_TYPE_FLOAT(a) IDL_CHECK_CAST(a, IDLN_TYPE_FLOAT, idl_type_float)
extern IDL_tree IDL_type_float_new (enum IDL_float_type f_type);
struct _IDL_TYPE_FIXED {
IDL_tree positive_int_const;
IDL_tree integer_lit;
};
#define IDL_TYPE_FIXED(a) IDL_CHECK_CAST(a, IDLN_TYPE_FIXED, idl_type_fixed)
extern IDL_tree IDL_type_fixed_new (IDL_tree positive_int_const,
IDL_tree integer_lit);
enum IDL_integer_type {
IDL_INTEGER_TYPE_SHORT,
IDL_INTEGER_TYPE_LONG,
IDL_INTEGER_TYPE_LONGLONG
};
struct _IDL_TYPE_INTEGER {
unsigned f_signed : 1;
enum IDL_integer_type f_type;
};
#define IDL_TYPE_INTEGER(a) IDL_CHECK_CAST(a, IDLN_TYPE_INTEGER, idl_type_integer)
extern IDL_tree IDL_type_integer_new (unsigned f_signed,
enum IDL_integer_type f_type);
extern IDL_tree IDL_type_char_new (void);
extern IDL_tree IDL_type_wide_char_new (void);
extern IDL_tree IDL_type_boolean_new (void);
extern IDL_tree IDL_type_octet_new (void);
extern IDL_tree IDL_type_any_new (void);
extern IDL_tree IDL_type_object_new (void);
extern IDL_tree IDL_type_typecode_new (void);
struct _IDL_TYPE_STRING {
IDL_tree positive_int_const;
};
#define IDL_TYPE_STRING(a) IDL_CHECK_CAST(a, IDLN_TYPE_STRING, idl_type_string)
extern IDL_tree IDL_type_string_new (IDL_tree positive_int_const);
struct _IDL_TYPE_WIDE_STRING {
IDL_tree positive_int_const;
};
#define IDL_TYPE_WIDE_STRING(a) IDL_CHECK_CAST(a, IDLN_TYPE_WIDE_STRING, idl_type_wide_string)
extern IDL_tree IDL_type_wide_string_new (IDL_tree positive_int_const);
struct _IDL_TYPE_ENUM {
IDL_tree ident;
IDL_tree enumerator_list;
};
#define IDL_TYPE_ENUM(a) IDL_CHECK_CAST(a, IDLN_TYPE_ENUM, idl_type_enum)
extern IDL_tree IDL_type_enum_new (IDL_tree ident,
IDL_tree enumerator_list);
struct _IDL_TYPE_ARRAY {
IDL_tree ident;
IDL_tree size_list;
};
#define IDL_TYPE_ARRAY(a) IDL_CHECK_CAST(a, IDLN_TYPE_ARRAY, idl_type_array)
extern IDL_tree IDL_type_array_new (IDL_tree ident,
IDL_tree size_list);
struct _IDL_TYPE_SEQUENCE {
IDL_tree simple_type_spec;
IDL_tree positive_int_const;
};
#define IDL_TYPE_SEQUENCE(a) IDL_CHECK_CAST(a, IDLN_TYPE_SEQUENCE, idl_type_sequence)
extern IDL_tree IDL_type_sequence_new (IDL_tree simple_type_spec,
IDL_tree positive_int_const);
struct _IDL_TYPE_STRUCT {
IDL_tree ident;
IDL_tree member_list;
};
#define IDL_TYPE_STRUCT(a) IDL_CHECK_CAST(a, IDLN_TYPE_STRUCT, idl_type_struct)
extern IDL_tree IDL_type_struct_new (IDL_tree ident,
IDL_tree member_list);
struct _IDL_TYPE_UNION {
IDL_tree ident;
IDL_tree switch_type_spec;
IDL_tree switch_body;
};
#define IDL_TYPE_UNION(a) IDL_CHECK_CAST(a, IDLN_TYPE_UNION, idl_type_union)
extern IDL_tree IDL_type_union_new (IDL_tree ident,
IDL_tree switch_type_spec,
IDL_tree switch_body);
struct _IDL_MEMBER {
IDL_tree type_spec;
IDL_tree dcls;
};
#define IDL_MEMBER(a) IDL_CHECK_CAST(a, IDLN_MEMBER, idl_member)
extern IDL_tree IDL_member_new (IDL_tree type_spec,
IDL_tree dcls);
struct _IDL_NATIVE {
IDL_tree ident;
char *user_type; /* XPIDL extension */
};
#define IDL_NATIVE(a) IDL_CHECK_CAST(a, IDLN_NATIVE, idl_native)
extern IDL_tree IDL_native_new (IDL_tree ident);
struct _IDL_TYPE_DCL {
IDL_tree type_spec;
IDL_tree dcls;
};
#define IDL_TYPE_DCL(a) IDL_CHECK_CAST(a, IDLN_TYPE_DCL, idl_type_dcl)
extern IDL_tree IDL_type_dcl_new (IDL_tree type_spec,
IDL_tree dcls);
struct _IDL_CONST_DCL {
IDL_tree const_type;
IDL_tree ident;
IDL_tree const_exp;
};
#define IDL_CONST_DCL(a) IDL_CHECK_CAST(a, IDLN_CONST_DCL, idl_const_dcl)
extern IDL_tree IDL_const_dcl_new (IDL_tree const_type,
IDL_tree ident,
IDL_tree const_exp);
struct _IDL_EXCEPT_DCL {
IDL_tree ident;
IDL_tree members;
};
#define IDL_EXCEPT_DCL(a) IDL_CHECK_CAST(a, IDLN_EXCEPT_DCL, idl_except_dcl)
extern IDL_tree IDL_except_dcl_new (IDL_tree ident,
IDL_tree members);
struct _IDL_ATTR_DCL {
unsigned f_readonly : 1;
IDL_tree param_type_spec;
IDL_tree simple_declarations;
};
#define IDL_ATTR_DCL(a) IDL_CHECK_CAST(a, IDLN_ATTR_DCL, idl_attr_dcl)
extern IDL_tree IDL_attr_dcl_new (unsigned f_readonly,
IDL_tree param_type_spec,
IDL_tree simple_declarations);
struct _IDL_OP_DCL {
unsigned f_noscript : 1;
unsigned f_oneway : 1;
/* XPIDL extension (varags) */
unsigned f_varargs : 1;
IDL_tree op_type_spec;
IDL_tree ident;
IDL_tree parameter_dcls;
IDL_tree raises_expr;
IDL_tree context_expr;
};
#define IDL_OP_DCL(a) IDL_CHECK_CAST(a, IDLN_OP_DCL, idl_op_dcl)
extern IDL_tree IDL_op_dcl_new (unsigned f_oneway,
IDL_tree op_type_spec,
IDL_tree ident,
IDL_tree parameter_dcls,
IDL_tree raises_expr,
IDL_tree context_expr);
enum IDL_param_attr {
IDL_PARAM_IN,
IDL_PARAM_OUT,
IDL_PARAM_INOUT
};
struct _IDL_PARAM_DCL {
enum IDL_param_attr attr;
IDL_tree param_type_spec;
IDL_tree simple_declarator;
};
#define IDL_PARAM_DCL(a) IDL_CHECK_CAST(a, IDLN_PARAM_DCL, idl_param_dcl)
extern IDL_tree IDL_param_dcl_new (enum IDL_param_attr attr,
IDL_tree param_type_spec,
IDL_tree simple_declarator);
struct _IDL_CASE_STMT {
IDL_tree labels;
IDL_tree element_spec;
};
#define IDL_CASE_STMT(a) IDL_CHECK_CAST(a, IDLN_CASE_STMT, idl_case_stmt)
extern IDL_tree IDL_case_stmt_new (IDL_tree labels,
IDL_tree element_spec);
struct _IDL_INTERFACE {
IDL_tree ident;
IDL_tree inheritance_spec;
IDL_tree body;
};
#define IDL_INTERFACE(a) IDL_CHECK_CAST(a, IDLN_INTERFACE, idl_interface)
extern IDL_tree IDL_interface_new (IDL_tree ident,
IDL_tree inheritance_spec,
IDL_tree body);
struct _IDL_FORWARD_DCL {
IDL_tree ident;
};
#define IDL_FORWARD_DCL(a) IDL_CHECK_CAST(a, IDLN_FORWARD_DCL, idl_forward_dcl)
extern IDL_tree IDL_forward_dcl_new (IDL_tree ident);
struct _IDL_MODULE {
IDL_tree ident;
IDL_tree definition_list;
};
#define IDL_MODULE(a) IDL_CHECK_CAST(a, IDLN_MODULE, idl_module)
extern IDL_tree IDL_module_new (IDL_tree ident,
IDL_tree definition_list);
enum IDL_binop {
IDL_BINOP_OR,
IDL_BINOP_XOR,
IDL_BINOP_AND,
IDL_BINOP_SHR,
IDL_BINOP_SHL,
IDL_BINOP_ADD,
IDL_BINOP_SUB,
IDL_BINOP_MULT,
IDL_BINOP_DIV,
IDL_BINOP_MOD
};
struct _IDL_BINOP {
enum IDL_binop op;
IDL_tree left, right;
};
#define IDL_BINOP(a) IDL_CHECK_CAST(a, IDLN_BINOP, idl_binop)
extern IDL_tree IDL_binop_new (enum IDL_binop op,
IDL_tree left,
IDL_tree right);
enum IDL_unaryop {
IDL_UNARYOP_PLUS,
IDL_UNARYOP_MINUS,
IDL_UNARYOP_COMPLEMENT
};
struct _IDL_UNARYOP {
enum IDL_unaryop op;
IDL_tree operand;
};
#define IDL_UNARYOP(a) IDL_CHECK_CAST(a, IDLN_UNARYOP, idl_unaryop)
extern IDL_tree IDL_unaryop_new (enum IDL_unaryop op,
IDL_tree operand);
/* XPIDL code fragments extension. */
struct _IDL_CODEFRAG {
char *desc;
GSList *lines;
};
#define IDL_CODEFRAG(a) IDL_CHECK_CAST(a, IDLN_CODEFRAG, idl_codefrag)
extern IDL_tree IDL_codefrag_new (char *desc,
GSList *lines);
/*
* IDL_tree_type - Enumerations of node types
*
* Note this enumerator list is subject to change in the future. A program should not need
* more than a recompilation to adjust for a change in this list, so instead of using a
* statically initialized jumptable, allocate an array of size IDLN_LAST and assign the
* elements manually.
*/
typedef enum {
IDLN_NONE,
IDLN_ANY,
IDLN_LIST,
IDLN_GENTREE,
IDLN_INTEGER,
IDLN_STRING,
IDLN_WIDE_STRING,
IDLN_CHAR,
IDLN_WIDE_CHAR,
IDLN_FIXED,
IDLN_FLOAT,
IDLN_BOOLEAN,
IDLN_IDENT,
IDLN_TYPE_DCL,
IDLN_CONST_DCL,
IDLN_EXCEPT_DCL,
IDLN_ATTR_DCL,
IDLN_OP_DCL,
IDLN_PARAM_DCL,
IDLN_FORWARD_DCL,
IDLN_TYPE_INTEGER,
IDLN_TYPE_FLOAT,
IDLN_TYPE_FIXED,
IDLN_TYPE_CHAR,
IDLN_TYPE_WIDE_CHAR,
IDLN_TYPE_STRING,
IDLN_TYPE_WIDE_STRING,
IDLN_TYPE_BOOLEAN,
IDLN_TYPE_OCTET,
IDLN_TYPE_ANY,
IDLN_TYPE_OBJECT,
IDLN_TYPE_TYPECODE,
IDLN_TYPE_ENUM,
IDLN_TYPE_SEQUENCE,
IDLN_TYPE_ARRAY,
IDLN_TYPE_STRUCT,
IDLN_TYPE_UNION,
IDLN_MEMBER,
IDLN_NATIVE,
IDLN_CASE_STMT,
IDLN_INTERFACE,
IDLN_MODULE,
IDLN_BINOP,
IDLN_UNARYOP,
IDLN_CODEFRAG,
IDLN_LAST
} IDL_tree_type;
IDL_IMPORT const char * IDL_tree_type_names[];
struct _IDL_tree_node {
IDL_tree_type _type;
IDL_tree up; /* Do not recurse */
IDL_declspec_t declspec;
/* properties is an XPIDL extension. It is a hash table of
* case-insensitive string keys to string values. */
GHashTable *properties;
int refs;
char *_file; /* Internal use */
int _line; /* Internal use */
union {
struct _IDL_LIST idl_list;
struct _IDL_GENTREE idl_gentree;
struct _IDL_INTEGER idl_integer;
struct _IDL_STRING idl_string;
struct _IDL_WIDE_STRING idl_wide_string;
struct _IDL_CHAR idl_char;
struct _IDL_WIDE_CHAR idl_wide_char;
struct _IDL_FIXED idl_fixed;
struct _IDL_FLOAT idl_float;
struct _IDL_BOOLEAN idl_boolean;
struct _IDL_IDENT idl_ident;
struct _IDL_TYPE_DCL idl_type_dcl;
struct _IDL_CONST_DCL idl_const_dcl;
struct _IDL_EXCEPT_DCL idl_except_dcl;
struct _IDL_ATTR_DCL idl_attr_dcl;
struct _IDL_OP_DCL idl_op_dcl;
struct _IDL_PARAM_DCL idl_param_dcl;
struct _IDL_FORWARD_DCL idl_forward_dcl;
struct _IDL_TYPE_FLOAT idl_type_float;
struct _IDL_TYPE_FIXED idl_type_fixed;
struct _IDL_TYPE_INTEGER idl_type_integer;
struct _IDL_TYPE_ENUM idl_type_enum;
struct _IDL_TYPE_STRING idl_type_string;
struct _IDL_TYPE_WIDE_STRING idl_type_wide_string;
struct _IDL_TYPE_SEQUENCE idl_type_sequence;
struct _IDL_TYPE_ARRAY idl_type_array;
struct _IDL_TYPE_STRUCT idl_type_struct;
struct _IDL_TYPE_UNION idl_type_union;
struct _IDL_MEMBER idl_member;
struct _IDL_NATIVE idl_native;
struct _IDL_CASE_STMT idl_case_stmt;
struct _IDL_INTERFACE idl_interface;
struct _IDL_MODULE idl_module;
struct _IDL_BINOP idl_binop;
struct _IDL_UNARYOP idl_unaryop;
struct _IDL_CODEFRAG idl_codefrag;
} u;
};
#define IDL_NODE_TYPE(a) ((a)->_type)
#define IDL_NODE_TYPE_NAME(a) ((a)?IDL_tree_type_names[IDL_NODE_TYPE(a)]:"NULL")
#define IDL_NODE_UP(a) ((a)->up)
#define IDL_NODE_PROPERTIES(a) ((a)->properties)
#define IDL_NODE_DECLSPEC(a) ((a)->declspec)
#define IDL_NODE_REFS(a) ((a)->refs)
#define IDL_NODE_IS_LITERAL(a) \
(IDL_NODE_TYPE(a) == IDLN_INTEGER || \
IDL_NODE_TYPE(a) == IDLN_STRING || \
IDL_NODE_TYPE(a) == IDLN_WIDE_STRING || \
IDL_NODE_TYPE(a) == IDLN_CHAR || \
IDL_NODE_TYPE(a) == IDLN_WIDE_CHAR || \
IDL_NODE_TYPE(a) == IDLN_FIXED || \
IDL_NODE_TYPE(a) == IDLN_FLOAT || \
IDL_NODE_TYPE(a) == IDLN_BOOLEAN)
#define IDL_NODE_IS_TYPE(a) \
(IDL_NODE_TYPE(a) == IDLN_TYPE_INTEGER || \
IDL_NODE_TYPE(a) == IDLN_TYPE_STRING || \
IDL_NODE_TYPE(a) == IDLN_TYPE_WIDE_STRING || \
IDL_NODE_TYPE(a) == IDLN_TYPE_CHAR || \
IDL_NODE_TYPE(a) == IDLN_TYPE_WIDE_CHAR || \
IDL_NODE_TYPE(a) == IDLN_TYPE_FIXED || \
IDL_NODE_TYPE(a) == IDLN_TYPE_FLOAT || \
IDL_NODE_TYPE(a) == IDLN_TYPE_BOOLEAN || \
IDL_NODE_TYPE(a) == IDLN_TYPE_OCTET || \
IDL_NODE_TYPE(a) == IDLN_TYPE_ANY || \
IDL_NODE_TYPE(a) == IDLN_TYPE_OBJECT || \
IDL_NODE_TYPE(a) == IDLN_TYPE_TYPECODE || \
IDL_NODE_TYPE(a) == IDLN_TYPE_ENUM || \
IDL_NODE_TYPE(a) == IDLN_TYPE_ARRAY || \
IDL_NODE_TYPE(a) == IDLN_TYPE_SEQUENCE || \
IDL_NODE_TYPE(a) == IDLN_TYPE_STRUCT || \
IDL_NODE_TYPE(a) == IDLN_TYPE_UNION)
#define IDL_NODE_IS_SCOPED(a) \
(IDL_NODE_TYPE(a) == IDLN_IDENT || \
IDL_NODE_TYPE(a) == IDLN_INTERFACE || \
IDL_NODE_TYPE(a) == IDLN_MODULE || \
IDL_NODE_TYPE(a) == IDLN_EXCEPT_DCL || \
IDL_NODE_TYPE(a) == IDLN_OP_DCL || \
IDL_NODE_TYPE(a) == IDLN_TYPE_ENUM || \
IDL_NODE_TYPE(a) == IDLN_TYPE_STRUCT || \
IDL_NODE_TYPE(a) == IDLN_TYPE_UNION)
typedef struct _IDL_ns * IDL_ns;
struct _IDL_ns {
IDL_tree global;
IDL_tree file;
IDL_tree current;
GHashTable *inhibits;
GHashTable *filename_hash;
};
#define IDL_NS(a) (*(a))
typedef enum {
IDL_INPUT_REASON_INIT,
IDL_INPUT_REASON_FILL,
IDL_INPUT_REASON_ABORT,
IDL_INPUT_REASON_FINISH
} IDL_input_reason;
union IDL_input_data {
struct {
const char *filename;
} init;
struct {
char *buffer;
size_t max_size;
} fill;
};
typedef int (*IDL_input_callback) (IDL_input_reason reason,
union IDL_input_data *data,
gpointer user_data);
typedef int (*IDL_msg_callback) (int level,
int num,
int line,
const char *filename,
const char *message);
typedef struct _IDL_tree_func_state IDL_tree_func_state;
typedef struct _IDL_tree_func_data IDL_tree_func_data;
/* Traversal state data. Recursive walks chain states. */
struct _IDL_tree_func_state {
IDL_tree_func_state *up;
IDL_tree start;
IDL_tree_func_data *bottom;
};
/* This holds a list of the up hierarchy traversed, beginning from traversal. This is
* useful since nodes referenced after initial definition will have a different traversal
* path than the actual up path. */
struct _IDL_tree_func_data {
IDL_tree_func_state *state;
IDL_tree_func_data *up;
IDL_tree tree;
};
typedef gboolean (*IDL_tree_func) (IDL_tree_func_data *tnfd,
gpointer user_data);
extern IDL_tree IDL_check_type_cast (const IDL_tree var,
IDL_tree_type type,
const char *file,
int line,
const char *function);
extern const char * IDL_get_libver_string (void);
extern const char * IDL_get_IDLver_string (void);
extern int IDL_parse_filename (const char *filename,
const char *cpp_args,
IDL_msg_callback msg_cb,
IDL_tree *tree, IDL_ns *ns,
unsigned long parse_flags,
int max_msg_level);
extern int IDL_parse_filename_with_input (const char *filename,
IDL_input_callback input_cb,
gpointer input_cb_user_data,
IDL_msg_callback msg_cb,
IDL_tree *tree, IDL_ns *ns,
unsigned long parse_flags,
int max_msg_level);
extern int IDL_ns_prefix (IDL_ns ns,
const char *s);
extern void IDL_ns_ID (IDL_ns ns,
const char *s);
extern void IDL_ns_version (IDL_ns ns,
const char *s);
extern int IDL_inhibit_get (void);
extern void IDL_inhibit_push (void);
extern void IDL_inhibit_pop (void);
extern void IDL_file_set (const char *filename,
int line);
extern void IDL_file_get (const char **filename,
int *line);
extern IDL_tree IDL_get_parent_node (IDL_tree p,
IDL_tree_type type,
int *scope_levels);
extern IDL_tree IDL_tree_get_scope (IDL_tree p);
extern int IDL_tree_get_node_info (IDL_tree tree,
char **who,
char **what);
extern void IDL_tree_error (IDL_tree p,
const char *fmt,
...);
extern void IDL_tree_warning (IDL_tree p,
int level,
const char *fmt,
...);
extern const char * IDL_tree_property_get (IDL_tree tree,
const char *key);
extern void IDL_tree_property_set (IDL_tree tree,
const char *key,
const char *value);
extern gboolean IDL_tree_property_remove (IDL_tree tree,
const char *key);
extern void IDL_tree_properties_copy (IDL_tree from_tree,
IDL_tree to_tree);
extern void IDL_tree_walk (IDL_tree p,
IDL_tree_func_data *current,
IDL_tree_func pre_tree_func,
IDL_tree_func post_tree_func,
gpointer user_data);
extern void IDL_tree_walk_in_order (IDL_tree p,
IDL_tree_func tree_func,
gpointer user_data);
extern void IDL_tree_free (IDL_tree root);
extern void IDL_tree_to_IDL (IDL_tree p,
IDL_ns ns,
FILE *output,
unsigned long output_flags);
extern char * IDL_do_escapes (const char *s);
extern IDL_tree IDL_resolve_const_exp (IDL_tree p,
IDL_tree_type type);
extern IDL_ns IDL_ns_new (void);
extern void IDL_ns_free (IDL_ns ns);
extern IDL_tree IDL_ns_resolve_this_scope_ident (IDL_ns ns,
IDL_tree scope,
IDL_tree ident);
extern IDL_tree IDL_ns_resolve_ident (IDL_ns ns,
IDL_tree ident);
extern IDL_tree IDL_ns_lookup_this_scope (IDL_ns ns,
IDL_tree scope,
IDL_tree ident,
gboolean *conflict);
extern IDL_tree IDL_ns_lookup_cur_scope (IDL_ns ns,
IDL_tree ident,
gboolean *conflict);
extern IDL_tree IDL_ns_place_new (IDL_ns ns,
IDL_tree ident);
extern void IDL_ns_push_scope (IDL_ns ns,
IDL_tree ident);
extern void IDL_ns_pop_scope (IDL_ns ns);
extern IDL_tree IDL_ns_qualified_ident_new (IDL_tree nsid);
extern char * IDL_ns_ident_to_qstring (IDL_tree ns_ident,
const char *join,
int scope_levels);
extern int IDL_ns_scope_levels_from_here (IDL_ns ns,
IDL_tree ident,
IDL_tree parent);
extern char * IDL_ns_ident_make_repo_id (IDL_ns ns,
IDL_tree p,
const char *p_prefix,
int *major,
int *minor);
#ifdef __cplusplus
}
#endif
#endif /* __IDL_H */

View File

@@ -1,64 +0,0 @@
@echo off
if "%MOZ_TOOLS%" == "" goto no_moz_tools
echo.
echo MOZ_TOOLS is set to %MOZ_TOOLS%
echo It should NOT be set to anything in your cygwin
echo directory, such as c:\cygwin or c:\cygwin\bin
echo where C:\cygwin represents where you installed cygwin.
echo In that case files will be overwritten.
echo.
echo It should be set to some empty directory.
echo. e.g.
echo. mkdir c:\moz_tools
echo. set MOZ_TOOLS=c:\moz_tools
echo.
echo Please verify this.
echo.
pause
echo copying exes and dlls to %MOZ_TOOLS%\bin
if not exist %MOZ_TOOLS%\bin\NUL mkdir %MOZ_TOOLS%\bin >NUL
copy bin\x86\* %MOZ_TOOLS%\bin >NUL
echo copying include files to %MOZ_TOOLS%\include
if not exist %MOZ_TOOLS%\include\NUL mkdir %MOZ_TOOLS%\include >NUL
copy include\* %MOZ_TOOLS%\include >NUL
echo copying include files to %MOZ_TOOLS%\include\libIDL
if not exist %MOZ_TOOLS%\include\libIDL\NUL mkdir %MOZ_TOOLS%\include\libIDL >NUL
copy include\libIDL\* %MOZ_TOOLS%\include\libIDL >NUL
echo copying lib files to %MOZ_TOOLS%\lib
if not exist %MOZ_TOOLS%\lib\NUL mkdir %MOZ_TOOLS%\lib >NUL
copy lib\* %MOZ_TOOLS%\lib >NUL
echo.
echo done copying
echo.
echo make sure that MOZ_TOOLS\bin is on your path
echo.
goto done
:no_moz_tools
echo.
echo. ERROR!
echo.
echo You need to set MOZ_TOOLS in your environment.
echo MOZ_TOOLS should be the name of a directory that
echo you create to hold these tools.
echo.
echo. e.g.
echo. mkdir c:\moz_tools
echo. set MOZ_TOOLS=c:\moz_tools
echo.
echo MOZ_TOOLS should be set permanently so that it is
echo available to the build system whenever mozilla is building.
echo.
echo.
echo Please set MOZ_TOOLS and run install.bat again
echo.
:done
pause

Binary file not shown.

View File

@@ -1,12 +0,0 @@
Sources for glib are available from gnome.org via cvs. See cvs
checkout instructions at http://www.gnome.org - or use
export CVSROOT=:pserver:anonymous@anoncvs.gnome.org:/cvs/gnome
cvs login (no password)
cvs -z3 checkout glib
or grap a package of the sources we're currently using from
ftp://ftp.mozilla.org/pub/mozilla/libraries/source/
These sources correspond to the GLIB_1_2_0 tag on the gnome cvs
server.

View File

@@ -1,14 +0,0 @@
Sources for libIDL are available from gnome.org via cvs. See cvs
checkout instructions at http://www.gnome.org - or use
export CVSROOT=:pserver:anonymous@anoncvs.gnome.org:/cvs/gnome
cvs login (no password)
cvs -z3 checkout ORBit
(libIDL files are in ORBit/libIDL)
or grap a package of the sources we're currently using from
ftp://ftp.mozilla.org/pub/mozilla/libraries/source/
These sources correspond to the LIBIDL_V0_6_3 tag on the gnome cvs
server.

View File

@@ -1,7 +0,0 @@
This directory contains the source files for nsinstall.exe,
which is used to build the Mozilla client on Win32.
To build nsinstall.exe, issue the command:
nmake /f nsinstall.mak
The output is Release\nsinstall.exe. Copy it to a directory
on your Path.

View File

@@ -1,697 +0,0 @@
/*
* The nsinstall command for Win32
*
* Our gmake makefiles use the nsinstall command to create the
* object directories or installing headers and libs to ns/dist.
* The shmsdos shell has nsinstall as a built-in command. However,
* if we use another shell like MKS toolkit's sh, we need to have
* the nsinstall command separately.
*
* This file was generated by just taking the part of shmsdos.c
* needed by nsinstall and deleting the recursive directory copy code.
*
* To build, say
* nmake /f nsinstall.mak
*/
#include <direct.h>
#include <stdio.h>
#include <string.h>
#include <assert.h>
#include <windows.h>
#pragma hdrstop
/*
* sh_FileFcn --
*
* A function that operates on a file. The pathname is either
* absolute or relative to the current directory, and contains
* no wildcard characters such as * and ?. Additional arguments
* can be passed to the function via the arg pointer.
*/
typedef BOOL (*sh_FileFcn)(
char *pathName,
WIN32_FIND_DATA *fileData,
void *arg);
static int shellCp (char **pArgv);
static int shellNsinstall (char **pArgv);
static int shellMkdir (char **pArgv);
static BOOL sh_EnumerateFiles(const char *pattern, const char *where,
sh_FileFcn fileFcn, void *arg, int *nFiles);
static const char *sh_GetLastErrorMessage(void);
static BOOL sh_DoCopy(char *srcFileName, DWORD srcFileAttributes,
char *dstFileName, DWORD dstFileAttributes,
int force, int recursive);
/* changes all forward slashes in token to back slashes */
void changeForwardSlashesTpBackSlashes ( char *arg )
{
if ( arg == NULL )
return;
while ( *arg ) {
if ( *arg == '/' )
*arg = '\\';
arg++;
}
}
int main(int argc, char *argv[ ])
{
return shellNsinstall ( argv + 1 );
}
static int
shellNsinstall (char **pArgv)
{
int retVal = 0; /* exit status */
int dirOnly = 0; /* 1 if and only if -D is specified */
char **pSrc;
char **pDst;
/*
* Process the command-line options. We ignore the
* options except for -D. Some options, such as -m,
* are followed by an argument. We need to skip the
* argument too.
*/
while ( *pArgv && **pArgv == '-' ) {
char c = (*pArgv)[1]; /* The char after '-' */
if ( c == 'D' ) {
dirOnly = 1;
} else if ( c == 'm' ) {
pArgv++; /* skip the next argument */
}
pArgv++;
}
if ( !dirOnly ) {
/* There are files to install. Get source files */
if ( *pArgv ) {
pSrc = pArgv++;
} else {
fprintf( stderr, "nsinstall: not enough arguments\n");
return 3;
}
}
/* Get to last token to find destination directory */
if ( *pArgv ) {
pDst = pArgv++;
if ( dirOnly && *pArgv ) {
fprintf( stderr, "nsinstall: too many arguments with -D\n");
return 3;
}
} else {
fprintf( stderr, "nsinstall: not enough arguments\n");
return 3;
}
while ( *pArgv )
pDst = pArgv++;
retVal = shellMkdir ( pDst );
if ( retVal )
return retVal;
if ( !dirOnly )
retVal = shellCp ( pSrc );
return retVal;
}
static int
shellMkdir (char **pArgv)
{
int retVal = 0; /* assume valid return */
char *arg;
char *pArg;
char path[_MAX_PATH];
char tmpPath[_MAX_PATH];
char *pTmpPath = tmpPath;
/* All the options are simply ignored in this implementation */
while ( *pArgv && **pArgv == '-' ) {
if ( (*pArgv)[1] == 'm' ) {
pArgv++; /* skip the next argument (mode) */
}
pArgv++;
}
while ( *pArgv ) {
arg = *pArgv;
changeForwardSlashesTpBackSlashes ( arg );
pArg = arg;
pTmpPath = tmpPath;
while ( 1 ) {
/* create part of path */
while ( *pArg ) {
*pTmpPath++ = *pArg++;
if ( *pArg == '\\' )
break;
}
*pTmpPath = '\0';
/* check if directory alreay exists */
_getcwd ( path, sizeof (path) );
if ( _chdir ( tmpPath ) != -1 ) {
_chdir ( path );
} else {
if ( _mkdir ( tmpPath ) == -1 ) {
// while ( waitForDebug );
printf ( "%s: ", tmpPath );
perror ( "Could not create the directory" );
retVal = 3;
break;
}
}
if ( *pArg == '\0' ) /* complete path? */
break;
/* loop for next directory */
}
pArgv++;
}
return retVal;
}
static const char *
sh_GetLastErrorMessage()
{
static char buf[128];
FormatMessage(
FORMAT_MESSAGE_FROM_SYSTEM,
NULL,
GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), /* default language */
buf,
sizeof(buf),
NULL
);
return buf;
}
/*
* struct sh_FileData --
*
* A pointer to the sh_FileData structure is passed into sh_RecordFileData,
* which will fill in the fields.
*/
struct sh_FileData {
char pathName[_MAX_PATH];
DWORD dwFileAttributes;
};
/*
* sh_RecordFileData --
*
* Record the pathname and attributes of the file in
* the sh_FileData structure pointed to by arg.
*
* Always return TRUE (successful completion).
*
* This function is intended to be passed into sh_EnumerateFiles
* to see if a certain pattern expands to exactly one file/directory,
* and if so, record its pathname and attributes.
*/
static BOOL
sh_RecordFileData(char *pathName, WIN32_FIND_DATA *findData, void *arg)
{
struct sh_FileData *fData = (struct sh_FileData *) arg;
strcpy(fData->pathName, pathName);
fData->dwFileAttributes = findData->dwFileAttributes;
return TRUE;
}
static BOOL
sh_DoCopy(char *srcFileName,
DWORD srcFileAttributes,
char *dstFileName,
DWORD dstFileAttributes,
int force,
int recursive
)
{
if (dstFileAttributes != 0xFFFFFFFF) {
if ((dstFileAttributes & FILE_ATTRIBUTE_READONLY) && force) {
dstFileAttributes &= ~FILE_ATTRIBUTE_READONLY;
SetFileAttributes(dstFileName, dstFileAttributes);
}
}
if (srcFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
fprintf(stderr, "nsinstall: %s is a directory\n",
srcFileName);
return FALSE;
} else {
if (!CopyFile(srcFileName, dstFileName, FALSE)) {
fprintf(stderr, "nsinstall: cannot copy %s to %s: %s\n",
srcFileName, dstFileName, sh_GetLastErrorMessage());
return FALSE;
}
}
return TRUE;
}
/*
* struct sh_CpCmdArg --
*
* A pointer to the sh_CpCmdArg structure is passed into sh_CpFileCmd.
* The sh_CpCmdArg contains information about the cp command, and
* provide a buffer for constructing the destination file name.
*/
struct sh_CpCmdArg {
int force; /* -f option, ok to overwrite an existing
* read-only destination file */
int recursive; /* -r or -R option, recursively copy
* directories. Note: this field is not used
* by nsinstall and should always be 0. */
char *dstFileName; /* a buffer for constructing the destination
* file name */
char *dstFileNameMarker; /* points to where in the dstFileName buffer
* we should write the file component of the
* destination file */
};
/*
* sh_CpFileCmd --
*
* Copy a file to the destination directory
*
* This function is intended to be passed into sh_EnumerateFiles to
* copy all the files specified by the pattern to the destination
* directory.
*
* Return TRUE if the file is successfully copied, and FALSE otherwise.
*/
static BOOL
sh_CpFileCmd(char *pathName, WIN32_FIND_DATA *findData, void *cpArg)
{
BOOL retVal = TRUE;
struct sh_CpCmdArg *arg = (struct sh_CpCmdArg *) cpArg;
strcpy(arg->dstFileNameMarker, findData->cFileName);
return sh_DoCopy(pathName, findData->dwFileAttributes,
arg->dstFileName, GetFileAttributes(arg->dstFileName),
arg->force, arg->recursive);
}
static int
shellCp (char **pArgv)
{
int retVal = 0;
char **pSrc;
char **pDst;
struct sh_CpCmdArg arg;
struct sh_FileData dstData;
int dstIsDir = 0;
int n;
arg.force = 0;
arg.recursive = 0;
arg.dstFileName = dstData.pathName;
arg.dstFileNameMarker = 0;
while (*pArgv && **pArgv == '-') {
char *p = *pArgv;
while (*(++p)) {
if (*p == 'f') {
arg.force = 1;
}
}
pArgv++;
}
/* the first source file */
if (*pArgv) {
pSrc = pArgv++;
} else {
fprintf(stderr, "nsinstall: not enough arguments\n");
return 3;
}
/* get to the last token to find destination */
if (*pArgv) {
pDst = pArgv++;
} else {
fprintf(stderr, "nsinstall: not enough arguments\n");
return 3;
}
while (*pArgv) {
pDst = pArgv++;
}
/*
* The destination pattern must unambiguously expand to exactly
* one file or directory.
*/
changeForwardSlashesTpBackSlashes(*pDst);
sh_EnumerateFiles(*pDst, *pDst, sh_RecordFileData, &dstData, &n);
assert(n >= 0);
if (n == 1) {
/*
* Is the destination a file or directory?
*/
if (dstData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
dstIsDir = 1;
}
} else if (n > 1) {
fprintf(stderr, "nsinstall: %s: ambiguous destination file "
"or directory\n", *pDst);
return 3;
} else {
/*
* n == 0, meaning that destination file or directory does
* not exist. In this case the destination file directory
* name must be fully specified.
*/
char *p;
for (p = *pDst; *p; p++) {
if (*p == '*' || *p == '?') {
fprintf(stderr, "nsinstall: %s: No such file or directory\n",
*pDst);
return 3;
}
}
/*
* Do not include the trailing \, if any, unless it is a root
* directory (\ or X:\).
*/
if (p > *pDst && p[-1] == '\\' && p != *pDst + 1 && p[-2] != ':') {
p[-1] = '\0';
}
strcpy(dstData.pathName, *pDst);
dstData.dwFileAttributes = 0xFFFFFFFF;
}
/*
* If there are two or more source files, the destination has
* to be a directory.
*/
if (pDst - pSrc > 1 && !dstIsDir) {
fprintf(stderr, "nsinstall: cannot copy more than"
" one file to the same destination file\n");
return 3;
}
if (dstIsDir) {
arg.dstFileNameMarker = arg.dstFileName + strlen(arg.dstFileName);
/*
* Now arg.dstFileNameMarker is pointing to the null byte at the
* end of string. We want to make sure that there is a \ at the
* end of string, and arg.dstFileNameMarker should point right
* after that \.
*/
if (arg.dstFileNameMarker[-1] != '\\') {
*(arg.dstFileNameMarker++) = '\\';
}
}
if (!dstIsDir) {
struct sh_FileData srcData;
assert(pDst - pSrc == 1);
changeForwardSlashesTpBackSlashes(*pSrc);
sh_EnumerateFiles(*pSrc, *pSrc, sh_RecordFileData, &srcData, &n);
if (n == 0) {
fprintf(stderr, "nsinstall: %s: No such file or directory\n",
*pSrc);
retVal = 3;
} else if (n > 1) {
fprintf(stderr, "nsinstall: cannot copy more than one file or "
"directory to the same destination\n");
retVal = 3;
} else {
assert(n == 1);
if (sh_DoCopy(srcData.pathName, srcData.dwFileAttributes,
dstData.pathName, dstData.dwFileAttributes,
arg.force, arg.recursive) == FALSE) {
retVal = 3;
}
}
return retVal;
}
for ( ; *pSrc != *pDst; pSrc++) {
BOOL rv;
changeForwardSlashesTpBackSlashes(*pSrc);
rv = sh_EnumerateFiles(*pSrc, *pSrc, sh_CpFileCmd, &arg, &n);
if (rv == FALSE) {
retVal = 3;
} else {
if (n == 0) {
fprintf(stderr, "nsinstall: %s: No such file or directory\n",
*pSrc);
retVal = 3;
}
}
}
return retVal;
}
/*
* sh_EnumerateFiles --
*
* Enumerate all the files in the specified pattern, which is a pathname
* containing possibly wildcard characters such as * and ?. fileFcn
* is called on each file, passing the expanded file name, a pointer
* to the file's WIN32_FILE_DATA, and the arg pointer.
*
* It is assumed that there are no wildcard characters before the
* character pointed to by 'where'.
*
* On return, *nFiles stores the number of files enumerated. *nFiles is
* set to this number whether sh_EnumerateFiles or 'fileFcn' succeeds
* or not.
*
* Return TRUE if the files are successfully enumerated and all
* 'fileFcn' invocations succeeded. Return FALSE if something went
* wrong.
*/
static BOOL sh_EnumerateFiles(
const char *pattern,
const char *where,
sh_FileFcn fileFcn,
void *arg,
int *nFiles
)
{
WIN32_FIND_DATA fileData;
HANDLE hSearch;
const char *src;
char *dst;
char fileName[_MAX_PATH];
char *fileNameMarker = fileName;
char *oldFileNameMarker;
BOOL hasWildcard = FALSE;
BOOL retVal = TRUE;
BOOL patternEndsInDotStar = FALSE;
BOOL patternEndsInDot = FALSE; /* a special case of
* patternEndsInDotStar */
int numDotsInPattern;
int len;
/*
* Windows expands patterns ending in ".", ".*", ".**", etc.
* differently from the glob expansion on Unix. For example,
* both "foo." and "foo.*" match "foo", and "*.*" matches
* everything, including filenames with no dots. So we need
* to throw away extra files returned by the FindNextFile()
* function. We require that a matched filename have at least
* the number of dots in the pattern.
*/
len = strlen(pattern);
if (len >= 2) {
/* Start from the end of pattern and go backward */
const char *p = &pattern[len - 1];
/* We can have zero or more *'s */
while (p >= pattern && *p == '*') {
p--;
}
if (p >= pattern && *p == '.') {
patternEndsInDotStar = TRUE;
if (p == &pattern[len - 1]) {
patternEndsInDot = TRUE;
}
p--;
numDotsInPattern = 1;
while (p >= pattern && *p != '\\') {
if (*p == '.') {
numDotsInPattern++;
}
p--;
}
}
}
*nFiles = 0;
/*
* Copy pattern to fileName, but only up to and not including
* the first \ after the first wildcard letter.
*
* Make fileNameMarker point to one of the following:
* - the start of fileName, if fileName does not contain any \.
* - right after the \ before the first wildcard letter, if there is
* a wildcard character.
* - right after the last \, if there is no wildcard character.
*/
dst = fileName;
src = pattern;
while (src < where) {
if (*src == '\\') {
oldFileNameMarker = fileNameMarker;
fileNameMarker = dst + 1;
}
*(dst++) = *(src++);
}
while (*src && *src != '*' && *src != '?') {
if (*src == '\\') {
oldFileNameMarker = fileNameMarker;
fileNameMarker = dst + 1;
}
*(dst++) = *(src++);
}
if (*src) {
/*
* Must have seen the first wildcard letter
*/
hasWildcard = TRUE;
while (*src && *src != '\\') {
*(dst++) = *(src++);
}
}
/* Now src points to either null or \ */
assert(*src == '\0' || *src == '\\');
assert(hasWildcard || *src == '\0');
*dst = '\0';
/*
* If the pattern does not contain any wildcard characters, then
* we don't need to go the FindFirstFile route.
*/
if (!hasWildcard) {
/*
* See if it is the root directory, \, or X:\.
*/
assert(!strcmp(fileName, pattern));
assert(strlen(fileName) >= 1);
if (dst[-1] == '\\' && (dst == fileName + 1 || dst[-2] == ':')) {
fileData.cFileName[0] = '\0';
} else {
/*
* Do not include the trailing \, if any
*/
if (dst[-1] == '\\') {
assert(*fileNameMarker == '\0');
dst[-1] = '\0';
fileNameMarker = oldFileNameMarker;
}
strcpy(fileData.cFileName, fileNameMarker);
}
fileData.dwFileAttributes = GetFileAttributes(fileName);
if (fileData.dwFileAttributes == 0xFFFFFFFF) {
return TRUE;
}
*nFiles = 1;
return (*fileFcn)(fileName, &fileData, arg);
}
hSearch = FindFirstFile(fileName, &fileData);
if (hSearch == INVALID_HANDLE_VALUE) {
return retVal;
}
do {
if (!strcmp(fileData.cFileName, ".")
|| !strcmp(fileData.cFileName, "..")) {
/*
* Skip over . and ..
*/
continue;
}
if (patternEndsInDotStar) {
int nDots = 0;
char *p = fileData.cFileName;
while (*p) {
if (*p == '.') {
nDots++;
}
p++;
}
/* Now p points to the null byte at the end of file name */
if (patternEndsInDot && (p == fileData.cFileName
|| p[-1] != '.')) {
/*
* File name does not end in dot. Skip this file.
* Note: windows file name probably cannot end in dot,
* but we do this check anyway.
*/
continue;
}
if (nDots < numDotsInPattern) {
/*
* Not enough dots in file name. Must be an extra
* file in matching .* pattern. Skip this file.
*/
continue;
}
}
strcpy(fileNameMarker, fileData.cFileName);
if (*src && *(src + 1)) {
/*
* More to go. Recurse.
*/
int n;
assert(*src == '\\');
where = fileName + strlen(fileName);
strcat(fileName, src);
sh_EnumerateFiles(fileName, where, fileFcn, arg, &n);
*nFiles += n;
} else {
assert(strchr(fileName, '*') == NULL);
assert(strchr(fileName, '?') == NULL);
(*nFiles)++;
if ((*fileFcn)(fileName, &fileData, arg) == FALSE) {
retVal = FALSE;
}
}
} while (FindNextFile(hSearch, &fileData));
FindClose(hSearch);
return retVal;
}

View File

@@ -1,141 +0,0 @@
# NMAKE file for building nsinstall.exe.
#
# This file is edited from an NMAKE file generated by
# Microsoft Developer Studio, Format Version 4.20
#
# To build, say
# nmake /f nsinstall.mak CFG=Release
# or
# nmake /f nsinstall.mak CFG=Debug
# If CFG is omitted, a release build is assumed.
!IF "$(CFG)" == ""
CFG=Release
!MESSAGE No configuration specified. Defaulting Release.
!ENDIF
!IF "$(CFG)" != "Release" && "$(CFG)" != "Debug"
!MESSAGE Invalid configuration "$(CFG)" specified.
!MESSAGE You can specify a configuration when running NMAKE on this makefile
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "nsinstall.mak" CFG="Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "Release" (based on "Win32 Console Application")
!MESSAGE "Debug" (based on "Win32 Console Application")
!MESSAGE
!ERROR An invalid configuration is specified.
!ENDIF
!IF "$(OS)" == "Windows_NT"
NULL=
!ELSE
NULL=nul
!ENDIF
################################################################################
# Begin Project
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "Release"
OUTDIR=.\Release
INTDIR=.\Release
ALL : "$(OUTDIR)\nsinstall.exe"
CLEAN :
-@erase "$(INTDIR)\nsinstall.obj"
-@erase "$(OUTDIR)\nsinstall.exe"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP_PROJ=/nologo /ML /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE"\
/Fp"$(INTDIR)/nsinstall.pch" /YX /Fo"$(INTDIR)/" /c
CPP_OBJS=.\Release/
CPP_SBRS=.\.
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)/nsinstall.bsc"
BSC32_SBRS= \
LINK32=link.exe
LINK32_FLAGS=/nologo\
/subsystem:console /incremental:no /pdb:"$(OUTDIR)/nsinstall.pdb"\
/out:"$(OUTDIR)/nsinstall.exe"
LINK32_OBJS= \
"$(INTDIR)\nsinstall.obj"
"$(OUTDIR)\nsinstall.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
!ELSEIF "$(CFG)" == "Debug"
OUTDIR=.\Debug
INTDIR=.\Debug
ALL : "$(OUTDIR)\nsinstall.exe"
CLEAN :
-@erase "$(INTDIR)\nsinstall.obj"
-@erase "$(INTDIR)\vc40.idb"
-@erase "$(INTDIR)\vc40.pdb"
-@erase "$(OUTDIR)\nsinstall.exe"
-@erase "$(OUTDIR)\nsinstall.ilk"
-@erase "$(OUTDIR)\nsinstall.pdb"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP_PROJ=/nologo /MD /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "DEBUG"\
/D "_CONSOLE" /Fp"$(INTDIR)/nsinstall.pch" /YX /Fo"$(INTDIR)/"\
/Fd"$(INTDIR)/" /c
CPP_OBJS=.\Debug/
CPP_SBRS=.\.
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)/nsinstall.bsc"
BSC32_SBRS= \
LINK32=link.exe
LINK32_FLAGS=/nologo\
/subsystem:console /incremental:yes /pdb:"$(OUTDIR)/nsinstall.pdb" /debug\
/out:"$(OUTDIR)/nsinstall.exe"
LINK32_OBJS= \
"$(INTDIR)\nsinstall.obj"
"$(OUTDIR)\nsinstall.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
!ENDIF
.c{$(CPP_OBJS)}.obj:
$(CPP) $(CPP_PROJ) $<
.c{$(CPP_SBRS)}.sbr:
$(CPP) $(CPP_PROJ) $<
################################################################################
# Begin Target
################################################################################
# Begin Source File
SOURCE=.\nsinstall.c
DEP_CPP_SHMSD=\
{$(INCLUDE)}"\sys\stat.h"\
{$(INCLUDE)}"\sys\types.h"\
"$(INTDIR)\nsinstall.obj" : $(SOURCE) $(DEP_CPP_SHMSD) "$(INTDIR)"
# End Source File
# End Target
# End Project
################################################################################

View File

@@ -1,504 +0,0 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the Lesser GPL. It also counts
as the successor of the GNU Library Public License, version 2, hence
the version number 2.1.]
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Lesser General Public License, applies to some
specially designated software packages--typically libraries--of the
Free Software Foundation and other authors who decide to use it. You
can use it too, but we suggest you first think carefully about whether
this license or the ordinary General Public License is the better
strategy to use in any particular case, based on the explanations below.
When we speak of free software, we are referring to freedom of use,
not price. Our General Public Licenses are designed to make sure that
you have the freedom to distribute copies of free software (and charge
for this service if you wish); that you receive source code or can get
it if you want it; that you can change the software and use pieces of
it in new free programs; and that you are informed that you can do
these things.
To protect your rights, we need to make restrictions that forbid
distributors to deny you these rights or to ask you to surrender these
rights. These restrictions translate to certain responsibilities for
you if you distribute copies of the library or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them
with the library after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
We protect your rights with a two-step method: (1) we copyright the
library, and (2) we offer you this license, which gives you legal
permission to copy, distribute and/or modify the library.
To protect each distributor, we want to make it very clear that
there is no warranty for the free library. Also, if the library is
modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original
author's reputation will not be affected by problems that might be
introduced by others.
Finally, software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
restrictive license from a patent holder. Therefore, we insist that
any patent license obtained for a version of the library must be
consistent with the full freedom of use specified in this license.
Most GNU software, including some libraries, is covered by the
ordinary GNU General Public License. This license, the GNU Lesser
General Public License, applies to certain designated libraries, and
is quite different from the ordinary General Public License. We use
this license for certain libraries in order to permit linking those
libraries into non-free programs.
When a program is linked with a library, whether statically or using
a shared library, the combination of the two is legally speaking a
combined work, a derivative of the original library. The ordinary
General Public License therefore permits such linking only if the
entire combination fits its criteria of freedom. The Lesser General
Public License permits more lax criteria for linking other code with
the library.
We call this license the "Lesser" General Public License because it
does Less to protect the user's freedom than the ordinary General
Public License. It also provides other free software developers Less
of an advantage over competing non-free programs. These disadvantages
are the reason we use the ordinary General Public License for many
libraries. However, the Lesser license provides advantages in certain
special circumstances.
For example, on rare occasions, there may be a special need to
encourage the widest possible use of a certain library, so that it becomes
a de-facto standard. To achieve this, non-free programs must be
allowed to use the library. A more frequent case is that a free
library does the same job as widely used non-free libraries. In this
case, there is little to gain by limiting the free library to free
software only, so we use the Lesser General Public License.
In other cases, permission to use a particular library in non-free
programs enables a greater number of people to use a large body of
free software. For example, permission to use the GNU C Library in
non-free programs enables many more people to use the whole GNU
operating system, as well as its variant, the GNU/Linux operating
system.
Although the Lesser General Public License is Less protective of the
users' freedom, it does ensure that the user of a program that is
linked with the Library has the freedom and the wherewithal to run
that program using a modified version of the Library.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other
program which contains a notice placed by the copyright holder or
other authorized party saying it may be distributed under the terms of
this Lesser General Public License (also called "this License").
Each licensee is addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
b) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (1) uses at run time a
copy of the library already present on the user's computer system,
rather than copying library functions into the executable, and (2)
will operate properly with a modified version of the library, if
the user installs one, as long as the modified version is
interface-compatible with the version that the work was made with.
c) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
d) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
e) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the materials to be distributed need not include anything that is
normally distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties with
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Lesser General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).
To apply these terms, attach the following notices to the library. It is
safest to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
<one line to give the library's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the library, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
<signature of Ty Coon>, 1 April 1990
Ty Coon, President of Vice
That's all there is to it!

View File

@@ -1,481 +0,0 @@
GNU LIBRARY GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1991 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the library GPL. It is
numbered 2 because it goes with version 2 of the ordinary GPL.]
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Library General Public License, applies to some
specially designated Free Software Foundation software, and to any
other libraries whose authors decide to use it. You can use it for
your libraries, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if
you distribute copies of the library, or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link a program with the library, you must provide
complete object files to the recipients so that they can relink them
with the library, after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
Our method of protecting your rights has two steps: (1) copyright
the library, and (2) offer you this license which gives you legal
permission to copy, distribute and/or modify the library.
Also, for each distributor's protection, we want to make certain
that everyone understands that there is no warranty for this free
library. If the library is modified by someone else and passed on, we
want its recipients to know that what they have is not the original
version, so that any problems introduced by others will not reflect on
the original authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that companies distributing free
software will individually obtain patent licenses, thus in effect
transforming the program into proprietary software. To prevent this,
we have made it clear that any patent must be licensed for everyone's
free use or not licensed at all.
Most GNU software, including some libraries, is covered by the ordinary
GNU General Public License, which was designed for utility programs. This
license, the GNU Library General Public License, applies to certain
designated libraries. This license is quite different from the ordinary
one; be sure to read it in full, and don't assume that anything in it is
the same as in the ordinary license.
The reason we have a separate public license for some libraries is that
they blur the distinction we usually make between modifying or adding to a
program and simply using it. Linking a program with a library, without
changing the library, is in some sense simply using the library, and is
analogous to running a utility program or application program. However, in
a textual and legal sense, the linked executable is a combined work, a
derivative of the original library, and the ordinary General Public License
treats it as such.
Because of this blurred distinction, using the ordinary General
Public License for libraries did not effectively promote software
sharing, because most developers did not use the libraries. We
concluded that weaker conditions might promote sharing better.
However, unrestricted linking of non-free programs would deprive the
users of those programs of all benefit from the free status of the
libraries themselves. This Library General Public License is intended to
permit developers of non-free programs to use free libraries, while
preserving your freedom as a user of such programs to change the free
libraries that are incorporated in them. (We have not seen how to achieve
this as regards changes in header files, but we have achieved it as regards
changes in the actual functions of the Library.) The hope is that this
will lead to faster development of free libraries.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, while the latter only
works together with the library.
Note that it is possible for a library to be covered by the ordinary
General Public License rather than by this special one.
GNU LIBRARY GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library which
contains a notice placed by the copyright holder or other authorized
party saying it may be distributed under the terms of this Library
General Public License (also called "this License"). Each licensee is
addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also compile or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
b) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
c) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
d) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the source code distributed need not include anything that is normally
distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Library General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
Appendix: How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).
To apply these terms, attach the following notices to the library. It is
safest to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
<one line to give the library's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the library, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
<signature of Ty Coon>, 1 April 1990
Ty Coon, President of Vice
That's all there is to it!

View File

@@ -1,8 +0,0 @@
These libraries were compiled using .NET/VC7. The original
sources can be found at ftp://ftp.gtk.org/pub/gtk/v1.2/glib-1.2.10.tar.gz &
ftp://ftp.mozilla.org/pub/mozilla/libraries/source/libIDL-0.6.8.tar.gz.
The patches used to build can be found at
http://bugzilla.mozilla.org/show_bug.cgi?id=123743 .
- cls, 2002/10/18

File diff suppressed because it is too large Load Diff

View File

@@ -1,174 +0,0 @@
/* glibconfig.h.win32 */
/* Handcrafted for Microsoft C. */
#ifndef GLIBCONFIG_H
#define GLIBCONFIG_H
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
#ifdef _MSC_VER
/* Make MSVC more pedantic, this is a recommended pragma list
* from _Win32_Programming_ by Rector and Newcomer.
*/
#pragma warning(error:4002)
#pragma warning(error:4003)
#pragma warning(1:4010)
#pragma warning(error:4013)
#pragma warning(1:4016)
#pragma warning(error:4020)
#pragma warning(error:4021)
#pragma warning(error:4027)
#pragma warning(error:4029)
#pragma warning(error:4033)
#pragma warning(error:4035)
#pragma warning(error:4045)
#pragma warning(error:4047)
#pragma warning(error:4049)
#pragma warning(error:4053)
#pragma warning(error:4071)
#pragma warning(disable:4101)
#pragma warning(error:4150)
#pragma warning(disable:4244) /* No possible loss of data warnings */
#pragma warning(disable:4305) /* No truncation from int to char warnings */
#endif /* _MSC_VER */
#include <limits.h>
#include <float.h>
#define G_MINFLOAT FLT_MIN
#define G_MAXFLOAT FLT_MAX
#define G_MINDOUBLE DBL_MIN
#define G_MAXDOUBLE DBL_MAX
#define G_MINSHORT SHRT_MIN
#define G_MAXSHORT SHRT_MAX
#define G_MININT INT_MIN
#define G_MAXINT INT_MAX
#define G_MINLONG LONG_MIN
#define G_MAXLONG LONG_MAX
typedef signed char gint8;
typedef unsigned char guint8;
typedef signed short gint16;
typedef unsigned short guint16;
typedef signed int gint32;
typedef unsigned int guint32;
#define G_HAVE_GINT64 1
typedef __int64 gint64;
typedef unsigned __int64 guint64;
#define G_GINT64_CONSTANT(val) (val##i64)
#define GPOINTER_TO_INT(p) ((gint)(p))
#define GPOINTER_TO_UINT(p) ((guint)(p))
#define GINT_TO_POINTER(i) ((gpointer)(i))
#define GUINT_TO_POINTER(u) ((gpointer)(u))
#define g_ATEXIT(proc) (atexit (proc))
#define g_memmove(d,s,n) G_STMT_START { memmove ((d), (s), (n)); } G_STMT_END
#define G_HAVE_ALLOCA 1
#define alloca _alloca
#define GLIB_MAJOR_VERSION 1
#define GLIB_MINOR_VERSION 2
#define GLIB_MICRO_VERSION 10
#ifdef __cplusplus
#define G_HAVE_INLINE 1
#else /* !__cplusplus */
#define G_HAVE___INLINE 1
#endif
#define G_THREADS_ENABLED
/*
* The following program can be used to determine the magic values below:
* #include <stdio.h>
* #include <pthread.h>
* main(int argc, char **argv)
* {
* int i;
* pthread_mutex_t m = PTHREAD_MUTEX_INITIALIZER;
* printf ("sizeof (pthread_mutex_t) = %d\n", sizeof (pthread_mutex_t));
* printf ("PTHREAD_MUTEX_INITIALIZER = ");
* for (i = 0; i < sizeof (pthread_mutex_t); i++)
* printf ("%u, ", ((unsigned char *) &m)[i]);
* printf ("\n");
* exit(0);
* }
*/
#define G_THREADS_IMPL_POSIX
typedef struct _GStaticMutex GStaticMutex;
struct _GStaticMutex
{
struct _GMutex *runtime_mutex;
union {
/* The size of the pad array should be sizeof (pthread_mutext_t) */
/* This value corresponds to the 1999-04-07 version of pthreads-win32 */
char pad[4];
double dummy_double;
void *dummy_pointer;
long dummy_long;
} aligned_pad_u;
};
/* This should be NULL followed by the bytes in PTHREAD_MUTEX_INITIALIZER */
#define G_STATIC_MUTEX_INIT { NULL, { { 255, 255, 255, 255 } } }
#define g_static_mutex_get_mutex(mutex) \
(g_thread_use_default_impl ? ((GMutex*) &((mutex)->aligned_pad_u)) : \
g_static_mutex_get_mutex_impl (&((mutex)->runtime_mutex)))
#define G_BYTE_ORDER G_LITTLE_ENDIAN
#define GINT16_TO_LE(val) ((gint16) (val))
#define GUINT16_TO_LE(val) ((guint16) (val))
#define GINT16_TO_BE(val) ((gint16) GUINT16_SWAP_LE_BE (val))
#define GUINT16_TO_BE(val) (GUINT16_SWAP_LE_BE (val))
#define GINT32_TO_LE(val) ((gint32) (val))
#define GUINT32_TO_LE(val) ((guint32) (val))
#define GINT32_TO_BE(val) ((gint32) GUINT32_SWAP_LE_BE (val))
#define GUINT32_TO_BE(val) (GUINT32_SWAP_LE_BE (val))
#define GINT64_TO_LE(val) ((gint64) (val))
#define GUINT64_TO_LE(val) ((guint64) (val))
#define GINT64_TO_BE(val) ((gint64) GUINT64_SWAP_LE_BE (val))
#define GUINT64_TO_BE(val) (GUINT64_SWAP_LE_BE (val))
#define GLONG_TO_LE(val) ((glong) GINT32_TO_LE (val))
#define GULONG_TO_LE(val) ((gulong) GUINT32_TO_LE (val))
#define GLONG_TO_BE(val) ((glong) GINT32_TO_BE (val))
#define GULONG_TO_BE(val) ((gulong) GUINT32_TO_BE (val))
#define GINT_TO_LE(val) ((gint) GINT32_TO_LE (val))
#define GUINT_TO_LE(val) ((guint) GUINT32_TO_LE (val))
#define GINT_TO_BE(val) ((gint) GINT32_TO_BE (val))
#define GUINT_TO_BE(val) ((guint) GUINT32_TO_BE (val))
#define GLIB_SYSDEF_POLLIN = 1
#define GLIB_SYSDEF_POLLOUT = 4
#define GLIB_SYSDEF_POLLPRI = 2
#define GLIB_SYSDEF_POLLERR = 8
#define GLIB_SYSDEF_POLLHUP = 16
#define GLIB_SYSDEF_POLLNVAL = 32
#define G_HAVE_WCHAR_H 1
#define G_HAVE_WCTYPE_H 1
/* Define if this is Win32, possibly using the Cygwin emulation layer. */
#define WIN32 1
/* Define if this is Win32 without Cygwin. */
#define NATIVE_WIN32 1
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* GLIBCONFIG_H */

View File

@@ -1,851 +0,0 @@
/**************************************************************************
IDL.h (IDL parse tree and namespace components)
Copyright (C) 1998, 1999 Andrew T. Veliath
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: IDL.h,v 1.1 2002-10-18 08:31:49 seawood%netscape.com Exp $
***************************************************************************/
#ifndef __IDL_H
#define __IDL_H
#include <glib.h>
/* Try to find wchar_t support */
#include <stdlib.h>
#if 1 /* HAVE_WCHAR_H */
# include <wchar.h>
#endif
#if 0 /* HAVE_WCSTR_H */
# include <wcstr.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
/* version */
#define LIBIDL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
#define LIBIDL_MAJOR_VERSION 0
#define LIBIDL_MINOR_VERSION 6
#define LIBIDL_MICRO_VERSION 8
#define LIBIDL_VERSION_CODE LIBIDL_VERSION(0,6,8)
/* miscellaneous constants */
#define IDL_SUCCESS 0
#define IDL_ERROR 1
#define IDL_WARNING1 2
#define IDL_WARNING2 3
#define IDL_WARNING3 4
#define IDL_WARNINGMAX IDL_WARNING3
/* general parse flags */
#define IDLF_VERBOSE (1UL << 0)
#define IDLF_NO_EVAL_CONST (1UL << 1)
#define IDLF_COMBINE_REOPENED_MODULES (1UL << 2)
#define IDLF_PREFIX_FILENAME (1UL << 3)
#define IDLF_IGNORE_FORWARDS (1UL << 4)
#define IDLF_PEDANTIC (1UL << 5)
#define IDLF_INHIBIT_TAG_ONLY (1UL << 6)
#define IDLF_INHIBIT_INCLUDES (1UL << 7)
/* syntax extension parse flags */
#define IDLF_TYPECODES (1UL << 16)
#define IDLF_XPIDL (1UL << 17)
#define IDLF_PROPERTIES (1UL << 18)
#define IDLF_CODEFRAGS (1UL << 19)
/* declaration specification flags */
#define IDLF_DECLSPEC_EXIST (1UL << 0)
#define IDLF_DECLSPEC_INHIBIT (1UL << 1)
/* output flags */
#define IDLF_OUTPUT_NO_NEWLINES (1UL << 0)
#define IDLF_OUTPUT_NO_QUALIFY_IDENTS (1UL << 1)
#define IDLF_OUTPUT_PROPERTIES (1UL << 2)
#define IDLF_OUTPUT_CODEFRAGS (1UL << 3)
#ifdef _WIN32
# define IDL_EXPORT __declspec (dllexport)
# define IDL_IMPORT __declspec (dllimport)
#else
# define IDL_EXPORT /* empty */
# define IDL_IMPORT extern
#endif
/* type casting checks */
#define IDL_check_cast_enable(boolean) do { \
IDL_IMPORT int __IDL_check_type_casts; \
__IDL_check_type_casts = (boolean); \
} while (0)
#define IDL_CHECK_CAST(tree, thetype, name) \
(IDL_check_type_cast(tree, thetype, \
__FILE__, __LINE__, \
G_GNUC_PRETTY_FUNCTION)->u.name)
#ifdef G_HAVE_GINT64
# if G_MAXLONG > 0xffffffffUL
# define IDL_LL "l"
# else
# define IDL_LL "ll"
# endif
typedef gint64 IDL_longlong_t;
typedef guint64 IDL_ulonglong_t;
#else
# define IDL_LL "l"
typedef long IDL_longlong_t;
typedef unsigned long IDL_ulonglong_t;
# warning 64-bit integer type not available, using 32-bit instead
#endif /* G_HAVE_GINT64 */
typedef unsigned int IDL_declspec_t;
typedef struct _IDL_tree_node IDL_tree_node;
typedef struct _IDL_tree_node * IDL_tree;
struct _IDL_LIST {
IDL_tree data;
IDL_tree prev;
IDL_tree next;
IDL_tree _tail; /* Internal use, may not be valid */
};
#define IDL_LIST(a) IDL_CHECK_CAST(a, IDLN_LIST, idl_list)
extern IDL_tree IDL_list_new (IDL_tree data);
extern IDL_tree IDL_list_concat (IDL_tree orig,
IDL_tree append);
extern IDL_tree IDL_list_remove (IDL_tree list,
IDL_tree p);
extern int IDL_list_length (IDL_tree list);
extern IDL_tree IDL_list_nth (IDL_tree list,
int n);
struct _IDL_GENTREE {
IDL_tree data;
GHashTable *siblings;
GHashTable *children;
GHashFunc hash_func;
GCompareFunc key_compare_func;
IDL_tree _import; /* Internal use, do not recurse */
char *_cur_prefix; /* Internal use */
};
#define IDL_GENTREE(a) IDL_CHECK_CAST(a, IDLN_GENTREE, idl_gentree)
extern IDL_tree IDL_gentree_new (GHashFunc hash_func,
GCompareFunc key_compare_func,
IDL_tree data);
extern IDL_tree IDL_gentree_new_sibling (IDL_tree from,
IDL_tree data);
extern IDL_tree IDL_gentree_chain_sibling (IDL_tree from,
IDL_tree data);
extern IDL_tree IDL_gentree_chain_child (IDL_tree from,
IDL_tree data);
struct _IDL_INTEGER {
IDL_longlong_t value;
};
#define IDL_INTEGER(a) IDL_CHECK_CAST(a, IDLN_INTEGER, idl_integer)
extern IDL_tree IDL_integer_new (IDL_longlong_t value);
struct _IDL_STRING {
char *value;
};
#define IDL_STRING(a) IDL_CHECK_CAST(a, IDLN_STRING, idl_string)
extern IDL_tree IDL_string_new (char *value);
struct _IDL_WIDE_STRING {
wchar_t *value;
};
#define IDL_WIDE_STRING(a) IDL_CHECK_CAST(a, IDLN_WIDE_STRING, idl_wide_string)
extern IDL_tree IDL_wide_string_new (wchar_t *value);
struct _IDL_CHAR {
char *value;
};
#define IDL_CHAR(a) IDL_CHECK_CAST(a, IDLN_CHAR, idl_char)
extern IDL_tree IDL_char_new (char *value);
struct _IDL_WIDE_CHAR {
wchar_t *value;
};
#define IDL_WIDE_CHAR(a) IDL_CHECK_CAST(a, IDLN_WIDE_CHAR, idl_wide_char)
extern IDL_tree IDL_wide_char_new (wchar_t *value);
struct _IDL_FIXED {
char *value;
};
#define IDL_FIXED(a) IDL_CHECK_CAST(a, IDLN_FIXED, idl_fixed)
extern IDL_tree IDL_fixed_new (char *value);
struct _IDL_FLOAT {
double value;
};
#define IDL_FLOAT(a) IDL_CHECK_CAST(a, IDLN_FLOAT, idl_float)
extern IDL_tree IDL_float_new (double value);
struct _IDL_BOOLEAN {
unsigned value;
};
#define IDL_BOOLEAN(a) IDL_CHECK_CAST(a, IDLN_BOOLEAN, idl_boolean)
extern IDL_tree IDL_boolean_new (unsigned value);
struct _IDL_IDENT {
char *str;
char *repo_id;
GSList *comments;
IDL_tree _ns_ref; /* Internal use, do not recurse */
unsigned _flags; /* Internal use */
#define IDLF_IDENT_CASE_MISMATCH_HIT (1UL << 0)
};
#define IDL_IDENT(a) IDL_CHECK_CAST(a, IDLN_IDENT, idl_ident)
#define IDL_IDENT_TO_NS(a) IDL_CHECK_CAST(a, IDLN_IDENT, idl_ident._ns_ref)
#define IDL_IDENT_REPO_ID(a) IDL_CHECK_CAST(a, IDLN_IDENT, idl_ident.repo_id)
extern IDL_tree IDL_ident_new (char *str);
extern void IDL_queue_new_ident_comment (const char *str);
enum IDL_float_type {
IDL_FLOAT_TYPE_FLOAT,
IDL_FLOAT_TYPE_DOUBLE,
IDL_FLOAT_TYPE_LONGDOUBLE
};
struct _IDL_TYPE_FLOAT {
enum IDL_float_type f_type;
};
#define IDL_TYPE_FLOAT(a) IDL_CHECK_CAST(a, IDLN_TYPE_FLOAT, idl_type_float)
extern IDL_tree IDL_type_float_new (enum IDL_float_type f_type);
struct _IDL_TYPE_FIXED {
IDL_tree positive_int_const;
IDL_tree integer_lit;
};
#define IDL_TYPE_FIXED(a) IDL_CHECK_CAST(a, IDLN_TYPE_FIXED, idl_type_fixed)
extern IDL_tree IDL_type_fixed_new (IDL_tree positive_int_const,
IDL_tree integer_lit);
enum IDL_integer_type {
IDL_INTEGER_TYPE_SHORT,
IDL_INTEGER_TYPE_LONG,
IDL_INTEGER_TYPE_LONGLONG
};
struct _IDL_TYPE_INTEGER {
unsigned f_signed : 1;
enum IDL_integer_type f_type;
};
#define IDL_TYPE_INTEGER(a) IDL_CHECK_CAST(a, IDLN_TYPE_INTEGER, idl_type_integer)
extern IDL_tree IDL_type_integer_new (unsigned f_signed,
enum IDL_integer_type f_type);
extern IDL_tree IDL_type_char_new (void);
extern IDL_tree IDL_type_wide_char_new (void);
extern IDL_tree IDL_type_boolean_new (void);
extern IDL_tree IDL_type_octet_new (void);
extern IDL_tree IDL_type_any_new (void);
extern IDL_tree IDL_type_object_new (void);
extern IDL_tree IDL_type_typecode_new (void);
struct _IDL_TYPE_STRING {
IDL_tree positive_int_const;
};
#define IDL_TYPE_STRING(a) IDL_CHECK_CAST(a, IDLN_TYPE_STRING, idl_type_string)
extern IDL_tree IDL_type_string_new (IDL_tree positive_int_const);
struct _IDL_TYPE_WIDE_STRING {
IDL_tree positive_int_const;
};
#define IDL_TYPE_WIDE_STRING(a) IDL_CHECK_CAST(a, IDLN_TYPE_WIDE_STRING, idl_type_wide_string)
extern IDL_tree IDL_type_wide_string_new (IDL_tree positive_int_const);
struct _IDL_TYPE_ENUM {
IDL_tree ident;
IDL_tree enumerator_list;
};
#define IDL_TYPE_ENUM(a) IDL_CHECK_CAST(a, IDLN_TYPE_ENUM, idl_type_enum)
extern IDL_tree IDL_type_enum_new (IDL_tree ident,
IDL_tree enumerator_list);
struct _IDL_TYPE_ARRAY {
IDL_tree ident;
IDL_tree size_list;
};
#define IDL_TYPE_ARRAY(a) IDL_CHECK_CAST(a, IDLN_TYPE_ARRAY, idl_type_array)
extern IDL_tree IDL_type_array_new (IDL_tree ident,
IDL_tree size_list);
struct _IDL_TYPE_SEQUENCE {
IDL_tree simple_type_spec;
IDL_tree positive_int_const;
};
#define IDL_TYPE_SEQUENCE(a) IDL_CHECK_CAST(a, IDLN_TYPE_SEQUENCE, idl_type_sequence)
extern IDL_tree IDL_type_sequence_new (IDL_tree simple_type_spec,
IDL_tree positive_int_const);
struct _IDL_TYPE_STRUCT {
IDL_tree ident;
IDL_tree member_list;
};
#define IDL_TYPE_STRUCT(a) IDL_CHECK_CAST(a, IDLN_TYPE_STRUCT, idl_type_struct)
extern IDL_tree IDL_type_struct_new (IDL_tree ident,
IDL_tree member_list);
struct _IDL_TYPE_UNION {
IDL_tree ident;
IDL_tree switch_type_spec;
IDL_tree switch_body;
};
#define IDL_TYPE_UNION(a) IDL_CHECK_CAST(a, IDLN_TYPE_UNION, idl_type_union)
extern IDL_tree IDL_type_union_new (IDL_tree ident,
IDL_tree switch_type_spec,
IDL_tree switch_body);
struct _IDL_MEMBER {
IDL_tree type_spec;
IDL_tree dcls;
};
#define IDL_MEMBER(a) IDL_CHECK_CAST(a, IDLN_MEMBER, idl_member)
extern IDL_tree IDL_member_new (IDL_tree type_spec,
IDL_tree dcls);
struct _IDL_NATIVE {
IDL_tree ident;
char *user_type; /* XPIDL extension */
};
#define IDL_NATIVE(a) IDL_CHECK_CAST(a, IDLN_NATIVE, idl_native)
extern IDL_tree IDL_native_new (IDL_tree ident);
struct _IDL_TYPE_DCL {
IDL_tree type_spec;
IDL_tree dcls;
};
#define IDL_TYPE_DCL(a) IDL_CHECK_CAST(a, IDLN_TYPE_DCL, idl_type_dcl)
extern IDL_tree IDL_type_dcl_new (IDL_tree type_spec,
IDL_tree dcls);
struct _IDL_CONST_DCL {
IDL_tree const_type;
IDL_tree ident;
IDL_tree const_exp;
};
#define IDL_CONST_DCL(a) IDL_CHECK_CAST(a, IDLN_CONST_DCL, idl_const_dcl)
extern IDL_tree IDL_const_dcl_new (IDL_tree const_type,
IDL_tree ident,
IDL_tree const_exp);
struct _IDL_EXCEPT_DCL {
IDL_tree ident;
IDL_tree members;
};
#define IDL_EXCEPT_DCL(a) IDL_CHECK_CAST(a, IDLN_EXCEPT_DCL, idl_except_dcl)
extern IDL_tree IDL_except_dcl_new (IDL_tree ident,
IDL_tree members);
struct _IDL_ATTR_DCL {
unsigned f_readonly : 1;
IDL_tree param_type_spec;
IDL_tree simple_declarations;
};
#define IDL_ATTR_DCL(a) IDL_CHECK_CAST(a, IDLN_ATTR_DCL, idl_attr_dcl)
extern IDL_tree IDL_attr_dcl_new (unsigned f_readonly,
IDL_tree param_type_spec,
IDL_tree simple_declarations);
struct _IDL_OP_DCL {
unsigned __f_noscript : 1; /* Deprecated */
unsigned f_oneway : 1;
/* XPIDL extension (varags) */
unsigned f_varargs : 1;
IDL_tree op_type_spec;
IDL_tree ident;
IDL_tree parameter_dcls;
IDL_tree raises_expr;
IDL_tree context_expr;
};
#define IDL_OP_DCL(a) IDL_CHECK_CAST(a, IDLN_OP_DCL, idl_op_dcl)
extern IDL_tree IDL_op_dcl_new (unsigned f_oneway,
IDL_tree op_type_spec,
IDL_tree ident,
IDL_tree parameter_dcls,
IDL_tree raises_expr,
IDL_tree context_expr);
enum IDL_param_attr {
IDL_PARAM_IN,
IDL_PARAM_OUT,
IDL_PARAM_INOUT
};
struct _IDL_PARAM_DCL {
enum IDL_param_attr attr;
IDL_tree param_type_spec;
IDL_tree simple_declarator;
};
#define IDL_PARAM_DCL(a) IDL_CHECK_CAST(a, IDLN_PARAM_DCL, idl_param_dcl)
extern IDL_tree IDL_param_dcl_new (enum IDL_param_attr attr,
IDL_tree param_type_spec,
IDL_tree simple_declarator);
struct _IDL_CASE_STMT {
IDL_tree labels;
IDL_tree element_spec;
};
#define IDL_CASE_STMT(a) IDL_CHECK_CAST(a, IDLN_CASE_STMT, idl_case_stmt)
extern IDL_tree IDL_case_stmt_new (IDL_tree labels,
IDL_tree element_spec);
struct _IDL_INTERFACE {
IDL_tree ident;
IDL_tree inheritance_spec;
IDL_tree body;
};
#define IDL_INTERFACE(a) IDL_CHECK_CAST(a, IDLN_INTERFACE, idl_interface)
extern IDL_tree IDL_interface_new (IDL_tree ident,
IDL_tree inheritance_spec,
IDL_tree body);
struct _IDL_FORWARD_DCL {
IDL_tree ident;
};
#define IDL_FORWARD_DCL(a) IDL_CHECK_CAST(a, IDLN_FORWARD_DCL, idl_forward_dcl)
extern IDL_tree IDL_forward_dcl_new (IDL_tree ident);
struct _IDL_MODULE {
IDL_tree ident;
IDL_tree definition_list;
};
#define IDL_MODULE(a) IDL_CHECK_CAST(a, IDLN_MODULE, idl_module)
extern IDL_tree IDL_module_new (IDL_tree ident,
IDL_tree definition_list);
enum IDL_binop {
IDL_BINOP_OR,
IDL_BINOP_XOR,
IDL_BINOP_AND,
IDL_BINOP_SHR,
IDL_BINOP_SHL,
IDL_BINOP_ADD,
IDL_BINOP_SUB,
IDL_BINOP_MULT,
IDL_BINOP_DIV,
IDL_BINOP_MOD
};
struct _IDL_BINOP {
enum IDL_binop op;
IDL_tree left, right;
};
#define IDL_BINOP(a) IDL_CHECK_CAST(a, IDLN_BINOP, idl_binop)
extern IDL_tree IDL_binop_new (enum IDL_binop op,
IDL_tree left,
IDL_tree right);
enum IDL_unaryop {
IDL_UNARYOP_PLUS,
IDL_UNARYOP_MINUS,
IDL_UNARYOP_COMPLEMENT
};
struct _IDL_UNARYOP {
enum IDL_unaryop op;
IDL_tree operand;
};
#define IDL_UNARYOP(a) IDL_CHECK_CAST(a, IDLN_UNARYOP, idl_unaryop)
extern IDL_tree IDL_unaryop_new (enum IDL_unaryop op,
IDL_tree operand);
/* XPIDL code fragments extension. */
struct _IDL_CODEFRAG {
char *desc;
GSList *lines;
};
#define IDL_CODEFRAG(a) IDL_CHECK_CAST(a, IDLN_CODEFRAG, idl_codefrag)
extern IDL_tree IDL_codefrag_new (char *desc,
GSList *lines);
/*
* IDL_tree_type - Enumerations of node types
*
* Note this enumerator list is subject to change in the future. A program should not need
* more than a recompilation to adjust for a change in this list, so instead of using a
* statically initialized jumptable, allocate an array of size IDLN_LAST and assign the
* elements manually.
*/
typedef enum {
IDLN_NONE,
IDLN_ANY,
IDLN_LIST,
IDLN_GENTREE,
IDLN_INTEGER,
IDLN_STRING,
IDLN_WIDE_STRING,
IDLN_CHAR,
IDLN_WIDE_CHAR,
IDLN_FIXED,
IDLN_FLOAT,
IDLN_BOOLEAN,
IDLN_IDENT,
IDLN_TYPE_DCL,
IDLN_CONST_DCL,
IDLN_EXCEPT_DCL,
IDLN_ATTR_DCL,
IDLN_OP_DCL,
IDLN_PARAM_DCL,
IDLN_FORWARD_DCL,
IDLN_TYPE_INTEGER,
IDLN_TYPE_FLOAT,
IDLN_TYPE_FIXED,
IDLN_TYPE_CHAR,
IDLN_TYPE_WIDE_CHAR,
IDLN_TYPE_STRING,
IDLN_TYPE_WIDE_STRING,
IDLN_TYPE_BOOLEAN,
IDLN_TYPE_OCTET,
IDLN_TYPE_ANY,
IDLN_TYPE_OBJECT,
IDLN_TYPE_TYPECODE,
IDLN_TYPE_ENUM,
IDLN_TYPE_SEQUENCE,
IDLN_TYPE_ARRAY,
IDLN_TYPE_STRUCT,
IDLN_TYPE_UNION,
IDLN_MEMBER,
IDLN_NATIVE,
IDLN_CASE_STMT,
IDLN_INTERFACE,
IDLN_MODULE,
IDLN_BINOP,
IDLN_UNARYOP,
IDLN_CODEFRAG,
IDLN_LAST
} IDL_tree_type;
IDL_IMPORT const char * IDL_tree_type_names[];
struct _IDL_tree_node {
IDL_tree_type _type;
IDL_tree up; /* Do not recurse */
IDL_declspec_t declspec;
GHashTable *properties;
int refs;
char *_file; /* Internal use */
int _line; /* Internal use */
union {
struct _IDL_LIST idl_list;
struct _IDL_GENTREE idl_gentree;
struct _IDL_INTEGER idl_integer;
struct _IDL_STRING idl_string;
struct _IDL_WIDE_STRING idl_wide_string;
struct _IDL_CHAR idl_char;
struct _IDL_WIDE_CHAR idl_wide_char;
struct _IDL_FIXED idl_fixed;
struct _IDL_FLOAT idl_float;
struct _IDL_BOOLEAN idl_boolean;
struct _IDL_IDENT idl_ident;
struct _IDL_TYPE_DCL idl_type_dcl;
struct _IDL_CONST_DCL idl_const_dcl;
struct _IDL_EXCEPT_DCL idl_except_dcl;
struct _IDL_ATTR_DCL idl_attr_dcl;
struct _IDL_OP_DCL idl_op_dcl;
struct _IDL_PARAM_DCL idl_param_dcl;
struct _IDL_FORWARD_DCL idl_forward_dcl;
struct _IDL_TYPE_FLOAT idl_type_float;
struct _IDL_TYPE_FIXED idl_type_fixed;
struct _IDL_TYPE_INTEGER idl_type_integer;
struct _IDL_TYPE_ENUM idl_type_enum;
struct _IDL_TYPE_STRING idl_type_string;
struct _IDL_TYPE_WIDE_STRING idl_type_wide_string;
struct _IDL_TYPE_SEQUENCE idl_type_sequence;
struct _IDL_TYPE_ARRAY idl_type_array;
struct _IDL_TYPE_STRUCT idl_type_struct;
struct _IDL_TYPE_UNION idl_type_union;
struct _IDL_MEMBER idl_member;
struct _IDL_NATIVE idl_native;
struct _IDL_CASE_STMT idl_case_stmt;
struct _IDL_INTERFACE idl_interface;
struct _IDL_MODULE idl_module;
struct _IDL_BINOP idl_binop;
struct _IDL_UNARYOP idl_unaryop;
struct _IDL_CODEFRAG idl_codefrag;
} u;
/* Fields for application use */
guint32 flags;
gpointer data;
};
#define IDL_NODE_TYPE(a) ((a)->_type)
#define IDL_NODE_TYPE_NAME(a) ((a)?IDL_tree_type_names[IDL_NODE_TYPE(a)]:"NULL")
#define IDL_NODE_UP(a) ((a)->up)
#define IDL_NODE_PROPERTIES(a) ((a)->properties)
#define IDL_NODE_DECLSPEC(a) ((a)->declspec)
#define IDL_NODE_REFS(a) ((a)->refs)
#define IDL_NODE_IS_LITERAL(a) \
(IDL_NODE_TYPE(a) == IDLN_INTEGER || \
IDL_NODE_TYPE(a) == IDLN_STRING || \
IDL_NODE_TYPE(a) == IDLN_WIDE_STRING || \
IDL_NODE_TYPE(a) == IDLN_CHAR || \
IDL_NODE_TYPE(a) == IDLN_WIDE_CHAR || \
IDL_NODE_TYPE(a) == IDLN_FIXED || \
IDL_NODE_TYPE(a) == IDLN_FLOAT || \
IDL_NODE_TYPE(a) == IDLN_BOOLEAN)
#define IDL_NODE_IS_TYPE(a) \
(IDL_NODE_TYPE(a) == IDLN_TYPE_INTEGER || \
IDL_NODE_TYPE(a) == IDLN_TYPE_STRING || \
IDL_NODE_TYPE(a) == IDLN_TYPE_WIDE_STRING || \
IDL_NODE_TYPE(a) == IDLN_TYPE_CHAR || \
IDL_NODE_TYPE(a) == IDLN_TYPE_WIDE_CHAR || \
IDL_NODE_TYPE(a) == IDLN_TYPE_FIXED || \
IDL_NODE_TYPE(a) == IDLN_TYPE_FLOAT || \
IDL_NODE_TYPE(a) == IDLN_TYPE_BOOLEAN || \
IDL_NODE_TYPE(a) == IDLN_TYPE_OCTET || \
IDL_NODE_TYPE(a) == IDLN_TYPE_ANY || \
IDL_NODE_TYPE(a) == IDLN_TYPE_OBJECT || \
IDL_NODE_TYPE(a) == IDLN_TYPE_TYPECODE || \
IDL_NODE_TYPE(a) == IDLN_TYPE_ENUM || \
IDL_NODE_TYPE(a) == IDLN_TYPE_ARRAY || \
IDL_NODE_TYPE(a) == IDLN_TYPE_SEQUENCE || \
IDL_NODE_TYPE(a) == IDLN_TYPE_STRUCT || \
IDL_NODE_TYPE(a) == IDLN_TYPE_UNION)
#define IDL_NODE_IS_SCOPED(a) \
(IDL_NODE_TYPE(a) == IDLN_IDENT || \
IDL_NODE_TYPE(a) == IDLN_INTERFACE || \
IDL_NODE_TYPE(a) == IDLN_MODULE || \
IDL_NODE_TYPE(a) == IDLN_EXCEPT_DCL || \
IDL_NODE_TYPE(a) == IDLN_OP_DCL || \
IDL_NODE_TYPE(a) == IDLN_TYPE_ENUM || \
IDL_NODE_TYPE(a) == IDLN_TYPE_STRUCT || \
IDL_NODE_TYPE(a) == IDLN_TYPE_UNION)
typedef struct _IDL_ns * IDL_ns;
struct _IDL_ns {
IDL_tree global;
IDL_tree file;
IDL_tree current;
GHashTable *inhibits;
GHashTable *filename_hash;
};
#define IDL_NS(a) (*(a))
typedef enum {
IDL_INPUT_REASON_INIT,
IDL_INPUT_REASON_FILL,
IDL_INPUT_REASON_ABORT,
IDL_INPUT_REASON_FINISH
} IDL_input_reason;
union IDL_input_data {
struct {
const char *filename;
} init;
struct {
char *buffer;
size_t max_size;
} fill;
};
typedef int (*IDL_input_callback) (IDL_input_reason reason,
union IDL_input_data *data,
gpointer user_data);
typedef int (*IDL_msg_callback) (int level,
int num,
int line,
const char *filename,
const char *message);
typedef struct _IDL_tree_func_state IDL_tree_func_state;
typedef struct _IDL_tree_func_data IDL_tree_func_data;
/* Traversal state data. Recursive walks chain states. */
struct _IDL_tree_func_state {
IDL_tree_func_state *up;
IDL_tree start;
IDL_tree_func_data *bottom;
};
/* This holds a list of the up hierarchy traversed, beginning from traversal. This is
* useful since nodes referenced after initial definition will have a different traversal
* path than the actual up path. */
struct _IDL_tree_func_data {
IDL_tree_func_state *state;
IDL_tree_func_data *up;
IDL_tree tree;
gint step;
gpointer data; /* Application data */
};
typedef gboolean (*IDL_tree_func) (IDL_tree_func_data *tnfd,
gpointer user_data);
extern IDL_tree IDL_check_type_cast (const IDL_tree var,
IDL_tree_type type,
const char *file,
int line,
const char *function);
extern const char * IDL_get_libver_string (void);
extern const char * IDL_get_IDLver_string (void);
extern int IDL_parse_filename (const char *filename,
const char *cpp_args,
IDL_msg_callback msg_cb,
IDL_tree *tree, IDL_ns *ns,
unsigned long parse_flags,
int max_msg_level);
extern int IDL_parse_filename_with_input (const char *filename,
IDL_input_callback input_cb,
gpointer input_cb_user_data,
IDL_msg_callback msg_cb,
IDL_tree *tree, IDL_ns *ns,
unsigned long parse_flags,
int max_msg_level);
extern int IDL_ns_prefix (IDL_ns ns,
const char *s);
extern void IDL_ns_ID (IDL_ns ns,
const char *s);
extern void IDL_ns_version (IDL_ns ns,
const char *s);
extern int IDL_inhibit_get (void);
extern void IDL_inhibit_push (void);
extern void IDL_inhibit_pop (void);
extern void IDL_file_set (const char *filename,
int line);
extern void IDL_file_get (const char **filename,
int *line);
extern IDL_tree IDL_get_parent_node (IDL_tree p,
IDL_tree_type type,
int *scope_levels);
extern IDL_tree IDL_tree_get_scope (IDL_tree p);
extern int IDL_tree_get_node_info (IDL_tree tree,
char **who,
char **what);
extern void IDL_tree_error (IDL_tree p,
const char *fmt,
...)
G_GNUC_PRINTF (2, 3);
extern void IDL_tree_warning (IDL_tree p,
int level,
const char *fmt,
...)
G_GNUC_PRINTF (3, 4);
extern const char * IDL_tree_property_get (IDL_tree tree,
const char *key);
extern void IDL_tree_property_set (IDL_tree tree,
const char *key,
const char *value);
extern gboolean IDL_tree_property_remove (IDL_tree tree,
const char *key);
extern void IDL_tree_properties_copy (IDL_tree from_tree,
IDL_tree to_tree);
extern void IDL_tree_remove_inhibits (IDL_tree *tree,
IDL_ns ns);
extern void IDL_tree_walk (IDL_tree p,
IDL_tree_func_data *current,
IDL_tree_func pre_tree_func,
IDL_tree_func post_tree_func,
gpointer user_data);
extern void IDL_tree_walk_in_order (IDL_tree p,
IDL_tree_func tree_func,
gpointer user_data);
extern void IDL_tree_free (IDL_tree root);
extern void IDL_tree_to_IDL (IDL_tree p,
IDL_ns ns,
FILE *output,
unsigned long output_flags);
extern GString * IDL_tree_to_IDL_string (IDL_tree p,
IDL_ns ns,
unsigned long output_flags);
extern gchar * IDL_do_escapes (const char *s);
extern IDL_tree IDL_resolve_const_exp (IDL_tree p,
IDL_tree_type type);
extern IDL_ns IDL_ns_new (void);
extern void IDL_ns_free (IDL_ns ns);
extern IDL_tree IDL_ns_resolve_this_scope_ident (IDL_ns ns,
IDL_tree scope,
IDL_tree ident);
extern IDL_tree IDL_ns_resolve_ident (IDL_ns ns,
IDL_tree ident);
extern IDL_tree IDL_ns_lookup_this_scope (IDL_ns ns,
IDL_tree scope,
IDL_tree ident,
gboolean *conflict);
extern IDL_tree IDL_ns_lookup_cur_scope (IDL_ns ns,
IDL_tree ident,
gboolean *conflict);
extern IDL_tree IDL_ns_place_new (IDL_ns ns,
IDL_tree ident);
extern void IDL_ns_push_scope (IDL_ns ns,
IDL_tree ident);
extern void IDL_ns_pop_scope (IDL_ns ns);
extern IDL_tree IDL_ns_qualified_ident_new (IDL_tree nsid);
extern gchar * IDL_ns_ident_to_qstring (IDL_tree ns_ident,
const char *join,
int scope_levels);
extern int IDL_ns_scope_levels_from_here (IDL_ns ns,
IDL_tree ident,
IDL_tree parent);
extern gchar * IDL_ns_ident_make_repo_id (IDL_ns ns,
IDL_tree p,
const char *p_prefix,
int *major,
int *minor);
#ifdef __cplusplus
}
#endif
#endif /* __IDL_H */

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

View File

@@ -1,40 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Rick Elliott">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<TITLE>Product Branding Issues</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H3>
Product Branding Instructions</H3>
Under the terms of the Unlimited Localization Program, you must remove
or replace all trademarked Netscape terms, brand names, icons, images,
etc.&nbsp; These trademarks are listed on the page found at the following
URL:
<P><A HREF="http://home.netscape.com/misc/trademarks.html#trademarks">http://home.netscape.com/misc/trademarks.html#trademarks</A>
<P>Please refer to that page for details.&nbsp; You may not release a localized
version of the Netscape Communicator with these trademarks left in the
product.
<BR>&nbsp;
<CENTER><TABLE COLS=2 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="usingKit.html#branding">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER><BR>
<FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape Communications
Corp. All Rights Reserved</FONT></FONT></CENTER>
</BODY>
</HTML>

View File

@@ -1,100 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Rick Elliott">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<TITLE>Getting Started</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H2>
<A NAME="getting started"></A>2. Getting Started</H2>
Before you can begin using the Windows Installer Localization Kit, you
must install it and setup your working directories. This is a simple matter
of unzipping the compressed kit file(s) into the proper directories. Your
system must also meet certain requirements to run the tools needed to perform
the localization steps described below.
<P>
<HR WIDTH="50%">
<H3>
<A NAME="sysreqs"></A>System Requirements</H3>
There few system requirements for the kit in the strictest sense; however,
your choice of tools will have their own set of requirements.&nbsp; The
most likely minimum configuration will be as follows:
<UL>
<LI>
100% IBM compatible PC</LI>
<LI>
Pentium<SUP><FONT SIZE=-1>&reg;</FONT></SUP> processor</LI>
<LI>
Microsoft<SUP><FONT SIZE=-1>&reg;</FONT></SUP> Windows NT 3.51 or 4.0 (localized
versions will help testing but aren't required)</LI>
<LI>
16 MB RAM</LI>
<LI>
30 MB available hard disk space</LI>
<LI>
InstallShield International version 3.0 or other install builder software</LI>
<LI>
A visual resource editor, such as those provided with Microsoft<SUP><FONT SIZE=-1>&reg;</FONT></SUP>
Visual C++, Borland<SUP><FONT SIZE=-1>&reg;</FONT></SUP> C++, etc.</LI>
<LI>
An active Internet connection and the ability to ftp (send and receive)
large files</LI>
<LI>
A Web browser (say, for example, Netscape Communicator ;-)</LI>
</UL>
<H3>
<HR WIDTH="50%"></H3>
<H3>
<A NAME="install"></A>Installing the Kit</H3>
It is recommended that you install the Windows Installer Localization Kit
into the same directory as your other Netscape/Mozilla localization kits:
in other words, install this kit into your <B>kitRoot </B>directory.&nbsp;
Place this localization kit's .ZIP file in that directory and UNZIP it
with the -d parameter:
<P>PKUNZIP -d <I>filename</I>
<UL><B>Example:&nbsp; <TT>PKUNZIP -d instkit</TT></B></UL>
<HR WIDTH="50%">
<H3>
<A NAME="configtool"></A>Configuring Your Tools</H3>
Please refer to your Installshield or other install builder tool's documentation
for set up and usage instructions.
<BR>&nbsp;
<CENTER><TABLE COLS=3 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="nomenclature.html">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="usingKit.html">NEXT</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS]</A></CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER></CENTER>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
</BODY>
</HTML>

View File

@@ -1,203 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (Win95; I) [Netscape]">
<META NAME="Author" CONTENT="Rick Elliott">
<TITLE>ISO Locale codes</TITLE>
</HEAD>
<BODY>
<CENTER>
<H1>
ISO Language and Country Codes</H1></CENTER>
2 letter language codes are derived from the ISO 639 standard; country
codes are from ISO 3166. Here are the codes for the locales currently supported
by the L10n kits. If an entry also includes the country code then you must
use that as well when creating the locale directory or naming a file.
<H3>
ISO Language and Country Codes table</H3>
<TABLE BORDER=5 >
<TR>
<TD><U>Language Name</U></TD>
<TD><U>Language Code</U></TD>
<TD><U>Country Code</U></TD>
</TR>
<TR>
<TD>
<CENTER>Chinese (Traditional)</CENTER>
</TD>
<TD>
<CENTER>zh</CENTER>
</TD>
<TD>
<CENTER>CN</CENTER>
</TD>
</TR>
<TR>
<TD>
<CENTER>Chinese (Simplified)</CENTER>
</TD>
<TD>
<CENTER>zh</CENTER>
</TD>
<TD>
<CENTER>TW</CENTER>
</TD>
</TR>
<TR>
<TD>
<CENTER>Danish</CENTER>
</TD>
<TD>
<CENTER>da</CENTER>
</TD>
<TD>
<CENTER>DK</CENTER>
</TD>
</TR>
<TR>
<TD>
<CENTER>Dutch</CENTER>
</TD>
<TD>
<CENTER>nl</CENTER>
</TD>
<TD>
<CENTER>NL</CENTER>
</TD>
</TR>
<TR>
<TD>
<CENTER>French</CENTER>
</TD>
<TD>
<CENTER>fr</CENTER>
</TD>
<TD>
<CENTER>FR</CENTER>
</TD>
</TR>
<TR>
<TD>
<CENTER>German</CENTER>
</TD>
<TD>
<CENTER>de</CENTER>
</TD>
<TD>
<CENTER>DE</CENTER>
</TD>
</TR>
<TR>
<TD>
<CENTER>Italian</CENTER>
</TD>
<TD>
<CENTER>it</CENTER>
</TD>
<TD>
<CENTER>IT</CENTER>
</TD>
</TR>
<TR>
<TD>
<CENTER>Japanese</CENTER>
</TD>
<TD>
<CENTER>ja</CENTER>
</TD>
<TD>
<CENTER>JP</CENTER>
</TD>
</TR>
<TR>
<TD>
<CENTER>Korean</CENTER>
</TD>
<TD>
<CENTER>ko</CENTER>
</TD>
<TD>
<CENTER>KR</CENTER>
</TD>
</TR>
<TR>
<TD>
<CENTER>Portuguese</CENTER>
</TD>
<TD>
<CENTER>pt</CENTER>
</TD>
<TD>
<CENTER>BR</CENTER>
</TD>
</TR>
<TR>
<TD>
<CENTER>Spanish</CENTER>
</TD>
<TD>
<CENTER>es</CENTER>
</TD>
<TD>
<CENTER>ES</CENTER>
</TD>
</TR>
<TR>
<TD>
<CENTER>Swedish</CENTER>
</TD>
<TD>
<CENTER>sv</CENTER>
</TD>
<TD>
<CENTER>SE</CENTER>
</TD>
</TR>
</TABLE>
<CENTER><BR>
<FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1997, Copyright Netscape Communications
Corp. All Rights Reserved</FONT></FONT></CENTER>
</BODY>
</HTML>

View File

@@ -1,99 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Rick Elliott">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<TITLE>Kit Overview</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H3>
<A NAME="kitoverview"></A>Kit Overview</H3>
This kit is primarily intended for knowledgeable developers who are familiar
with the localization process, with InstallShield or other installation
programs, and with Windows resource editors.&nbsp; There are two basic
approaches you can take to create an installer for your localized Communicator,
Navigator or Mozilla derivative product:
<OL>
<LI>
Use an existing Communicator or Navigator Export product installer as a
base and add your localized files, or</LI>
<LI>
Create your own install program and use the registry setting information
provided by the kit.</LI>
</OL>
<UL>
<H4>
<A NAME="method1"></A>Overview of Method 1.</H4>
For this method you will need the following components:
<BR>&nbsp;
<UL>
<LI>
Your own copy of InstallShield version 3 International</LI>
<LI>
The appropriate version of a Netscape Communicator or Navigator installer.</LI>
<LI>
This localization kit.</LI>
<LI>
A text editor.</LI>
<LI>
A resource editor (e.g., MSDEV)</LI>
</UL>
<P>You will start with an Export version of a Netscape Communicator or
Navigator installer.&nbsp; Then, you will extract the localizable components
and modify them as desired.&nbsp; You will localize a number of strings
contained in .INI files using a text editor. You will use a resource editor
or the Netscape Translation Tools to localize STRINGTABLE and DIALOG resource
types contained in two .DLLs. Once the localizable components of the installer
are finished, you will reassemble the installer using the InstallShield
EXE BUILDER tool, including your localized Communicator, Navigator or Mozilla
derivative product.&nbsp; This process is detailed in the next section.</UL>
<UL>
<H4>
<A NAME="method2"></A>Overview of Method 2.</H4>
For this method you will need the following components:
<BR>&nbsp;
<UL>
<LI>
Your own copy of any install builder software</LI>
<LI>
This localization kit</LI>
</UL>
<P>You will create your own installation program in whatever fashion you
wish.&nbsp; In order for your localized product to function properly, your
installer will need to implement certain <A HREF="registrySettings.html">Windows
registry settings</A>.</UL>
&nbsp;
<CENTER><TABLE COLS=3 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="projectOverview.html">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="kitStruct.html">NEXT</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
&nbsp;
<CENTER><FONT SIZE=-1>&nbsp;1998, Copyright Netscape Communications Corp.
All Rights Reserved</FONT></CENTER>
</BODY>
</HTML>

View File

@@ -1,63 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Rick Elliott">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<TITLE>Kit Structure</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H3>
<A NAME="kitstruct"></A>Kit Structure and Organization</H3>
When you install this localization kit you will find a number of new directories
on your hard disk. Each directory is named so as to be fairly self-explanatory,
but the following diagram and description may help avoid any confusion
you may have about what's what.
<H4>
<IMG SRC="l10ntree.jpg" BORDER=0 HEIGHT=98 WIDTH=177></H4>
<H4>
Description of Kit Directories</H4>
<UL>
<LI>
The <B><TT>kitRoot</TT> </B>directory is wherever you install the Netscape
Localization Kits.</LI>
<LI>
The <B><TT>l10nkits</TT> </B>directory contains the tools (if any) and
documentation you need to complete your work.</LI>
<LI>
Since this kit concerns the Windows client product (as opposed to our server
products) all the relevant documentation and tools are found under the
<B><TT>client\windows </TT></B>directory.</LI>
<LI>
The <B><TT>docs</TT> </B>directory contains documentation on the kit, including
the file you are reading now.</LI>
</UL>
&nbsp;
<CENTER><TABLE COLS=3 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="kitOverview.html">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="nomenclature.html">NEXT</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER>&nbsp;</CENTER>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
</BODY>
</HTML>

View File

@@ -1,51 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<META NAME="Author" CONTENT="Rick Elliott">
<TITLE>Localize AIM.INI</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H4>
Localization notes for AIM.INI</H4>
<B>General Notes:</B>
<UL>
<LI>
Only translate the strings which are shown in <B>bold</B> type face below.</LI>
<LI>
Change Netscape trademarks to your own product name(s).</LI>
</UL>
<B>Specific Notes:</B>
<P>
File Copy String=<B>Copying Netscape AOL Instant Messenger Service files...</B>
<P>
Installation String=<B>Installing Netscape AOL Instant Messenger Service files...</B>
<P>
Configuration String=<B>Configuring Netscape AOL Instant Messenger Service...</B>
<P>
<CENTER><TABLE COLS=2 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="localize_these_files.html#table2">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<P>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
</BODY>
</HTML>

View File

@@ -1,65 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<META NAME="Author" CONTENT="Rick Elliott">
<TITLE>Localize CD.INI</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H4>
Localization notes for CD.INI</H4>
<B>General Notes:</B>
<UL>
<LI>
Only translate the strings which are shown in <B>bold</B> type face below.</LI>
<LI>
Update the product version number as appropriate.</LI>
<LI>
Modify the locale code according to the ISO 639 and ISO 3166 standards.
(See the <A HREF="reference.html">Reference section</A> for details).</LI>
<LI>
You may need to move the placement of "%s" variables in your translation.</LI>
<LI>
Do not exceed the length of US string for Deinstall Dialog Wait Message.</LI>
<LI>
Change Netscape trademarks to your own product name(s).</LI>
</UL>
<B>Specific Notes:</B>
<P>Product Setup Title1= <B>Deinstaller</B>
<P>Product Version=<B>4.03 </B>(<B>en</B>)
<P>Deinstall Dialog Message=<B>Are you sure you want to deinstall</B> <B>Netscape
Communicator 4.03</B> ?
<P>Deinstall Dialog Wait Message=<B>Parsing</B> <B>Netscape Communicator
4.03&nbsp; deinstall log file</B> %s (<B>this will take several minutes)...</B>
<P>&nbsp;
<CENTER><TABLE COLS=2 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="localize_these_files.html#table2">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER>&nbsp;</CENTER>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
&nbsp;
<BR>&nbsp;
</BODY>
</HTML>

View File

@@ -1,62 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<META NAME="Author" CONTENT="Rick Elliott">
<TITLE>Localize COSMO.INI</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H4>
Localization notes for COSMO.INI</H4>
<B>General Notes:</B>
<UL>
<LI>
Only translate the strings which are shown in <B>bold</B> type face below.</LI>
<LI>
Update the product version number as appropriate.</LI>
<LI>
Modify the locale code according to the ISO 639 and ISO 3166 standards.
(See the <A HREF="reference.html">Reference section</A> for details).</LI>
</UL>
<B>Specific Notes:</B>
<BR>&nbsp;
<BR>Installation String=<B>Installing Cosmo Player files...</B>
<P>Configuration String=<B>Configuring Cosmo Player...</B>
<P>File Copy String=<B>Copying Cosmo Player files...&nbsp;</B>
<P>Description=<B>VRML 2.0 support&nbsp;</B>
<P>[Registry Entries-Reg2]
<BR>HKEY Value=<B>4.03 </B>(<B>en</B>)
<P>[Registry Entries-Reg3]
<BR>HKEY Key Path=Software\Netscape\Cosmo\<B>4.03</B> (<B>en</B>)
<P>[Registry Entries-Reg4]
<BR>HKEY Key Path=Software\Netscape\Cosmo\<B>4.03 </B>(<B>en</B>)\Main
<BR>&nbsp;
<CENTER><TABLE COLS=2 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="localize_these_files.html#table2">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER>&nbsp;</CENTER>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
&nbsp;
<BR>&nbsp;
</BODY>
</HTML>

View File

@@ -1,32 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<META NAME="Author" CONTENT="Rick Elliott">
<TITLE>Localize _ISUSER.DLL</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H4>
Localization notes for _ISUSER.DLL</H4>
All dialogs in this .DLL can be localized.
<BR>&nbsp;
<CENTER><TABLE COLS=2 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="localize_these_files.html#table1">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER>&nbsp;</CENTER>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
&nbsp;
</BODY>
</HTML>

View File

@@ -1,45 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<META NAME="Author" CONTENT="Rick Elliott">
<TITLE>Localize MMEDIA.INI</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H4>
Localization notes for MMEDIA.INI</H4>
<B>General Notes:</B>
<UL>
<LI>
Only translate the strings which are shown in <B>bold</B> type face below.</LI>
</UL>
<B>Specific Notes:</B>
<P>Installation String=<B>Installing Audio/Video Playback files...</B>
<P>Configuration String=<B>Configuring Audio/Video Playback...</B>
<P>File Copy String=<B>Copying Audio/Video Playback files...</B>
<P>Description=<B>Support for multi-media web pages</B>
<P>
<CENTER><TABLE COLS=2 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="localize_these_files.html#table2">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<P>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
</BODY>
</HTML>

View File

@@ -1,68 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<TITLE>Localizing MPLAY32.INI</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H4>
Localization notes for MPLAY32.INI</H4>
<B>General Notes:</B>
<UL>
<LI>
Only translate the strings which are shown in <B>bold</B> type face below.</LI>
<LI>
Update the product version number as appropriate.</LI>
<LI>
Modify the locale code according to the ISO 639 and ISO 3166 standards.
(See the <A HREF="reference.html">Reference section</A> for details).</LI>
<LI>
Change Netscape trademarks to your own product name(s).</LI>
</UL>
<B>Specific Notes:</B>
<P>Installation String=<B>Installing Netscape Media Player files...</B>
<P>Configuration String=<B>Configuring Netscape Media Player...</B>
<P>File Copy String=<B>Copying Netscape Media Player files...</B>
<P>Description=<B>Streaming audio support</B>
<P>[Default Folder-Icon2]
<BR>ProgramFolder=[Default Folder]\<B>Utilities</B>
<P>[Registry Entries-Reg2]
<BR>HKEY Value=<B>4.03 </B>(<B>en</B>)
<P>[Registry Entries-Reg3]
<BR>HKEY Key Path=Software\Netscape\Media Player\<B>4.03 </B>(<B>en</B>)
<P>[Registry Entries-Reg4]
<BR>HKEY Key Path=Software\Netscape\Media Player\<B>4.03 </B>(<B>en</B>)\Main
<P>[Registry Entries-Reg5]
<BR>HKEY Key Path=Software\Netscape\Media Player\<B>4.03</B> (<B>en</B>)\Main
<BR>&nbsp;
<CENTER><TABLE COLS=2 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="localize_these_files.html#table2">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER>&nbsp;<BR>
<FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape Communications
Corp. All Rights Reserved</FONT></FONT></CENTER>
&nbsp;
</BODY>
</HTML>

View File

@@ -1,154 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<META NAME="Author" CONTENT="Rick Elliott">
<TITLE>Localize NAV40.INI</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H4>
Localization notes for NAV40.INI</H4>
<B>General Notes:</B>
<UL>
<LI>
Do not exceed the length of English string if possible.</LI>
<LI>
Modify the locale code according to the ISO 639 and ISO 3166 standards.
(See the <A HREF="reference.html">Reference section</A> for details).</LI>
<LI>
The "Utilities" folder name may be localized.</LI>
<LI>
"Item name" is the name that will appear under the associated icon; these
may be localized.</LI>
<LI>
You may need to move the placement of "%s" variables in your translation.</LI>
<LI>
Change Netscape trademarks to your own product name(s).</LI>
</UL>
<B>Specific Notes:</B>
<P>Installation String=<B>Installing Netscape Communicator 4.03 files...</B>
<P>Configuration String=<B>Configuring Netscape Communicator 4.03...</B>
<P>File Copy String=<B>Copying Netscape Communicator 4.03 files...</B>
<P>Description=<B>Contains Collabra, Composer, Messenger, and Navigator</B>.
<P>Warn Previous Version Message=<B>Setup has detected a previous installation
of</B> %s. <B>If you installed plugins or helper applications with a previous
installation, you will need to reinstall them to this version of</B> <B>Communicator.</B>
<P>[Navigator 1]
<BR>Message=<B>Setup has detected that an instance of Navigator is currently
running. Please quit Navigator before running Setup.</B>
<P>[Navigator 2]
<BR>Message=<B>Setup has detected that an instance of Navigator is currently
running. Please quit</B> <B>Navigator before running Setup.</B>
<P>[Navigator 3]
<BR>Message=<B>Setup has detected that an instance of Navigator is currently
running. Please quit</B> <B>Navigator before running Setup.</B>
<P>[NSMail Notifier]
<BR>Message=<B>Installation cannot continue because the Mail Notification
program is currently running. Use your right mouse button to click the
Mail icon next to the task bar clock and select 'Exit' to disable Mail
Notification, then run the installer again.</B>
<P>[Navigator 4.05 32]
<BR>HKEY Key Path=Software\Netscape\Netscape Navigator\4.05 (<B>en</B>)\Main
<P>[Navigator 4.04 32]
<BR>HKEY Key Path=Software\Netscape\Netscape Navigator\4.04 (<B>en</B>)\Main
<P>[Navigator 4.03 32]
<BR>HKEY Key Path=Software\Netscape\Netscape Navigator\4.03 (<B>en</B>)\Main
<P>[Navigator 4.02 32]
<BR>HKEY Key Path=Software\Netscape\Netscape Navigator\4.02 (<B>en</B>)\Main
<P>[Navigator 4.01 32]
<BR>HKEY Key Path=Software\Netscape\Netscape Navigator\4.01 (<B>en</B>)\Main
<P>[Navigator 4.0 32]
<BR>HKEY Key Path=Software\Netscape\Netscape Navigator\4.0 (<B>en</B>)\Main
<P>[Navigator 4.0b6 32]
<BR>HKEY Key Path=Software\Netscape\Netscape Navigator\4.0b6 (<B>en</B>)\Main
<P>[Navigator 4.0b5 32]
<BR>HKEY Key Path=Software\Netscape\Netscape Navigator\4.0b5 (<B>en</B>)\Main
<P>[Navigator 4.0b4 32]
<BR>HKEY Key Path=Software\Netscape\Netscape Navigator\4.0b4 (<B>en</B>)\Main
<P>[Navigator 4.0b3 32]
<BR>HKEY Key Path=Software\Netscape\Netscape Navigator\4.0b3 [<B>en</B>]\Main
<P>[Default Folder-Icon11]
<BR>ItemName=<B>User Profile Manager</B>
<P>[Default Folder-Icon12]
<BR>ProgramFolder=[Default Folder]\<B>Utilities</B>
<BR>ItemName=<B>User Profile Manager</B>
<P>[Default Folder-Icon13]
<BR>ItemName=<B>Netscape Mail Notification</B>
<P>[Default Folder-Icon14]
<BR>ProgramFolder=[Default Folder]\<B>Utilities</B>
<BR>ItemName=<B>Netscape Mail Notification</B>
<P>[Registry Entries-R14]
<BR>HKEY Key Path=Software\Netscape\Netscape Navigator\4.03 (<B>en</B>)
<P>[Registry Entries-R15]
<BR>HKEY Key Path=Software\Netscape\Netscape Navigator\4.03 (<B>en</B>)\Main
<P>[Registry Entries-R16]
<BR>HKEY Key Path=Software\Netscape\Netscape Navigator\4.03 (<B>en</B>)\Main
<P>[Registry Entries-R17]
<BR>HKEY Key Path=Software\Netscape\Netscape Navigator\4.03 (<B>en</B>)\Main
<P>[Registry Entries-R18]
<BR>HKEY Key Path=Software\Netscape\Netscape Navigator\4.03 (<B>en</B>)\Main
<P>[Registry Entries-R19]
<BR>HKEY Key Path=Software\Netscape\Netscape Navigator\4.03 (<B>en</B>)\Main
<P>[Registry Entries-R37]
<BR>HKEY Value=4.03 (<B>en</B>)
<P>[Registry Entries-R38]
<BR>HKEY Key Path=Software\Netscape\Netcaster\4.03 (<B>en</B>)\Main
<P>[Registry Entries-R39]
<BR>HKEY Key Path=Software\Netscape\Netcaster\4.03 (<B>en</B>)\Main
<CENTER><TABLE COLS=2 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="localize_these_files.html#table2">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER></CENTER>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
</BODY>
</HTML>

View File

@@ -1,49 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<META NAME="Author" CONTENT="Rick Elliott">
<TITLE>Localize NETCAST.INI</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H4>
Localization notes for NETCAST.INI</H4>
<B>General Notes:</B>
<UL>
<LI>
Only translate the strings which are shown in <B>bold</B> type face below.</LI>
<LI>
Change Netscape trademarks to your own product name(s).</LI>
</UL>
<B>Specific Notes:</B>
<P>
Installation String=<B>Installing Netscape Netcaster files...</B>
<P>
Configuration String=<B>Configuring Netscape Netcaster...</B>
<P>
File Copy String=<B>Copying Netscape Netcaster files...</B>
<P>
<CENTER><TABLE COLS=2 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="localize_these_files.html#table2">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<P>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
</BODY>
</HTML>

View File

@@ -1,67 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<META NAME="Author" CONTENT="Rick Elliott">
<TITLE>Localizing NSCONF.INI</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H4>
Localization notes for NSCONF.INI</H4>
<B>General Notes:</B>
<UL>
<LI>
Only translate the strings which are shown in <B>bold</B> type face below.</LI>
<LI>
Update the product version number as appropriate.</LI>
<LI>
Modify the locale code according to the ISO 639 and ISO 3166 standards.
(See the <A HREF="reference.html">Reference section</A> for details).</LI>
<LI>
Change Netscape trademarks to your own product name(s).</LI>
</UL>
<B>Specific Notes:</B>
<P>Installation String=<B>Installing Netscape Conference files...</B>
<P>Configuration String=<B>Configuring Netscape Conference...</B>
<P>File Copy String=<B>Copying Netscape Conference files...</B>
<P>Description=<B>Real-time collaboration and audio conferencing</B>
<P>[Registry Entries-Reg17]
<BR>HKEY Value=<B>4.03</B> (<B>en</B>)
<P>[Registry Entries-Reg18]
<BR>HKEY Key Path=Software\Netscape\Conference\<B>4.03 </B>(<B>en</B>)
<P>[Registry Entries-Reg19]
<BR>HKEY Key Path=Software\Netscape\Conference\<B>4.03</B> (<B>en</B>)\Main
<P>[Registry Entries-Reg20]
<BR>HKEY Key Path=Software\Netscape\Conference\<B>4.03</B> (<B>en</B>)\Main<BR>
<BR>
<CENTER><TABLE COLS=2 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="localize_these_files.html#table2">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER></CENTER>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
&nbsp;
</BODY>
</HTML>

View File

@@ -1,71 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<META NAME="Author" CONTENT="Rick Elliott">
<TITLE>Localize RSUTIL.DLL</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H4>
Localization notes for RSUTIL.DLL</H4>
<B>STRINGTABLES</B><B></B>
<P><B><FONT COLOR="#FF0000">Do not translate the following strings:</FONT></B>
<P>STRING ID:
<BR><I>1&nbsp;</I>
<BR><I>17 18 19&nbsp;</I>
<BR><I>20 21 22 23 24 25 26 27 28 29&nbsp;</I>
<BR><I>30 31 32 33 34 35 36 37 38 39&nbsp;</I>
<BR><I>40 41 42 43 44 45 46 47 48 49&nbsp;</I>
<BR><I>50 51 52 53 54 55 56 57 58 59&nbsp;</I>
<BR><I>60 61 62 63 64 65 66 67 68 69&nbsp;</I>
<BR><I>70 71 72 73 74 75 76 77 78 79&nbsp;</I>
<BR><I>80 81 82 83 85 86 88&nbsp;</I>
<BR><I>90 91 92 95 97 98 99</I>
<BR><I>100 101 102 103 104 105 106 107 108 109</I>
<BR><I>110 111 112 113 114</I>
<BR><I>122 123 126 127 129</I>
<BR><I>132 133 134 135 136 137 138 139</I>
<BR><I>140 145 149</I>
<BR><I>151 153 154 155 156 157 158 159</I>
<BR><I>162 163 164 165 166 167 169&nbsp;</I>
<BR><I>170 171 172 173 174 175 176 177 178 179</I>
<BR><I>180 181 182 183 184 185 187 188</I>
<BR><I>190 192 193 194 195 196 197 198 199</I>
<BR><I>200 201 202 203 204 205 206 207 208 209</I>
<BR><I>210 211 212 213 214 215 216 217 218 219</I>
<BR><I>220 221 222 226 227 228 229&nbsp;</I>
<BR><I>230 232 233 234 235 236 237 238 239</I>
<BR><I>240 241 242 243 244 245 246 247 248 249</I>
<BR><I>250 251 252 253 254 255 256 257&nbsp;</I>
<BR><I>260 261 263 264 265 266 267 269</I>
<BR><I>270 271 272 273 274 275 276 277 278 279</I>
<BR><I>280 281 282 283</I>
<BR>&nbsp;
<BR>
<HR WIDTH="50%">
<BR><B>ICONS</B>
<BR>Replace any trademarked icons, as described in the universal localization
program license agreement, with your own icons.
<BR>&nbsp;
<CENTER><TABLE COLS=2 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="localize_these_files.html#table1">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER>&nbsp;</CENTER>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
&nbsp;
</BODY>
</HTML>

View File

@@ -1,138 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<META NAME="Author" CONTENT="Rick Elliott">
<TITLE>Localize SETUP.INI</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H4>
Localization notes for SETUP.INI</H4>
<B>General Notes:</B>
<UL>
<LI>
Only translate the strings which are shown in bold type face below.</LI>
<LI>
The "StartCopy Dialog Message" should be less than 256 bytes long.</LI>
<LI>
For the "Multiple Components" section, both the key and the value may be
localized (optional).</LI>
<LI>
If the key "Multimedia Support" is localized then next section name should
be identical to the localized key.</LI>
<LI>
Change Netscape trademarks to your own product name(s).</LI>
<LI>
Update the version number as appropriate.</LI>
<LI>
Modify the locale code according to the ISO 639 and ISO 3166 standards.
(See the <A HREF="reference.html">Reference section</A> for details).</LI>
</UL>
<B>Specific Notes:</B>
<P>Product Setup Title1= <B>Setup</B>
<P>Product Version=<B>4.03 </B>(<B>en</B>)
<P>Deinstall Version=<B>4.03 </B>(<B>en</B>)
<P>License Dialog Title=<B>Software License Agreement</B>
<P>License Dialog Message=<B>Please read the following license agreement.
Use the scroll bar to view the rest of this agreement.</B>
<P>License Dialog Question=<B>Do you accept all the terms of the preceding
license agreement? If so, click on the Yes button. If you select No, Setup
will close.</B>
<P>License Icon Description=<B>License Agreement</B>
<P>Welcome Dialog Title=<B>Netscape Communicator 4.03 Setup</B>
<P>Welcome Dialog Message=<B>Welcome to Netscape Communicator 4.03 Setup</B>.
<P>SetupType Dialog Title=<B>Setup Type</B>
<P>SetupType Dialog Message=<B>Select the type of setup you prefer.</B>
<P>Insufficient Space Dialog Title=<B>Insufficient Space</B>
<P>Insufficient Space Dialog Message=<B>The path below contains insufficient
space.</B>
<P>Path Dialog Title=<B>Choose Destination Location</B>
<P>Path Dialog Message=<B>Please enter the location where you would like
to install </B>Netscape Communicator 4.03
<BR><B>components. You may type a new directory name or click the Browse
button to find a new location.</B>
<P>Options Dialog Title=<B>Netscape Communicator 4.03 Options</B>
<P>Options Dialog Message=<B>Check the components you would like to install.</B>
<P>Associations Dialog Title=<B>Setup Associations</B>
<P>Associations Dialog Message=<B>Check the extensions you would like Communicator
to set up. These extensions will be associated with Communicator components.</B>
<P>Select Folder Dialog Title=<B>Select Program Folder</B>
<P>StartCopy Dialog Title=<B>Start Copying Files</B>
<P>StartCopy Dialog Message=<B>Setup has enough information to start copying
the program files. If you want to review or change settings, click Back.
If you are satisfied with the current settings, click Install to begin
copying files.</B>
<P>Readme Dialog Prompt=<B>Would you like to view the README file now?</B>
<P>Finish Dialog Prompt=<B>Setup is complete. You may run Netscape Communicator
4.03 by double-clicking on one of the icons in the folder.</B>
<P>Reboot Dialog Title=<B>Restarting Windows</B>
<P>Reboot Dialog Message=<B>Setup has finished copying files to your computer.
Before you can use the program, you must restart Windows or your computer.</B>
<P>Exit Dialog Message=<B>Are you sure you want to exit setup?</B>
<P>Error Resource Message1=<B>Could not load Resource: </B>%s
<BR>Error Resource Message2=<B>Attempted to fix the problem. Please restart
the setup application.</B>
<BR>Error Resource Message3=<B>Could not get module handle of rsutil.dll.
System memory could be corrupted. Please reboot and try again.</B>
<P>[Multiple Components]
<BR><B>Multimedia Support</B>=<B>Extension modules for Netscape Communicator
4.03</B>
<P>[<B>Multimedia Support</B>]
<BR>Default Path=
<BR>&nbsp;
<CENTER><TABLE COLS=2 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="localize_these_files.html#table1">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER>&nbsp;</CENTER>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
&nbsp;
</BODY>
</HTML>

View File

@@ -1,55 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Rick Elliott">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (Win95; I) [Netscape]">
<TITLE>Localizing URLs</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H3>
<A NAME="localizeURLs"></A>Localizing URLs</H3>
Many resources of all types in the Communicator contain Internet addresses
in the form of URLs (Universal Resource Locators). Most of these point
to locations within the Netscape domain; as part of the Unlimited Localization
Program, you can leave these as they are, or you may change them as you
desire.
<H3>
Internal URLs</H3>
There are a number of internal URLs that <FONT COLOR="#FF0000">should not
be changed</FONT>.&nbsp; These are the strings that look like <B>about:[some
value]</B>.&nbsp; These point to internally contained resources, such as
the main About Communicator page.&nbsp; If you localize these strings you
will not be able to load these pages.&nbsp; The main examples you might
find are:
<UL>
<LI>
about:</LI>
<LI>
about:plugins</LI>
<LI>
about:fonts</LI>
</UL>
For more examples and information on these internal URLs go <A HREF="http://help.netscape.com/kb/client/970513-4.html">here</A>.
<BR>&nbsp;
<BR>&nbsp;
<CENTER><TABLE COLS=2 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="usingKit.html#localizeURLs">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER>&nbsp;<BR>
<FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape Communications
Corp. All Rights Reserved</FONT></FONT></CENTER>
&nbsp;
</BODY>
</HTML>

View File

@@ -1,125 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Rick Elliott">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<TITLE>Localize these Files</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H3>
<A NAME="localize_these_files"></A>Localize These Files</H3>
This section tells you exactly what files need to be localized. The following
tables contain two columns:
<UL>
<LI>
The file to be localized column gives the specific file name. The path
name <I>temp</I> refers to wherever you have copied the uncompressed installer
files in Step 2 of the <A HREF="usingKit.html#l10nchecklist">Localization
Checklist</A>. If the file or resource name is a hypertext link, further
information can be found by following that link.</LI>
<LI>
The purpose column describes the basic purpose of this file.</LI>
</UL>
<A NAME="table1"></A><FONT SIZE=-1>Table 1. Binary files to be localized</FONT>
<TABLE BORDER >
<TR>
<TD><B>File to be localized&nbsp;</B></TD>
<TD><B>Purpose</B></TD>
</TR>
<TR>
<TD><TT><A HREF="localizeRsutil.html">rsutil.dll</A></TT></TD>
<TD>Installer STRINGTABLE and ICON resources.&nbsp;</TD>
</TR>
<TR>
<TD><TT><A HREF="localizeIsuser.html">_isuser.dll</A></TT></TD>
<TD>Installer DIALOG resources.</TD>
</TR>
</TABLE>
<P>
<A NAME="table2"></A><FONT SIZE=-1>Table 2. .INI files to be localized</FONT>
<TABLE BORDER >
<TR>
<TD><B>File to be localized</B></TD>
<TD><B>Purpose</B></TD>
</TR>
<TR>
<TD><A HREF="localizeAim.html">aim.ini</A></TD>
<TD>AOL Instant Messgenger initialization file.*</TD>
</TR>
<TR>
<TD><A HREF="localizeCD.html">cd.ini</A></TD>
<TD>Deinstaller initialization file.</TD>
</TR>
<TR>
<TD><A HREF="localizeCosmo.html">cosmo.ini</A></TD>
<TD>Cosmo player initialization file.*</TD>
</TR>
<TR>
<TD><A HREF="localizeMmedia.html">mmedia.ini</A></TD>
<TD>Multimedia initialization file.*</TD>
</TR>
<TR>
<TD><A HREF="localizeMplay.html">mplay32.ini</A></TD>
<TD>Media Player initialization file.*</TD>
</TR>
<TR>
<TD><A HREF="localizeNav40.html">nav40.ini</A></TD>
<TD>Main product initialization file.</TD>
</TR>
<TR>
<TD><A HREF="localizeNetcast.html">netcast.ini</A></TD>
<TD>Netcaster initialization file.</TD>
</TR>
<TR>
<TD><A HREF="localizeNsconf.html">nsconf.ini</A></TD>
<TD>Netscape Conference initialization file.*</TD>
</TR>
<TR>
<TD><A HREF="localizeSetup.html">setup.ini</A></TD>
<TD>Main setup initialization file.</TD>
</TR>
</TABLE>
<P>
* These files come with the Complete installer version.
<P>
<CENTER><TABLE COLS=1 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<P>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
</BODY>
</HTML>

View File

@@ -1,109 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Rick Elliott">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<TITLE>Conventions</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H3>
<A NAME="nomenclature"></A>Nomenclature and Typographical Conventions</H3>
<B>Typographical Conventions</B>
<BR>Words in <I>italics</I> typeface represent a variable term or phrase,
meant to be replaced by another value at "runtime."&nbsp; Example:
<UL><I>locale</I> -- replaced by a 2- or 4 letter locale code; e.g. zhtw</UL>
Words in <B>bold</B> typeface, using a proportional font, represent a literal
value in a string that might also contain a variable word or phrase. Example:
<UL><B>4.03 [</B><I>locale</I><B>]</B> -- 4.03 [ ] are literal values,
while <I>locale</I> is a variable.
<UL>&nbsp;</UL>
</UL>
Words in a <TT>fixed width font</TT> represent file or directory names,
or DOS or Windows commands to be typed as they appear.&nbsp; Sometimes,
part or all of the path will be in <B><TT>bold</TT></B>, for emphasis.
Examples:
<UL>Change to the <B><TT><I>kitRoot</I>\l10nkits\client\windows\tools</TT></B><TT>
</TT>directory
<BR>Execute <B><TT>RTRNKIT</TT></B></UL>
<B>Nomenclature</B>
<BR>Throughout this document, certain terms and phrases will be used repeatedly:
<P><FONT SIZE=-1>Table 1. Nomenclature and Typographical Conventions</FONT>
<TABLE BORDER >
<TR>
<TD><B><TT>kitRoot</TT> </B>directory&nbsp;</TD>
<TD>indicates the starting or topmost directory of the Windows Front End
Localization Kit.</TD>
</TR>
<TR>
<TD><I>platform</I></TD>
<TD>either 16 or 32 bit, depending on the version you are working on.</TD>
</TR>
<TR>
<TD><I>locale</I></TD>
<TD>in general, this refers to the language into which you are localizing
the product. The list of valid locale names is defined in the <A HREF="isocodes.htm">ISO
Language and Country Codes Table</A>.</TD>
</TR>
<TR>
<TD>localization database</TD>
<TD>a database generated by a leveraging tool from a set of matched binary
resource files.&nbsp;</TD>
</TR>
<TR>
<TD>localization notes</TD>
<TD>any special instructions, including the "translate/don't translate"
flag, associated with a given resource.&nbsp; Localization notes are contained
in the localization database for each resource module.</TD>
</TR>
<TR>
<TD><I>leverage</I></TD>
<TD>The process of merging previous localized versions of a file into a
current version.&nbsp;</TD>
</TR>
<TR>
<TD>forbidden resource</TD>
<TD>A resource that cannot be changed from the original value without (negatively)
impacting the functionality of the product. These are identified in the
localization databases.</TD>
</TR>
</TABLE>
&nbsp;
<BR>&nbsp;
<CENTER><TABLE COLS=3 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="kitStruct.html">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="gettingStarted.html">NEXT</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER>&nbsp;</CENTER>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
&nbsp;
</BODY>
</HTML>

View File

@@ -1,57 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Rick Elliott">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<TITLE>Project Overview</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H2>
<A NAME="overviews"></A>1. Project Overview</H2>
<CENTER><B><FONT COLOR="#009900">Welcome to the Communicator/Navigator
Installer Localization Kit!</FONT></B></CENTER>
<P>Under the universal localization program, you are free to create an
installer for a localized Communicator, Navigator or Mozilla derivative
product in any way you choose. This localization kit will assist you in
creating a your installer for the 32-bit Windows platform. As long as you
follow the terms of the universal localization program license agreement,
you are free to do what you want with the resulting localized product and
installer.
<P>The Netscape Communicator and Netscape Navigator 4.x installation programs
were created with InstallShield<SUP><FONT SIZE=-1>&reg;</FONT></SUP> version
3.&nbsp; Because this is the proprietary product of InstallShield Corporation,
Netscape cannot redistribute the complete source for these installers.&nbsp;
You may, however, modify an existing Communicator or Navigator installer,
or if you choose, you may build your own installer "from scratch".
<P><B>Note</B>: because of the U.S. Government's restrictions on the export
of strong cryptography, <B>you may only distribute the "export" version</B>
of the Netscape binaries.&nbsp; Please keep this in mind as you work with
the localization kit instructions.
<BR>&nbsp;
<CENTER><TABLE COLS=3 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="splash.html">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="kitOverview.html">NEXT</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
&nbsp;
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
&nbsp;
</BODY>
</HTML>

View File

@@ -1,54 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Rick Elliott">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<TITLE>Reference</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H2>
<A NAME="reference"></A>Reference</H2>
This section summarizes the references used throughout this document.&nbsp;
In addition, other miscellaneous references may be found here.
<P><FONT SIZE=-1>Table 5. Reference Links</FONT>
<TABLE BORDER COLS=3 WIDTH="100%" >
<TR>
<TD><A HREF="isocodes.htm">Locale Table (local)</A></TD>
<TD><A HREF="http://www.indigo.ie/egt/standards/iso639/iso639-en.html">Locale
Table (remote)</A></TD>
<TD><A HREF="registrySettings.html">Windows Registry Settings Reference</A></TD>
</TR>
<TR>
<TD><A HREF="http://home.netscape.com/menu/intl/">Communicator International
Features</A></TD>
<TD><A HREF="http://help.netscape.com/kb/client/970513-4.html"></A></TD>
<TD><FONT COLOR="#009900"><A HREF="charsets.htm"></A></FONT></TD>
</TR>
</TABLE>
<A HREF="allxpstr.h"></A>
<P>&nbsp;
<CENTER><TABLE COLS=1 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER>&nbsp;</CENTER>
<CENTER></CENTER>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
&nbsp;
</BODY>
</HTML>

View File

@@ -1,612 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Rick Elliott">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (Win95; I) [Netscape]">
<TITLE>Windows Registry Settings</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H1>
Windows Registry Settings</H1>
This document is provided as a reference to the Windows registry settings
implemented by Communicator and Navigator.&nbsp; You may use this as a
guide to the registry settings you must implement if you create your own
installation program (as opposed to localizing an existing Netscape installer).
<P>Note that in the Netscape installers, these settings are implemented
only within .INI files.&nbsp; This simplifies modifying and localizing
the installer. It is recommended that your installer do the same.
<P>You may observe the registry changes made by any product with tools
such as <A HREF="http://www.ntinternals.com/regmon.htm">Regmon.</A> This
may be a useful addition to your toolset.
<P>These notes are applicable to Netscape Communicator version 4.03.
<BR>&nbsp;
<TABLE BORDER COLS=1 WIDTH="100%" >
<TR>
<TD><B>MPLAY32.INI</B>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value:&nbsp;
<BR>Type :&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape\Media Player&nbsp;
<BR>Name : CurrentVersion&nbsp;
<BR>Value: 4.03 (en)&nbsp;
<BR>Type :&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape\Media Player\4.03 (en)&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value:&nbsp;
<BR>Type :&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape\Media Player\4.03 (en)\Main&nbsp;
<BR>Name : Install Directory&nbsp;
<BR>Value: [Default Path]\MPlayer&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<P>Name : Program Folder&nbsp;
<BR>Value: [Program Folder]&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\.LAM&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: LAMDocument&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\LAMDocument\shell\open\command&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [WINSYSDIR]\mplay32.exe %1&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<P>Name : (Default)&nbsp;
<BR>Value: [WINDIR]\mplayer.exe %1&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\LAMDocument\DefaultIcon&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [Default Path]\MPlayer\npcfg32.exe ,0&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\MCI32&nbsp;
<BR>Name : LiveAudioFile&nbsp;
<BR>Value: mcilma32.dll&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\MCI&nbsp;
<BR>Name : LiveAudioFile&nbsp;
<BR>Value: mcilma.dll&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\MCI32&nbsp;
<BR>Name : LiveAudioMetafile&nbsp;
<BR>Value: mcilau32.dll&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\drivers.desc&nbsp;
<BR>Name : mcilau32.dll&nbsp;
<BR>Value: (MCI) Netscape Media Player&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\MCI&nbsp;
<BR>Name : LiveAudioMetafile&nbsp;
<BR>Value: mcilau.dll&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\MCI
Extensions&nbsp;
<BR>Name : LAM&nbsp;
<BR>Value: LiveAudioMetafile&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<P>Name : LMA&nbsp;
<BR>Value: LiveAudioFile&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<P>Name : LA&nbsp;
<BR>Value: LiveAudioFile&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\drivers.desc&nbsp;
<BR>Name : mcilma32.dll&nbsp;
<BR>Value: (MCI) Netscape Packetized Audio&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Drivers32&nbsp;
<BR>Name : MSACM.NSPAC&nbsp;
<BR>Value: NSPAC32.ACM&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\drivers.desc&nbsp;
<BR>Name : NSPAC32.ACM&nbsp;
<BR>Value: elemedia(TM) AX24000P Music Codec&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Drivers32&nbsp;
<BR>Name : MSACM.voxacm118&nbsp;
<BR>Value: vdk32118.acm&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\drivers.desc&nbsp;
<BR>Name : vdk32118.acm&nbsp;
<BR>Value: Voxware 32bit Codec&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Drivers32&nbsp;
<BR>Name : MSACM.NSX83&nbsp;
<BR>Value: NSX83P32.ACM&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\drivers.desc&nbsp;
<BR>Name : NSX83P32.ACM&nbsp;
<BR>Value: elemedia(TM) SX8300 Speech Codec&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Drivers32&nbsp;
<BR>Name : MSACM.NSMLAW&nbsp;
<BR>Value: NSMLAW32.DLL&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\drivers.desc&nbsp;
<BR>Name : NSMLAW32.DLL&nbsp;
<BR>Value: Netscape G.711 Decoder&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>
<HR WIDTH="100%">
<BR><B>NAV40.INI</B>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App
Paths\Netscape.exe&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [Default Path]\Program\Netscape.exe&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<P>Name : Path&nbsp;
<BR>Value: [Default Path]\Program&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\CLSID\{7865A9A1-33A8-11d0-BED9-00A02468FAB6}\InprocServer32&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [Default Path]\Program\brpref32.dll&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\CLSID\{543EC0D0-6AB7-11d0-BF56-00A02468FAB6}\InprocServer32&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [Default Path]\Program\brpref32.dll&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\CLSID\{543EC0D1-6AB7-11d0-BF56-00A02468FAB6}\InprocServer32&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [Default Path]\Program\brpref32.dll&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\CLSID\{2D0A7D70-748C-11d0-9705-00805F8AA8B8}\InprocServer32&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [Default Path]\Program\edpref32.dll&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\CLSID\{E8D6B4F0-8B58-11d0-9B63-00805F8ADDDE}\InprocServer32&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [Default Path]\Program\mnpref32.dll&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\CLSID\{DDF4AB60-8B84-11d0-9B63-00805F8ADDDE}\InprocServer32&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [Default Path]\Program\mnpref32.dll&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\CLSID\{CC3E2871-43CA-11d0-B6D8-00805F8ADDDE}\InprocServer32&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [Default Path]\Program\mnpref32.dll&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\CLSID\{CC3E2872-43CA-11d0-B6D8-00805F8ADDDE}\InprocServer32&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [Default Path]\Program\mnpref32.dll&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value:&nbsp;
<BR>Type :&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape\Netscape Navigator&nbsp;
<BR>Name : CurrentVersion&nbsp;
<BR>Value: 4.03 (en)&nbsp;
<BR>Type :&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape\Netscape Navigator\Users&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value:&nbsp;
<BR>Type :&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape\Netscape Navigator\4.03
(en)&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value:&nbsp;
<BR>Type :&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape\Netscape Navigator\4.03
(en)\Main&nbsp;
<BR>Name : Install Directory&nbsp;
<BR>Value: [Default Path]&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<P>Name : Java Directory&nbsp;
<BR>Value: [Default Path]\Program\Java&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<P>Name : NetHelp Directory&nbsp;
<BR>Value: [Default Path]\Program\NetHelp&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<P>Name : Plugins Directory&nbsp;
<BR>Value: [Default Path]\Program\Plugins&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<P>Name : Program Folder&nbsp;
<BR>Value: [Program Folder]&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CURRENT_USER\Software\Netscape&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value:&nbsp;
<BR>Type :&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CURRENT_USER\Software\Netscape\Netscape Navigator&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value:&nbsp;
<BR>Type :&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CURRENT_USER\Software\Netscape\Netscape Navigator\Main&nbsp;
<BR>Name : Install Directory&nbsp;
<BR>Value: [Default Path]&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\NetscapeMarkup\CLSID&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: {61D8DE20-CA9A-11CE-9EA5-0080C82BE3B6}&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\NetscapeMarkup\Insertable&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value:&nbsp;
<BR>Type :&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\NetscapeMarkup\protocol\StdFileEditing\server&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [Default Path]\Program\Netscape.exe&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\NetscapeMarkup\protocol\StdFileEditing\verb\0&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: &amp;Edit&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\NetscapeMarkup\shell\open\command&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [Default Path]\Program\Netscape.exe "%1"&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\NetscapeMarkup\shell\print\command&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [Default Path]\Program\Netscape.exe /print("%1")&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\NetscapeMarkup\shell\print\ddeexec&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [print("%1")]&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\NetscapeMarkup\shell\PrintTo\command&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [Default Path]\Program\Netscape.exe /printto("%1","%2","%3","%4")&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\NetscapeMarkup\shell\PrintTo\ddeexec&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [("%1","%2","%3","%4")]&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\NetscapeMarkup\shell\open\ddeexec&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: "%1"&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\NetscapeMarkup\shell\open\ddeexec\Application&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: NSShell&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\NetscapeMarkup\shell\open\ddeexec\Topic&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: WWW_OpenURL&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\NetscapeMarkup\shell\Edit\command&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [Default Path]\Program\Netscape.exe -edit "%1"&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\NetscapeMarkup\shell\Edit\ddeexec&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [edit("%1")]&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape\Netcaster&nbsp;
<BR>Name : CurrentVersion&nbsp;
<BR>Value: 4.03 (en)&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape\Netcaster\4.03 (en)\Main&nbsp;
<BR>Name : Install Directory&nbsp;
<BR>Value: [Shell Path]\Netcast&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<P>Name : Program Folder&nbsp;
<BR>Value: [Program Folder]&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\CLSID\{C98D0190-7D81-11d0-BF8D-00A02468FAB6}\InprocServer32&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [Default Path]\Program\brpref32.dll&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\CLSID\{37B601C0-8AC8-11d0-83AF-00805F8A274D}\InprocServer32&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [Default Path]\Program\brpref32.dll&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\CLSID\{913A4A20-8EBF-11d0-BFAB-00A02468FAB6}\InprocServer32&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [Default Path]\Program\brpref32.dll&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\NetscapeMarkup\shell\print\ddeexec\Application&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: NSShell&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\NetscapeMarkup\shell\PrintTo\ddeexec\Application&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: NSShell&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\NetscapeMarkup\shell\Edit\ddeexec\Application&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: NSShell&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\NetscapeMarkup&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: Hypertext Markup Language&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\telnet&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: URL:Telnet Protocol&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\telnet\shell\open\command&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: telnet %1&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>
<HR WIDTH="100%">
<BR><B>NETCAST.INI</B>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value:&nbsp;
<BR>Type :&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape\Netcaster&nbsp;
<BR>Name : CurrentVersion&nbsp;
<BR>Value: 1.0 (en)&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape\Netcaster\1.0 (en)&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value:&nbsp;
<BR>Type :&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape\Netcaster\1.0 (en)\Main&nbsp;
<BR>Name : Install Directory&nbsp;
<BR>Value: [Default Path]&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<P>Name : Program Folder&nbsp;
<BR>Value: [Program Folder]&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>
<HR WIDTH="100%">
<BR><B>NSCONF.INI</B>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value:&nbsp;
<BR>Type :&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape\Conference&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value:&nbsp;
<BR>Type :&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape\Conference\CurrentVersion&nbsp;
<BR>Name : Description&nbsp;
<BR>Value: Conference&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<P>Name : InstallDate&nbsp;
<BR>Value: [TIME]&nbsp;
<BR>Type : REGDB_NUMBER&nbsp;
<P>Name : Installed&nbsp;
<BR>Value: 1&nbsp;
<BR>Type : REGDB_NUMBER&nbsp;
<P>Name : PathName&nbsp;
<BR>Value: [Default Path]&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<P>Name : SoftwareType&nbsp;
<BR>Value: application&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<P>Name : VersionBuild&nbsp;
<BR>Value: 1213&nbsp;
<BR>Type : REGDB_NUMBER&nbsp;
<P>Name : VersionMajor&nbsp;
<BR>Value: 1&nbsp;
<BR>Type : REGDB_NUMBER&nbsp;
<P>Name : VersionMinor&nbsp;
<BR>Value: 0&nbsp;
<BR>Type : REGDB_NUMBER&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Drivers32&nbsp;
<BR>Name : MSACM.VOXACM118&nbsp;
<BR>Value: vdk32118.acm&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<P>Name : MSACM.NSX83&nbsp;
<BR>Value: nsx83p32.acm&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<P>Name : MSACM.NSX723&nbsp;
<BR>Value: sx5363s.acm&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<P>Name : MSACM.NSMLAW&nbsp;
<BR>Value: nsmlaw32.dll&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CURRENT_USER\Software\Netscape&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value:&nbsp;
<BR>Type :&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_CLASSES_ROOT\nscfile\shell\open\command&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value: [Default Path]\NSConf32.exe -f "%1"&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape\Conference&nbsp;
<BR>Name : CurrentVersion&nbsp;
<BR>Value: 4.03 (en)&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape\Conference\4.03 (en)&nbsp;
<BR>Name : (Default)&nbsp;
<BR>Value:&nbsp;
<BR>Type :&nbsp;
<BR>&nbsp;
<P>Key&nbsp; : HKEY_LOCAL_MACHINE\Software\Netscape\Conference\4.03 (en)\Main&nbsp;
<BR>Name : Install Directory&nbsp;
<BR>Value: [Default Path]&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<P>Name : Program Folder&nbsp;
<BR>Value: [Program Folder]&nbsp;
<BR>Type : REGDB_STRING&nbsp;
<BR>&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<BR>&nbsp;
<CENTER><TABLE COLS=2 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="kitOverview.html">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER>&nbsp;</CENTER>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
&nbsp;
</BODY>
</HTML>

View File

@@ -1,53 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Rick Elliott">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (Win95; I) [Netscape]">
<TITLE>Reporting Bugs</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H3>
<A NAME="reporting_bugs"></A>Reporting Bugs</H3>
Any bugs in the localization kits you find should be reported to <A HREF="http://www.mozilla.org">mozilla.org</A>
as soon as possible. When you report a bug, try to be as specific as you
can about the exact steps needed to reproduce the bug.&nbsp; Provide a
complete description of the problem versus the expected results.&nbsp;
You should let us know if the problem is 100% reproducible (it happens
every time), or if it is intermittant.&nbsp; If you think that your operating
environment may play some factor, let us know the details of that.&nbsp;
Finally, before reporting any bug, you should make sure that the problem
doesn't also happen in the US English product (if it does, we still want
to know, but it may not be possible to fix it through the localization
kits or tools as they are now).
<P>To report a bug, post a message to the following mozilla.org newsgroup:
<BR>&nbsp;
<CENTER><A HREF="news://news.mozilla.org/netscape.public.mozilla.general">news://news.mozilla.org/netscape.public.mozilla.general</A></CENTER>
<P>Be sure to include the information described above.
<BR>&nbsp;
<CENTER><TABLE COLS=3 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="testKit.html">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="returnKit.html">NEXT</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER>&nbsp;</CENTER>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
&nbsp;
</BODY>
</HTML>

View File

@@ -1,54 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Rick Elliott">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (Win95; I) [Netscape]">
<TITLE>Returning the Kit</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H2>
<A NAME="returnkit"></A>5. Publishing the Finished Kit</H2>
Once you are satisfied with the quality of your localization efforts, you
are required by the terms of the universal localization program license
agreement to make your localized product publicly available. The exact
details of how you do this is up to you, the most commonly acceptable method
is to post your localized product to a publicly accessible ftp site.
<P>You should post just the localized versions of the files mentioned in
the Localize These Files section of this document. For ease of transfer,
you may create a compressed archive in the .ZIP file format that contains
the localized files. Create one .ZIP file for each language/platform you
do. If you are publishing more than one language or platform, you may combine
multiple .ZIP files into one master .ZIP file if this makes your life easier.
<P>If your localized product includes your own trademarks, you should identify
these and any restrictions you are placing on their use. You must also
include a copy of the End User License Agreement (EULA), as well as a notice
stating that Netscape Communications is not required to support your product,
and that you are the Licensor referred to in the EULA. Please refer to
the Universal Localization Agreement for the exact legal requirements.
<P>Once your localized product is publicly available, you may inform the
world in any manner you choose, but we encourage you to also post the download
location to the mozilla.org Announcements newsgroup (netscape.public.mozilla.announce).
<CENTER>&nbsp;<BR>
<FONT COLOR="#008000"><FONT SIZE=+2>Congratulations! You are done!</FONT></FONT></CENTER>
&nbsp;
<CENTER><TABLE COLS=2 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="testKit.html">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
</BODY>
</HTML>

View File

@@ -1,47 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Rick Elliott">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<TITLE>Title Page</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<CENTER>
<H1>
NETSCAPE COMMUNICATOR</H1></CENTER>
<CENTER><IMG SRC="SPLASH.JPG" NOSAVE HEIGHT=261 WIDTH=390></CENTER>
<CENTER>
<H1>
Localization Kit</H1></CENTER>
<CENTER>
<H3>
for Microsoft<SUP><FONT SIZE=+0>&reg;</FONT></SUP> Windows (32-bit version)</H3></CENTER>
<CENTER>
<H3>
Revision 1.1</H3></CENTER>
<CENTER>Copyright &copy; 1994-1998 Netscape&reg; Communications Corporation,
All rights reserved.</CENTER>
&nbsp;
<BR>&nbsp;
<CENTER><TABLE COLS=2 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="projectOverview.html">NEXT</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER>&nbsp;</CENTER>
</BODY>
</HTML>

View File

@@ -1,150 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Rick Elliott">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<TITLE>Testing the Localized Resources</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H2>
<A NAME="testkit"></A>4. Ensuring Quality</H2>
The quality of your localized version will have a large impact on its acceptance
in the marketplace.&nbsp; You can greatly enhance your chances of producing
a quality product by using experienced and skilled localizers, and by performing
post-translation testing.
<P>When performing the actual translation, you should be sensitive to a
number of issues:
<UL>
<LI>
Completeness: you should aim for as thorough a translation as possible.&nbsp;
Try not to leave portions of the product untranslated. However, be aware
that some terms may best be left in English, depending on local conventions.</LI>
<LI>
Suitability: all translations should be suitable and appropriate for product,
the language, the market and the customers you intend to reach.&nbsp; This
includes using the proper technical terminology for a give platform or
computer operation, as well as using language that is readily understood
by the average user of the product in a given language.&nbsp; You should,
where possible, try to use terminology which is similar to other products
available on the same platform (without violating copyrights or trademarks,
of course).</LI>
<LI>
Accuracy: you should be sure your translation conveys the same meaning
and intention as the original English.</LI>
<LI>
Grammar and spelling: you should be sure your translation is grammatically
accurate and free from spelling errors.</LI>
</UL>
Keep in mind that engineers do not necessarily make the best localizers!
<P>Once localization is complete, there are two basic types of post-translation
testing that should be done:
<BR>&nbsp;
<TABLE BORDER WIDTH="100%" >
<TR>
<TD>Linguistic Review</TD>
<TD>Checking all translations for accuracy and appropriateness in the actual
context in which they appear.</TD>
</TR>
<TR>
<TD>Functional Testing</TD>
<TD>Ensuring the product still functions as designed (or at least as well
as the US English product).</TD>
</TR>
</TABLE>
&nbsp;
<BR>For the linguistic review, you should have an independent reviewer
(i.e. not the person who implemented the translations) check every string
for the items listed above.&nbsp; In some cases, it may be enough to review
the running product itself; however, it is also valuable to print out your
translations and review them externally from the product.
<P>For the functional testing, your best resource are the directions contained
in the localization notes and this document. You should review the completed
product's localization notes with this document in hand, double checking
that you have followed all the instructions contained here.
<P>Consider the following general guidelines when testing:
<UL>
<LI>
It is helpful to have a second copy of the product running with the English
version so you can compare them side by side (a second computer might be
helpful or required for this).</LI>
<LI>
Walk through every menu in each module you have localized looking for translation
accuracy, pick letter conflicts and other problems.</LI>
<LI>
Bring up as many dialogs as you can, looking for translation accuracy,
pick letter conflicts, truncated strings and functionality issues.</LI>
<LI>
Exercise the installer in as many ways as possible:</LI>
<UL>
<LI>
Select every installer option</LI>
<LI>
Be sure to test the deinstaller</LI>
<LI>
Look at the icons and folder names created</LI>
<LI>
Use accented or multibyte file and directory names</LI>
<LI>
Install to non-existant and read-only directories</LI>
<LI>
Install to drives with insufficient disk space</LI>
<LI>
etc.</LI>
</UL>
<LI>
If functional problems are found, you should compare the same steps you
took in the localized product to the English product: if the two products
fail in the same way, it is a "core" bug, which can only be fixed by changing
the core product's executable. If the localized product fails while the
English product does not, then it is probably a translation-related bug;
these can be fixed by altering the way you localize the product (perhaps
by not translating a particular item, or by translating it differently).</LI>
</UL>
The following section tells you how to report bugs in the localization
kit itself, or in the core product.
<BR>&nbsp;
<CENTER><TABLE COLS=3 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="usingKit.html">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="reportingBugs.html">NEXT</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER>&nbsp;</CENTER>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
&nbsp;
</BODY>
</HTML>

View File

@@ -1,106 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Rick Elliott">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<TITLE>Table of Contents</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H2>
Table of Contents</H2>
<TABLE>
<TR>
<TD><FONT SIZE=+1>i. <A HREF="splash.html">Title Page</A></FONT>&nbsp;
<BR>&nbsp;</TD>
</TR>
<TR>
<TD><FONT SIZE=+1>1. <A HREF="projectOverview.html">Project Overview</A></FONT>&nbsp;
<UL>
<LI>
<A HREF="kitOverview.html">Kit Overview</A></LI>
<LI>
<A HREF="kitStruct.html">Structure and Organization</A></LI>
<LI>
<A HREF="nomenclature.html">Nomenclature and Typographical Conventions<BR>
</A>&nbsp;&nbsp;</LI>
</UL>
</TD>
</TR>
<TR>
<TD><FONT SIZE=+1>2. <A HREF="gettingStarted.html">Getting Started</A></FONT>&nbsp;
<UL>
<LI>
<A HREF="gettingStarted.html#sysreqs">System Requirements</A></LI>
<LI>
<A HREF="gettingStarted.html#install">Installing the Kit</A></LI>
<LI>
<A HREF="gettingStarted.html#configtool">Configuring Your Tools</A></LI>
</UL>
&nbsp;</TD>
</TR>
<TR>
<TD><FONT SIZE=+1>3. <A HREF="usingKit.html">Using the Kit</A></FONT>&nbsp;
<UL>
<LI>
<A HREF="usingKit.html#locdbf">Understanding the Localization Notes</A></LI>
<LI>
<A HREF="usingKit.html#l10nchecklist">Localization Checklist</A></LI>
<LI>
<A HREF="localize_these_files.html">Localize These Files</A></LI>
<LI>
<A HREF="usingKit.html#branding">Product Branding Issues</A></LI>
<LI>
<A HREF="usingKit.html#howtol10n">How to Localize Different Resource Types</A></LI>
<LI>
<A HREF="localizeURL.html">Localizing URLs</A></LI>
<LI>
<A HREF="usingKit.html#localize_stringtable">Localizing STRING TABLES</A></LI>
<LI>
<A HREF="usingKit.html#localize_dialogs">Localizing DIALOGS</A></LI>
<LI>
<A HREF="usingKit.html#localize_text">Localizing .INI Files</A></LI>
</UL>
&nbsp;</TD>
</TR>
<TR>
<TD><FONT SIZE=+1>4. <A HREF="testKit.html">Ensuring Quality</A></FONT>&nbsp;
<UL>
<LI>
<A HREF="testKit.html#testkit">Test Considerations</A></LI>
<LI>
<A HREF="reportingBugs.html">Reporting Bugs</A></LI>
</UL>
&nbsp;</TD>
</TR>
<TR>
<TD><FONT SIZE=+1>5. <A HREF="returnKit.html">Publishing the Finished Kit</A></FONT>&nbsp;
<BR>&nbsp;</TD>
</TR>
<TR>
<TD><FONT SIZE=+1>6. <A HREF="reference.html">References</A></FONT>&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
</BODY>
</HTML>

View File

@@ -1,323 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Rick Elliott">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<TITLE>Using the Kit</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
&nbsp;
<TABLE COLS=1 WIDTH="100%" >
<TR>
<TD>
<CENTER><B><FONT COLOR="#FF0000">WARNING! Protect yourself from data loss
by making regular backups of your work.</FONT></B></CENTER>
</TD>
</TR>
</TABLE>
<H2>
<A NAME="usekit"></A>3. Using the Kit</H2>
Once your copy of the Windows Installer Localization Kit is correctly installed,
you may begin your localization work by following the instructions in the
remainder of this document. The next section discusses the contents of
the localization notes provided with this kit. It is important that you
work properly with the instructions contained in these files or the localized
product you create may not function.
<H3>
<A NAME="locdbf"></A>Understanding the Localization Notes</H3>
Each localized module to be installed has an associated initialization
(.INI) file. The localization notes for these files, and for the localizable
dynamic link libraries used by the InstallShield installer, are provided
as HTML documentation. (There are no localization databases in this kit).
Additionally, a section detailing the required Windows registry settings
is also provided in HTML format.
<P>The next section presents the basic localization process as a checklist.
<CENTER>
<HR WIDTH="50%"></CENTER>
<H3>
<A NAME="l10nchecklist"></A>Localization Checklist</H3>
This checklist applies to the "<A HREF="kitOverview.html#method1">modifying
an existing Communicator installer</A>" method. If you are <A HREF="kitOverview.html#method2">creating
your own installer</A>, you will need to adapt this checklist accordingly.
A reference is provided to help you implement the correct <A HREF="registrySettings.html">Windows
registry settings</A>.
<P><B>1. Download an existing installer</B>
<BR>You will need a matching installer for the product you are localizing.
In other words, if you are localizing Netscape Communicator version 4.03,
you need an installer for the Export version of Netscape Communicator 4.03.
If you are localizing Mozilla Navigator version 5.0, you need an installer
for the Export version (if any) of Mozilla Navigator version 5.0. Latest
versions of Netscape products can be downloaded from the <A HREF="http://home.netscape.com/download/index.html">Netscape
homepage</A>. Older versions of Netscape installers, matching the versions
used to generate the localization kits, can be found on the <A HREF="ftp://ftp.mozilla.org/pub/l10n-kits/">mozilla.org
ftp site</A>.
<P>Current Netscape installers come in two forms: base and complete. Complete
installers include plugins and other components besides the basic Communicator
software. You may use either installer as the foundation for your work,
but note that there may not be localization kits for the additional components.
Even if you choose to distribute the English version of these components,
however, you must modify the associated initialization files, listed in
the <A HREF="localize_these_files.html#table1">Localize These Files</A>
page in order for the additional components to be installed properly.
<P><B>2. Uncompress the Installer files</B>
<UL>
<LI>
Run the installer you downloaded in step 1. This will bring up the following
dialog (or something very similar):</LI>
<BR><IMG SRC="Is1.jpg" HEIGHT=101 WIDTH=364>
<LI>
Click yes. InstallShield will extract all the installation files to your
temporary directory. (Usually, this will be C:\temp or something similar).
Once this process is complete, the blue InstallShield background will display.</LI>
<LI>
Without exiting the installer, locate the unpacked installer files in your
temp directory and copy them to a new directory. Call this directory "install"
(or something similar).</LI>
<LI>
Exit the installer.</LI>
</UL>
<B>3. Uncompress the Deinstaller files</B>
<UL>
<LI>
Change directories to your "install" directory. Locate the file cd32*.exe
(where * equals the version number you are working on. For example, version
4.03 would be represented as cd32403.exe).</LI>
<LI>
Execute cd32*.exe. This will bring up a dialog similar to the one shown
is step 2. Click yes and wait until InstallShield has finished unpacking
the deinstaller files (the blue InstallShield background will display).</LI>
<LI>
Without exiting the installer, locate the unpacked deinstaller files in
your temp directory and copy them to a new directory. Call this directory
"deinstall" (or something similar).</LI>
<LI>
Exit the installer.</LI>
</UL>
<B>4. Extract localizable installer .DLLs</B>
<BR>Change directories to your "install" directory. Use the InstallShield
tool ICOMP.EXE to extract RSUTIL.DLL and _ISUSER.DLL from _SETUP.LIB:
<UL><TT>Example: icomp _setup.lib -d</TT></UL>
<B>4. Localize files</B>
<BR>Consult the <A HREF="localize_these_files.html#table1">Localize These
Files</A> page to learn which files contain localizable resources.
<P>For each file to be localized, locate the associated Localization Notes
for that file and follow them carefully.
<P><B>5. Replace original product files contained in nav40.z with localized
product files</B>
<BR>Use the ICOMP tool to replace the original (English language) Communicator
or Navigator files with the ones you have localized using the Windows Front
End Localization Kit.
<UL>
<LI>
Make sure your localized product directory structure matches the structure
inside the compressed file nav40.z. (If necessary, uncompress nav40.z (including
subdirectories), and replace all the localizable files (as identified by
the Windows Front End Localization Kit) with your localized versions).</LI>
<LI>
Update nav40.z with your localized files:</LI>
<UL><TT>Example: icomp \<I>kitRoot</I>\products\client\windows\<I>platform</I>\<I>locale</I>\*.*
nav40.z -i</TT></UL>
</UL>
<B>6. Rebuild the self-extracting deinstaller program</B>
<BR>Use the InstallShield tool EXE Builder to reassemble the self-extracting
deinstaller archive.
<UL>
<LI>
Specify your "deinstall" directory as the source directory.</LI>
<LI>
Set compression on.</LI>
<LI>
Specify Setup.exe as the command line program to run when self-extraction
is complete. (No optional parameters are required.)</LI>
<LI>
Specify your "install" directory as the target directory.</LI>
<LI>
Enter the name of your localized product as the application name.</LI>
<LI>
Do not specify a password.</LI>
<LI>
Once creation of your localized self-extracting deinstaller is complete,
locate the file Setupex.exe in your "install" directory and rename it to
match the original name of the deinstaller self-extracting program (e.g.,
cd32403.exe).</LI>
</UL>
<B>7. Rebuild the self-extracting installer program</B>
<BR>Use the InstallShield tool EXE Builder to reassemble the self-extracting
installer archive.
<UL>
<LI>
Specify your "install" directory as the source directory.</LI>
<LI>
Set compression on.</LI>
<LI>
Specify Setup.exe as the command line program to run when self-extraction
is complete. (No optional parameters are required.)</LI>
<LI>
Specify any directory you want as the target directory.</LI>
<LI>
Enter the name of your localized product as the application name.</LI>
<LI>
Do not specify a password.</LI>
<LI>
Once creation of your localized self-extracting installer is complete,
locate the file Setupex.exe in your target directory and rename it to something
meaningful.</LI>
</UL>
<B>8. Complete post-translation processing</B>
<BR>After translation is complete, you need to test your work and deal
with any problems:
<UL>
<LI>
Test the localized installer.</LI>
<LI>
Fix translation bugs using your localization tools or a resource editor.</LI>
<LI>
Fix dialog size bugs using your localization tools or a resource editor.</LI>
<LI>
Report core bugs to Netscape.</LI>
</UL>
<B>9. Publish your localized product to the Internet</B>
<BR>As the terms of the universal localization program license agreement
state, your localized product
<P><TT>"must be made publicly available in executable code form,</TT>
<BR><TT>free of charge, for electronic delivery via a mechanism</TT>
<BR><TT>generally accepted in the software development</TT>
<BR><TT>community."</TT>
<P>In plain English, this means you should post your localized product
on a publicly accessible http: or ftp: server. You may also want to send
an announcement of your product's availability to mozilla.org (though you
are not required to do so).
<P>
<HR WIDTH="50%">
<H2>
<A NAME="branding"></A>Product Branding Issues</H2>
If you are using this kit under the auspices of the universal localization
program, you must remove or replace Netscape trademarked strings, images
and icons in your localized version. Click <A HREF="branding.html">here</A>
for instructions.
<P>
<HR WIDTH="50%">
<H2>
<A NAME="howtol10n"></A>How to Localize Different Resource Types</H2>
This section provides you with general information about localizing the
various resource types and files found with this kit.
<H3>
<A NAME="localize_text"></A>Localizing .INI Files</H3>
<UL>Most of the work for the Windows installers is localizing initialization
(.INI) files. You may use the text editor of your choice to do this work.
Be sure the localized files are saved as plain text only.
<H4>
<A NAME="locnote_ini"></A>Localization Notes</H4>
Individual localization notes for the installer .INI files are contained
in the individual HTML documents linked from the <A HREF="localize_these_files.html#table1">Localize
These Files</A> page.</UL>
<H3>
<A NAME="localizeURLs"></A>Localizing URLs</H3>
<UL>You will not likely encounter any URLs (Universal Resource Locators)
in the installers, but if you do, how they are localized depends on whether
you are creating a branded Netscape version or not. The rules for how to
handle URLs are found <A HREF="localizeURL.html">here</A>.</UL>
<H3>
<A NAME="localize_stringtable"></A>Localizing String Tables</H3>
<UL>Use the resource editor of your choice to localize STRINGTABLE resources.
These are the most sensitive, potentially problematic resource type you
will be working with. Therefore, you must pay close attention to the instructions
provided in the localization notes.
<H4>
<A NAME="locnote_stringtable"></A>Localization Notes</H4>
Individual localization notes for the installer resource .DLLs are contained
in the individual HTML documents linked from the <A HREF="localize_these_files.html#table1">Localize
These Files</A> page. This section gives you some additional general guidelines
to follow when localizing the installer binary files.
<UL>
<LI>
Some strings may contain C++ print format strings, such as %s, %ld, %lu,
etc. Do not modify these while translating the rest of the string.</LI>
<LI>
Some strings may contain new line characters: \n. In general, you should
try leave these as you find them.</LI>
</UL>
</UL>
<H3>
<A NAME="localize_menus"></A>Localizing Menus</H3>
<UL>There are no menu resources in the Windows installer</UL>
<H3>
<A NAME="localize_dialogs"></A>Localizing Dialogs</H3>
<UL>Use the resource editor of your choice to localize and resize DIALOG
resources. Dialog translation is usually not as tricky as localizing string
tables; however, you should take care to assign unique pickletters to dialog
controls.
<H4>
<A NAME="locnote_menus"></A>Localization Notes</H4>
</UL>
<UL>Individual localization notes for the installer resource .DLLs are
contained in the individual HTML documents linked from the <A HREF="localize_these_files.html#table1">Localize
These Files</A> page.</UL>
&nbsp;
<CENTER><TABLE COLS=3 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="gettingStarted.html">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="testKit.html">NEXT</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
</BODY>
</HTML>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -1,40 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Rick Elliott">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]">
<TITLE>Product Branding Issues</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H3>
Product Branding Instructions</H3>
Under the terms of the Unlimited Localization Program, you must remove
or replace all trademarked Netscape terms, brand names, icons, images,
etc.&nbsp; These trademarks are listed on the page found at the following
URL:
<P><A HREF="http://home.netscape.com/misc/trademarks.html#trademarks">http://home.netscape.com/misc/trademarks.html#trademarks</A>
<P>Please refer to that page for details.&nbsp; You may not release a localized
version of the Netscape Communicator with these trademarks left in the
product.
<BR>&nbsp;
<CENTER><TABLE COLS=2 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="usingKit.html#branding">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER><BR>
<FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape Communications
Corp. All Rights Reserved</FONT></FONT></CENTER>
</BODY>
</HTML>

View File

@@ -1,383 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (Win95; I) [Netscape]">
<TITLE>HTML Output of: C:\TEMP\CHARSET.DBF</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H1>
CSID REFERENCE TABLE</H1>
Use this table to determine the Character Set ID (CSID) for the character
set you wish to use, for example, for setting the value of&nbsp; pref("intl.character_set")
in ALL_PREFS.
<BR>&nbsp;
<TABLE BORDER >
<TR>
<TH>CSID</TH>
<TH>CHARSET</TH>
</TR>
<TR>
<TD>0</TD>
<TD>CS_DEFAULT</TD>
</TR>
<TR>
<TD>1</TD>
<TD>CS_ASCII</TD>
</TR>
<TR>
<TD>2</TD>
<TD>CS_LATIN1</TD>
</TR>
<TR>
<TD>6</TD>
<TD>CS_MAC_ROMAN</TD>
</TR>
<TR>
<TD>10</TD>
<TD>CS_LATIN2</TD>
</TR>
<TR>
<TD>11</TD>
<TD>CS_MAC_CE</TD>
</TR>
<TR>
<TD>14</TD>
<TD>CS_8859_3</TD>
</TR>
<TR>
<TD>15</TD>
<TD>CS_8859_4</TD>
</TR>
<TR>
<TD>16</TD>
<TD>CS_8859_5</TD>
</TR>
<TR>
<TD>17</TD>
<TD>CS_8859_6</TD>
</TR>
<TR>
<TD>18</TD>
<TD>CS_8859_7</TD>
</TR>
<TR>
<TD>19</TD>
<TD>CS_8859_8</TD>
</TR>
<TR>
<TD>20</TD>
<TD>CS_8859_9</TD>
</TR>
<TR>
<TD>21</TD>
<TD>CS_SYMBOL</TD>
</TR>
<TR>
<TD>22</TD>
<TD>CS_DINGBATS</TD>
</TR>
<TR>
<TD>23</TD>
<TD>CS_DECTECH</TD>
</TR>
<TR>
<TD>27</TD>
<TD>CS_JISX0201</TD>
</TR>
<TR>
<TD>29</TD>
<TD>CS_TIS620</TD>
</TR>
<TR>
<TD>35</TD>
<TD>CS_UTF7</TD>
</TR>
<TR>
<TD>38</TD>
<TD>CS_USRDEF2</TD>
</TR>
<TR>
<TD>39</TD>
<TD>CS_KOI8_R</TD>
</TR>
<TR>
<TD>40</TD>
<TD>CS_MAC_CYRILLIC</TD>
</TR>
<TR>
<TD>41</TD>
<TD>CS_CP_1251</TD>
</TR>
<TR>
<TD>42</TD>
<TD>CS_MAC_GREEK</TD>
</TR>
<TR>
<TD>43</TD>
<TD>CS_CP_1253</TD>
</TR>
<TR>
<TD>44</TD>
<TD>CS_CP_1250</TD>
</TR>
<TR>
<TD>45</TD>
<TD>CS_CP_1254</TD>
</TR>
<TR>
<TD>46</TD>
<TD>CS_MAC_TURKISH</TD>
</TR>
<TR>
<TD>53</TD>
<TD>INTL_CHAR_SET_MAX</TD>
</TR>
<TR>
<TD>254</TD>
<TD>CS_USER_DEFINED_ENCODING</TD>
</TR>
<TR>
<TD>255</TD>
<TD>CS_UNKNOWN</TD>
</TR>
<TR>
<TD>260</TD>
<TD>CS_SJIS</TD>
</TR>
<TR>
<TD>261</TD>
<TD>CS_EUCJP</TD>
</TR>
<TR>
<TD>263</TD>
<TD>CS_BIG5</TD>
</TR>
<TR>
<TD>264</TD>
<TD>CS_GB_8BIT</TD>
</TR>
<TR>
<TD>265</TD>
<TD>CS_CNS_8BIT</TD>
</TR>
<TR>
<TD>280</TD>
<TD>CS_CNS11643_1</TD>
</TR>
<TR>
<TD>281</TD>
<TD>CS_CNS11643_2</TD>
</TR>
<TR>
<TD>282</TD>
<TD>CS_JISX0208</TD>
</TR>
<TR>
<TD>284</TD>
<TD>CS_KSC5601</TD>
</TR>
<TR>
<TD>286</TD>
<TD>CS_JISX0212</TD>
</TR>
<TR>
<TD>287</TD>
<TD>CS_GB2312</TD>
</TR>
<TR>
<TD>290</TD>
<TD>CS_UTF8</TD>
</TR>
<TR>
<TD>292</TD>
<TD>CS_NPC</TD>
</TR>
<TR>
<TD>293</TD>
<TD>CS_X_BIG5</TD>
</TR>
<TR>
<TD>303</TD>
<TD>CS_GB2312_11</TD>
</TR>
<TR>
<TD>304</TD>
<TD>CS_JISX0208_11</TD>
</TR>
<TR>
<TD>305</TD>
<TD>CS_KSC5601_11</TD>
</TR>
<TR>
<TD>306</TD>
<TD>CS_CNS11643_1110</TD>
</TR>
<TR>
<TD>515</TD>
<TD>CS_JIS</TD>
</TR>
<TR>
<TD>525</TD>
<TD>CS_2022_KR</TD>
</TR>
<TR>
<TD>564</TD>
<TD>CS_IMAP4_UTF7</TD>
</TR>
<TR>
<TD>810</TD>
<TD>CS_UCS2</TD>
</TR>
<TR>
<TD>811</TD>
<TD>CS_UCS4</TD>
</TR>
<TR>
<TD>819</TD>
<TD>CS_UCS2_SWAP</TD>
</TR>
<TR>
<TD>1292</TD>
<TD>CS_KSC_8BIT</TD>
</TR>
<TR>
<TD>2308</TD>
<TD>CS_SJIS_AUTO</TD>
</TR>
<TR>
<TD>2309</TD>
<TD>CS_EUCJP_AUTO</TD>
</TR>
<TR>
<TD>2563</TD>
<TD>CS_JIS_AUTO</TD>
</TR>
</TABLE>
@author: relliott
<BR>@source: ftang
<BR>@last updated: Mar. 19, 1998
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1997, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
</BODY>
</HTML>

View File

@@ -1,100 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Rick Elliott">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (Win95; I) [Netscape]">
<TITLE>Getting Started</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H2>
<A NAME="getting started"></A>2. Getting Started</H2>
Before you can begin using the Windows Front End Localization Kit, you
must install it and setup your working directories. This is a simple matter
of unzipping the compressed kit file(s) into the proper directories. Your
system must also meet certain requirements to run the tools needed to perform
the localization steps described below.
<P>
<HR WIDTH="50%">
<H3>
<A NAME="sysreqs"></A>System Requirements</H3>
There a few system requirements for the kit in the strictest sense; however,
your choice of tools will have their own set of requirements.&nbsp; The
most likely minimum configuration will be as follows:
<UL>
<LI>
100% IBM compatible PC</LI>
<LI>
Pentium<SUP><FONT SIZE=-1>&reg;</FONT></SUP> processor</LI>
<LI>
Microsoft<SUP><FONT SIZE=-1>&reg;</FONT></SUP> Windows NT 3.51 or 4.0 (localized
versions will help testing but aren't required)</LI>
<LI>
16 MB RAM</LI>
<LI>
30 MB available hard disk space</LI>
<LI>
A visual resource editor, such as those provided with Microsoft<SUP><FONT SIZE=-1>&reg;</FONT></SUP>
Visual C++, Borland<SUP><FONT SIZE=-1>&reg;</FONT></SUP> C++, etc.</LI>
<LI>
An active Internet connection and the ability to ftp (send and receive)
large files</LI>
<LI>
A Web browser (say, for example, Netscape Communicator ;-)</LI>
</UL>
<H3>
<HR WIDTH="50%"></H3>
<H3>
<A NAME="install"></A>Installing the Kit</H3>
It is recommended that you install the Windows Front End Localization Kit
in a brand new directory on your development machine. For example, you
can create a \Netscape_L10N_Kits directory on your hard drive. This becomes
your <B>kitRoot </B>directory.&nbsp; Place the L10n Kit's .ZIP file in
that directory and UNZIP it with the -d parameter:
<P>PKUNZIP -d <I>filename</I>
<UL><B>Example:&nbsp; <TT>PKUNZIP -d winfekit</TT></B></UL>
<HR WIDTH="50%">
<H3>
<A NAME="configtool"></A>Configuring Your Tools</H3>
If you intend to use the Netscape Translation Tools, please refer to the
<A HREF="../dogTool/dogToolUG.html">Translation Tools User Guide</A> for
instructions on setting up and using those tools.&nbsp; If you intend to
use a different localization tool, please refer to that tool's documentation
for set up and usage instructions.
<BR>&nbsp;
<CENTER><TABLE COLS=3 WIDTH="50%" >
<TR>
<TD>
<CENTER>[<A HREF="nomenclature.html">BACK</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="usingKit.html">NEXT</A>]</CENTER>
</TD>
<TD>
<CENTER>[<A HREF="toc.html">CONTENTS]</A></CENTER>
</TD>
</TR>
</TABLE></CENTER>
<CENTER></CENTER>
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
</BODY>
</HTML>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 871 B

Some files were not shown because too many files have changed in this diff Show More