Ignore:
Timestamp:
Jan 24, 2011, 12:04:13 PM (15 years ago)
Author:
Silvan Scherrer
Message:

Samba Client 2.1: more errno fixes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/client/src/ndpsmb.c

    r521 r528  
    966966                                }
    967967                        }
    968                         else
    969                         {
     968                       
     969                        if (rc == NO_ERROR)                     {
    970970                                finfo.easize = -1;
    971971                                getfindinfoL(pConn, plist, &finfo, 0, NULL);
    972972                        }
    973                         if (rc == ERROR_FILE_NOT_FOUND)
     973                        else if (rc == ERROR_FILE_NOT_FOUND)
    974974                        {
    975975                                // now try the upper path
    976                                 char * p = ph->fsphStrChr(finfo.fname, '\\');
     976                                char * p = ph->fsphStrRChr(finfo.fname, '\\');
    977977                                if (p && p > finfo.fname)
    978978                                {
    979979                                        *p = 0;
    980980                                        rc = smbwrp_getattr( &pRes->srv, pConn->cli, &finfo);
    981                                         if (rc)
     981                                        debuglocal(9,"NdpQueryPathInfo upper path in <%s>, rc = %d\n",  finfo.fname, rc);
     982                                        if (rc == NO_ERROR)
    982983                                        {       
    983                                             debuglocal(9,"NdpQueryPathInfo upper path in <%s>, retry = %d\n",  finfo.fname, retry);
    984                                             rc = rc ? ERROR_PATH_NOT_FOUND : ERROR_INVALID_PARAMETER;
     984                                            rc = (finfo.attr & FILE_DIRECTORY) !=0 ?
     985                                                ERROR_PATH_NOT_FOUND :
     986                                                ERROR_INVALID_PARAMETER;
     987                                        }
     988                                        else if (rc != ERROR_REM_NOT_LIST)
     989                                        {
     990                                              rc = ERROR_PATH_NOT_FOUND;
    985991                                        }
    986992                                }
Note: See TracChangeset for help on using the changeset viewer.