+2007-11-02 Wolfgang Sourdeau <wsourdeau@inverse.ca>
+
+ * iCalDateHolder.m ([iCalDateHolder -awakeAfterUsingSaxDecoder:]):
+ make use of cStringUsingEncoding: instead of getString:length: to
+ retrieve the buffer content to work-around a bug in gnustep-base.
+
2007-11-01 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* CardGroup.m ([CardGroup +parseFromSource:source]): make sure the
if ([s rangeOfString:@"T"].length == 0 && [s length] == 8) {
/* hm, maybe a date without a time? like an allday event! */
int year, month, day;
- char buf[16];
- [s getCString:&(buf[0])];
-
- buf[9] = '\0';
- day = atoi(&(buf[6])); buf[6] = '\0';
- month = atoi(&(buf[4])); buf[4] = '\0';
- year = atoi(&(buf[0]));
+ char *buf;
+
+ buf = strdup([s cStringUsingEncoding: NSASCIIStringEncoding]);
+ day = atoi(buf + 6);
+ buf[6] = '\0';
+ month = atoi(buf + 4);
+ buf[4] = '\0';
+ year = atoi(buf);
+ free (buf);
+
date = [NSCalendarDate dateWithYear:year month:month day:day
hour:0 minute:0 second:0
timeZone:tz];
-
+
+ length = [_data length];
-+ bytes = [_data cString];
++ bytes = [_data cStringUsingEncoding: NSASCIIStringEncoding];
+
/* remove leading chars (skip to first digit, the day of the month) */
while (length > 0 && (!isdigit(*bytes))) {
}
OCIHandleFree(_current_stm, OCI_HTYPE_STMT);
-@@ -138,6 +141,14 @@
- {
- NSLog(@"FAILED: OCITerminate()");
+@@ -75,6 +78,30 @@
+ //
+ @implementation OracleAdaptorChannel
+
++static void
++DBTerminate()
++{
++ if (OCITerminate(OCI_DEFAULT))
++ NSLog(@"FAILED: OCITerminate()");
++ else
++ NSLog(@"Oracle8: environment shut down");
++}
++
+++ (void) initialize
++{
++ // We Initialize the OCI process environment.
++ if (OCIInitialize((ub4)OCI_DEFAULT, (dvoid *)0,
++ (dvoid * (*)(dvoid *, size_t)) 0,
++ (dvoid * (*)(dvoid *, dvoid *, size_t))0,
++ (void (*)(dvoid *, dvoid *)) 0 ))
++ NSLog(@"FAILED: OCIInitialize()");
++ else
++ {
++ NSLog(@"Oracle8: environment initialized");
++ atexit(DBTerminate);
++ }
++}
++
+ - (id) initWithAdaptorContext: (EOAdaptorContext *) theAdaptorContext
+ {
+ if ((self = [super initWithAdaptorContext: theAdaptorContext]))
+@@ -134,10 +161,14 @@
+ NSLog(@"FAILED: OCILogoff()");
}
+
+- if (OCITerminate(OCI_DEFAULT))
+- {
+- NSLog(@"FAILED: OCITerminate()");
+- }
+
+ OCIHandleFree(_oci_ctx, OCI_HTYPE_SVCCTX);
+ OCIHandleFree(_oci_err, OCI_HTYPE_ERROR);
}
}
-@@ -151,11 +162,6 @@
+@@ -151,11 +182,6 @@
[self _cleanup];
RELEASE(_resultSetProperties);
RELEASE(delegate);
[super dealloc];
+@@ -368,15 +394,6 @@
+ return NO;
+ }
+
+- // We Initialize the OCI process environment.
+- if (OCIInitialize((ub4)OCI_DEFAULT, (dvoid *)0,
+- (dvoid * (*)(dvoid *, size_t)) 0,
+- (dvoid * (*)(dvoid *, dvoid *, size_t))0,
+- (void (*)(dvoid *, dvoid *)) 0 ))
+- {
+- NSLog(@"FAILED: OCIInitialize()");
+- return NO;
+- }
+
+ if (OCIEnvInit((OCIEnv **)&_oci_env, (ub4)OCI_DEFAULT, (size_t)0, (dvoid **)0))
+ {
Index: sope-gdl1/Oracle8/OracleAdaptorChannelController.m
===================================================================
--- sope-gdl1/Oracle8/OracleAdaptorChannelController.m (révision 1546)
</ul>
</div>
+ <div class="menu" id="addressMenu">
+ <ul>
+ <li id="add_to_addressbook"><var:string label:value="Add to Address Book..."/></li>
+ <li id="compose_mailto"><var:string label:value="Compose Mail To"/></li>
+ <li id="create_filter"><var:string label:value="Create Filter From Message..."/></li>
+ </ul>
+ </div>
+
<div id="leftPanel">
<div class="titlediv"><var:string label:value="Folders" /></div>
<div id="folderTreeContent"><!-- space --></div>
<span id="messageContent">
<var:component className="UIxMailView" />
</span>
+ <div class="menu" id="addressMenu">
+ <ul>
+ <li id="add_to_addressbook"><var:string label:value="Add to Address Book..."/></li>
+ <li id="compose_mailto"><var:string label:value="Compose Mail To"/></li>
+ <li id="create_filter"><var:string label:value="Create Filter From Message..."/></li>
+ </ul>
+ </div>
</var:component>
bodyInfo="clientObject.bodyStructure" />
</div>
- <div class="menu" id="addressMenu">
- <ul>
- <li id="add_to_addressbook"><var:string label:value="Add to Address Book..."/></li>
- <li id="compose_mailto"><var:string label:value="Compose Mail To"/></li>
- <li id="create_filter"><var:string label:value="Create Filter From Message..."/></li>
- </ul>
- </div>
</container>
LABEL, SPAN.checkBoxList
{ display: block;
position: relative;
+ line-height: 1.5em;
height: 1.5em;
margin-left: .5em;
margin-bottom: .5em;
left: 8em;
right: 1em; }
+SPAN.content A
+{ line-height: 2em; }
+
TEXTAREA
{ position: absolute;
top: 0px;
border: 0px; }
DIV#freeBusyView
-{ position: static;
- margin-top: 2em;
- margin-left: 12.5em;
+{ background-color: #fff;
+ position: absolute;
+ margin-top: 0.5em;
+ top: 2em;
+ bottom: 14.5em;
+ left: 13em;
overflow: auto;
border-top: 2px solid #222;
border-left: 2px solid #222;
TABLE#freeBusy TH.attendees,
TABLE#freeBusy TD.attendees
-{ /*position: absolute;*/
- position: fixed;
+{ position: fixed;
padding: 0px .5em;
+ padding-right: 0px;
margin: 0px;
- width: 11em;
+ width: 13em;
border: 0px !important;
- background: #d4d0c8 !important;
+ background-color: #d4d0c8;
overflow: hidden;
left: 0px; }
TABLE#freeBusy TD.attendees IMG
{ position: absolute;
left: 0em;
- top: .5em; }
+ top: 0.5em; }
TABLE#freeBusy TD.attendees INPUT
-{ width: 10em;
+{ width: 11.5em;
margin: 0px;
- margin-left: 10px; }
+ margin-left: 5px; }
TABLE#freeBusy TR.freeBusyHeader2 TH
{ font-weight: normal; }
{ margin: 5px; }
TABLE#addressList
-{ border: 1px solid #333;
- border-bottom: 1px solid #aaa;
- border-right: 1px solid #ccc;
+{ border-bottom: 1px solid #fff;
+ border-right: 1px solid #fff;
+ border-top: 1px solid #444;
+ border-left: 1px solid #444;
border-spacing: 0px;
margin: 0px;
padding: 0px;
DIV.shadow4.css
{ filter: alpha(opacity=40); }
+
+/* UIxAppointmentEditor */
+
+SPAN.content A
+{ line-height: 2.5em; }
+
+SPAN.content > INPUT.textField
+{ width: 99%; }
+
+/* UIxAttendeesEditor */
+
+DIV#freeBusyView
+{ border-bottom: 1px solid #fff;
+ border-right: 1px solid #fff;
+ border-top: 2px solid #222;
+ border-left: 2px solid #222;
+ left: 0.5em;
+ margin-left: 0.5em; }
+
+TABLE#freeBusy TH.attendees,
+TABLE#freeBusy TD.attendees
+{ background-color: #fff !important;
+ padding-right: 5px;
+ padding-left: 0px; }
+
+TABLE#freeBusy TD.attendees INPUT
+{ border-bottom: 1px solid #ccc;
+ border-right: 1px solid #ccc; }
\ No newline at end of file