|
@@ -394,6 +394,46 @@ bool Editor::nachricht( SKlient *k )
|
|
}
|
|
}
|
|
return 1;
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
+ case 0xC: // Add Resource
|
|
|
|
+ {
|
|
|
|
+ k->sendeEncrypted( "\1", 1 );
|
|
|
|
+ Datei d;
|
|
|
|
+ d.setDatei( Text( pfad.getText() ) + "/resource" );
|
|
|
|
+ RCArray<Text> *list = d.getDateiListe();
|
|
|
|
+ int nId = 0;
|
|
|
|
+ bool found = 0;
|
|
|
|
+ do
|
|
|
|
+ {
|
|
|
|
+ nId++;
|
|
|
|
+ found = 0;
|
|
|
|
+ for( auto t = list->getIterator(); t; t++ )
|
|
|
|
+ {
|
|
|
|
+ if( t->istGleich( Text( nId ) + ".r" ) )
|
|
|
|
+ {
|
|
|
|
+ found = 1;
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ } while( found );
|
|
|
|
+ list->release();
|
|
|
|
+ unsigned char len = 0;
|
|
|
|
+ k->getNachrichtEncrypted( (char *)&len, 1 );
|
|
|
|
+ char *path = new char[ len + 1 ];
|
|
|
|
+ path[ len ] = 0;
|
|
|
|
+ k->getNachrichtEncrypted( path, len );
|
|
|
|
+ d.setDatei( Text( pfad.getText() ) + "/resource/" + nId + ".r" );
|
|
|
|
+ if( d.open( Datei::Style::schreiben ) )
|
|
|
|
+ {
|
|
|
|
+ d.schreibe( (char *)& len, 1 );
|
|
|
|
+ d.schreibe( path, len );
|
|
|
|
+ d.close();
|
|
|
|
+ k->sendeEncrypted( "\1", 1 );
|
|
|
|
+ k->sendeEncrypted( (char *)& nId, 4 );
|
|
|
|
+ return 1;
|
|
|
|
+ }
|
|
|
|
+ err = "Fehler beim schreiben der Datei.";
|
|
|
|
+ return 0;
|
|
|
|
+ }
|
|
default:
|
|
default:
|
|
err = "Unbekannte Nachricht. Error Code: " __FILE__ ":";
|
|
err = "Unbekannte Nachricht. Error Code: " __FILE__ ":";
|
|
err += __LINE__;
|
|
err += __LINE__;
|