]> arthur.barton.de Git - netatalk.git/blobdiff - bin/megatron/nad.c
add a SFM compatible format for adouble
[netatalk.git] / bin / megatron / nad.c
index 8f4fbf9fe562eb23392447bb5712323e7fb79721..f9aab5d5335c9bc9134c11fd5f13d4e8c0959d9d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: nad.c,v 1.13 2006-09-18 01:06:44 didg Exp $
+ * $Id: nad.c,v 1.15 2006-09-29 09:39:16 didg Exp $
  */
 
 #ifdef HAVE_CONFIG_H
@@ -317,7 +317,7 @@ static char *utompathiconv(char *upath)
     char        *m, *u;
     u_int16_t    flags = CONV_IGNORE | CONV_UNESCAPEHEX;
     size_t       outlen;
-    static char         mpath[MAXPATHLEN];
+    static char         mpath[MAXPATHLEN +2]; /* for convert_charset dest_len parameter +2 */
 
     m = mpath;
     outlen = strlen(upath);
@@ -352,7 +352,7 @@ char *mtoupathiconv(char *mpath)
     size_t       inplen;
     size_t       outlen;
     u_int16_t    flags = 0;
-    static char         upath[MAXPATHLEN];
+    static char         upath[MAXPATHLEN +2]; /* for convert_charset dest_len parameter +2 */
 
     if ( *mpath == '\0' ) {
         return( "." );
@@ -451,7 +451,7 @@ int nad_open( path, openflags, fh, options )
        initvol(path);
        strcpy( nad.adpath[0], path );
        strcpy( nad.adpath[1], 
-               nad.ad.ad_path( nad.adpath[0], ADFLAGS_DF|ADFLAGS_HF ));
+               nad.ad.ad_ops->ad_path( nad.adpath[0], ADFLAGS_HF ));
        for ( fork = 0 ; fork < NUMFORKS ; fork++ ) {
            if ( stat( nad.adpath[ fork ], &st ) < 0 ) {
                if ( errno == ENOENT ) {
@@ -479,7 +479,7 @@ int nad_open( path, openflags, fh, options )
        strcpy( nad.macname, fh->name );
        strcpy( nad.adpath[0], mtoupath( nad.macname ));
        strcpy( nad.adpath[1], 
-               nad.ad.ad_path( nad.adpath[0], ADFLAGS_DF|ADFLAGS_HF ));
+               nad.ad.ad_ops->ad_path( nad.adpath[0], ADFLAGS_HF ));
 #if DEBUG
     fprintf(stderr, "%s\n", nad.macname);
     fprintf(stderr, "%s is adpath[0]\n", nad.adpath[0]);
@@ -691,7 +691,7 @@ int nad_header_write( fh )
 #endif /* HEXOUTPUT */
 
     nad.offset[ DATA ] = nad.offset[ RESOURCE ] = 0;
-    ad_flush( &nad.ad, ADFLAGS_DF|ADFLAGS_HF );
+    ad_flush( &nad.ad );
 
     return( 0 );
 }
@@ -763,7 +763,7 @@ int                 status;
 {
     int                        rv;
     if ( status == KEEP ) {
-       if (( rv = ad_flush( &nad.ad, ADFLAGS_DF|ADFLAGS_HF )) < 0 ) {
+       if (( rv = ad_flush( &nad.ad )) < 0 ) {
            fprintf( stderr, "nad_close rv for flush %d\n", rv );
            return( rv );
        }